V tabulce níže se nachází zjednodušená instrukční sada, která bude použita v rámci výuky předmětu mikrokontroléry. Kompletní dokumentaci naleznete v PDF dokumentu Instrukční sada STM32F4.
ARM Cortex-A Procedure Call Standard
Instrukce | Argument(y) | Popis | Příklad | Význam | Ovlivněné příznaky (Flags) |
---|---|---|---|---|---|
AND | {Rd}, Rn, Op2 | Logický AND | AND R0, R1 | R0 = R0 AND R1 | N,Z,C |
B{cond} | label | Skok {conditional} | B loop BCC loop BNE loop | Nepodmíněný skok na loop Skok, pokud Carry flag (C) je nula Skok, pokud Zero flag (Z) je nula | - |
BL{cond} | label | Skok s návratem {conditional} | BL podprogram | Volání podprogramu, návratová adresa se uloží do LR | - |
BX | Rm | Nepřímý skok | BX LR | Návrat z podprogramu na adresu uloženou v registru Rm | - |
EOR | {Rd}, Rn, Op2 | XOR | EOR R0, R1 | R0 = R0 XOR R1 | N,Z,C |
LDR | Rt, [Rn, #offset] | Načti word do registru | LDR R0, [R1, R2] LDR R0, =constant | R0 = hodnota na adrese (R1+R2) R0 = constant | - |
LSR, LSL | {Rd}, Rn, <Rs / #n> | Logický posuv vpravo/vlevo | LSR R0, R0, #1 | R0 = R0 » 1 | N,Z,C |
ORR | {Rd}, Rn, Op2 | Logický OR | OR R0, R1 | R0 = R0 OR R1 | N,Z,C |
POP | reglist | Pop registr/s ze zásobníku | POP {R0-R5} | Načti 6 registrů R0-R5 ze zásobníku | - |
PUSH | reglist | Push register/s na zásobník | PUSH {R0-R5} | Ulož 6 registrů R0-R5 do zásobníku | - |
STR | Rt, [Rn, #offset] | Zapiš word do registru | STR R0, [R1, R2] | Ulož R0 na addru (R1+R2) | - |
SUB | {Rd}, Rn, Op2 | Odečti | SUB R0, #1 | R0 = R0 - 1 | N,Z,C,V |
Pro skok (B{cond}) je třeba uvést podmínku za které se má skok provést. Kompletní tabulku lze nalézt v datasheetu na str. 67