www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Nekaj assembler ukazov... kaj pomenijo?
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
71GA
Član
Član



Pridružen-a: Tor 16 Jun 2009 18:53
Prispevkov: 391
Aktiv.: 2.01
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 16, 2011 11:08 am    Naslov sporočila:  Nekaj assembler ukazov... kaj pomenijo? Odgovori s citatom

Ali lahko kdo na kratko pove, kaj pomeni set ukazov: LDR, DCD, NOP, MSR, SUB, ADD, SWI
Zanima me, ali so to sploh assembler ukazi... Berem namreč knjigo o ARM jedru, ki ma 700+ strani in me zanima nekaj stvari, da se ne bom kar nekaj učil.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.66
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Ned Jan 16, 2011 12:20 pm    Naslov sporočila:   Odgovori s citatom

Da, to so ukazi zbirnika. Razlago teh in še vseh drugih najdeš v ARM Instruction Set-u.

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
71GA
Član
Član



Pridružen-a: Tor 16 Jun 2009 18:53
Prispevkov: 391
Aktiv.: 2.01
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 16, 2011 2:37 pm    Naslov sporočila:   Odgovori s citatom

Mislis v ISA (Instruction Set Architecture). Vem da je tudi vec ISA kot npr. ARMv3, ARMv4T, ARMv5TEJ,... od teh sem izbrskal tudi, da je za moje jedro ARM926ej-s primeren ISA ARMv5TEJ, ki podpira thumb, extended instructions pa jazelle, katerega ne bom potreboval saj ne bom neke jave izvajal zaenkrat se. Res super, ko berem knjigo in sem ravno obdelal registre (pc, cpsr, spsr, r15_res,...), pipeline, ... pa je ravno tole na vrsti in končno vidim malo povezave z assembly jezikom. Upam, da bom kmal znal kaj preprostega sprogramirat.

Se nekaj, kako dostopas do katerega koli GPIO npr. GPIO1, GPIO2,... rad bi namrec zacel malo prizigat/ugasat LED. Kaksen preprost primer bi bil ekstra pa voda na moj mlincek Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
qwertz
Član
Član



Pridružen-a: Ned 01 Jun 2008 11:57
Prispevkov: 2740
Aktiv.: 13.22
Kraj: Vrhnika

PrispevekObjavljeno: Ned Jan 16, 2011 4:54 pm    Naslov sporočila:   Odgovori s citatom

Poglej tukaj.

http://robo.fe.uni-lj.si/~marko/ur/
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14672
Aktiv.: 61.99
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Jan 16, 2011 5:36 pm    Naslov sporočila:   Odgovori s citatom

qwertz je napisal/a:
Poglej tukaj.

http://robo.fe.uni-lj.si/~marko/ur/



Dobra literatura. Applause Imam par primerkov LPC-jev. Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom? Je free za assembler?

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.74
Kraj: Kranj - struževo

PrispevekObjavljeno: Ned Jan 16, 2011 7:21 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom?

Rabiš samo FlashMagic softver (free) in 3,3V signale RX, TX (na primer en FTDI) na UART0. To je čista osnova.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 5.68
Kraj: KOPER

PrispevekObjavljeno: Ned Jan 16, 2011 8:14 pm    Naslov sporočila:   Odgovori s citatom

Zanimiv je članek Marjaža Vidmarja v SE(ne vem katera številka), o programiranju in programatorju za ARM7.
_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14672
Aktiv.: 61.99
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Jan 16, 2011 8:15 pm    Naslov sporočila:   Odgovori s citatom

aly je napisal/a:
Silvo je napisal/a:
Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom?

Rabiš samo FlashMagic softver (free) in 3,3V signale RX, TX (na primer en FTDI) na UART0. To je čista osnova.


Snel, pogledal... to je orodje za programirat. Kako je s prevajalnikom?

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 5.68
Kraj: KOPER

PrispevekObjavljeno: Ned Jan 16, 2011 8:21 pm    Naslov sporočila:   Odgovori s citatom

rudiP je napisal/a:
Zanimiv je članek Marjaža Vidmarja v SE(ne vem katera številka), o programiranju in programatorju za ARM7.


Naslov: Cigotag ali ARM-i na preprost in poceni način
Številka: 152 se
Stran: 24
Leto: 2008
Avtor: Avtor: Matjaž Vidmar, S53MV E-pošta: vidmar.matjaz@gmail.com

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14672
Aktiv.: 61.99
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Jan 16, 2011 8:23 pm    Naslov sporočila:   Odgovori s citatom

rudiP je napisal/a:
rudiP je napisal/a:
Zanimiv je članek Marjaža Vidmarja v SE(ne vem katera številka), o programiranju in programatorju za ARM7.


Naslov: Cigotag ali ARM-i na preprost in poceni način
Številka: 152 se
Stran: 24
Leto: 2008
Avtor: Avtor: Matjaž Vidmar, S53MV E-pošta: vidmar.matjaz@gmail.com


d'oh! Točno, tole sem nekoč snel...

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
qwertz
Član
Član



Pridružen-a: Ned 01 Jun 2008 11:57
Prispevkov: 2740
Aktiv.: 13.22
Kraj: Vrhnika

PrispevekObjavljeno: Ned Jan 16, 2011 8:37 pm    Naslov sporočila:   Odgovori s citatom

http://lea.hamradio.si/~s53mv/
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
71GA
Član
Član



Pridružen-a: Tor 16 Jun 2009 18:53
Prispevkov: 391
Aktiv.: 2.01
Kraj: Ljubljana

PrispevekObjavljeno: Tor Feb 08, 2011 6:45 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
qwertz je napisal/a:
Poglej tukaj.

http://robo.fe.uni-lj.si/~marko/ur/



Dobra literatura. Applause Imam par primerkov LPC-jev. Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom? Je free za assembler?


Kaj ta flash magic je simulator za ARM ali kako? Smile Ali bi to delalo na Linuxu, da bi malo gledal kaj se dogaja z registri v kolikor bi napisal kak program. Se učim assembly pa je v knjigi toliko primerov, katere bi rad stestiral...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
71GA
Član
Član



Pridružen-a: Tor 16 Jun 2009 18:53
Prispevkov: 391
Aktiv.: 2.01
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jul 05, 2011 7:41 pm    Naslov sporočila:   Odgovori s citatom

Ali mi lahko kdo pove, zakaj se ukaz .word hang v zaglavju assembly programa tolikokrat ponovi?

Koda:
.thumb

.word   0x10008000  /* stack top address */
.word   _start      /* 1 Reset */
.word   hang        /* 2 NMI */
.word   hang        /* 3 HardFault */
.word   hang        /* 4 MemManage */
.word   hang        /* 5 BusFault */
.word   hang        /* 6 UsageFault */
.word   hang        /* 7 RESERVED */
.word   hang        /* 8 RESERVED */
.word   hang        /* 9 RESERVED*/
.word   hang        /* 10 RESERVED */
.word   hang        /* 11 SVCall */
.word   hang        /* 12 Debug Monitor */
.word   hang        /* 13 RESERVED */
.word   hang        /* 14 PendSV */
.word   hang        /* 15 SysTick */
.word   hang        /* 16 External Interrupt(0) */
.word   hang        /* 17 External Interrupt(1) */
.word   hang        /* 18 External Interrupt(2) */
.word   hang        /* 19 ...   */
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.74
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Jul 05, 2011 7:57 pm    Naslov sporočila:   Odgovori s citatom

Očitno obstaja nek ukaz ali funkcija po imenu hang. Vrednost je dolžine 16 bitov (word).
To, kar gledaš tu, so implementacije interrupt vektorjev.
Na začetku je napisan naslov, kjer se te konstante začnejo zapisovati.

Ko med delovanjem programa pride do interrupta, procesor s te lokacije vzame naslov (ali izvede ukaz na tej lokaciji, odvisno od proca). V tvojem primeru skoči v proceduro/funkcijo na naslovu po imenu hang. Predvidevam, da tak assemblerski ukaz ne obstaja.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
71GA
Član
Član



Pridružen-a: Tor 16 Jun 2009 18:53
Prispevkov: 391
Aktiv.: 2.01
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jul 05, 2011 11:16 pm    Naslov sporočila:   Odgovori s citatom

Mogoče bolje da celoten program nalimam sem, saj ni tako velik. No vglavnem to naj bi bil blinker za MBED, ki si ga poiskušam razložiti in res je spodaj labela hang: a še vedno ne vem, zakaj bi na začetku tolikokrat skakal na to labelo. Tale assembly je kar precej zakompliciran Smile. Aja namesto [slovenščina ... bla bla ... španska vas] stoji tam b1.

Koda:
.thumb

.word   0x10008000  /* stack top address */
.word   _start      /* 1 Reset */
.word   hang        /* 2 NMI */
.word   hang        /* 3 HardFault */
.word   hang        /* 4 MemManage */
.word   hang        /* 5 BusFault */
.word   hang        /* 6 UsageFault */
.word   hang        /* 7 RESERVED */
.word   hang        /* 8 RESERVED */
.word   hang        /* 9 RESERVED*/
.word   hang        /* 10 RESERVED */
.word   hang        /* 11 SVCall */
.word   hang        /* 12 Debug Monitor */
.word   hang        /* 13 RESERVED */
.word   hang        /* 14 PendSV */
.word   hang        /* 15 SysTick */
.word   hang        /* 16 External Interrupt(0) */
.word   hang        /* 17 External Interrupt(1) */
.word   hang        /* 18 External Interrupt(2) */
.word   hang        /* 19 ...   */

hang:   b .

.thumb_func
dowait:
   ldr r7,=0x10000
dowaitloop:
   sub r7,#1
   bne dowaitloop
   bx lr

.thumb_func
.globl _start
_start:
   ldr r0,=0x2009C022
   ldrb r1,[r0]
   mov r2,#0xB4
   orr r1,r2
   strb r1,[r0]

   ldr r0,=0x2009C03A
   ldr r1,=0x2009C03E
   ldr r2,=0x80
   ldr r3,=0x20
   ldr r4,=0x10
   ldr r5,=0x04

mainloop:
   strb r2,[r0]
   strb r3,[r1]
   strb r4,[r1]
   strb r5,[r1]
   [slovenščina je zame španska vas] dowait
   strb r2,[r1]
   strb r3,[r0]
   strb r4,[r1]
   strb r5,[r1]
   [slovenščina je zame španska vas] dowait
   strb r2,[r1]
   strb r3,[r1]
   strb r4,[r0]
   strb r5,[r1]
   [slovenščina je zame španska vas] dowait
   strb r2,[r1]
   strb r3,[r1]
   strb r4,[r1]
   strb r5,[r0]
   [slovenščina je zame španska vas] dowait
   strb r2,[r1]
   strb r3,[r1]
   strb r4,[r0]
   strb r5,[r1]
   [slovenščina je zame španska vas] dowait
   strb r2,[r1]
   strb r3,[r0]
   strb r4,[r1]
   strb r5,[r1]
   [slovenščina je zame španska vas] dowait
   b mainloop

.end
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 487 dni


Powered by phpBB © 2001, 2005 phpBB Group