arm:armv6-m
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| arm:armv6-m [2020/07/23 10:36] – created utedass | arm:armv6-m [2022/09/12 00:30] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| ====== Registers ====== | ====== Registers ====== | ||
| + | [[https:// | ||
| + | |||
| ^ Register ^ Special function ^ Description | ^ Register ^ Special function ^ Description | ||
| | R0-R12 | | R0-R12 | ||
| | R13 | SP | Stack Pointer | | R13 | SP | Stack Pointer | ||
| | R14 | LR | Link Register stores the Return Link | | | R14 | LR | Link Register stores the Return Link | | ||
| - | | R15 | PC | Program Counter | + | | R15 | PC | Program Counter, stores the address to the <wrap hi> |
| + | |||
| + | ====== Exceptions and interrupts ====== | ||
| + | The vector table, B1.5.3 | ||
| + | |||
| + | |||
| + | ====== Assembler ====== | ||
| + | |||
| + | A comprehensive list of mnemonics (several architectures, | ||
| + | ===== Conditional execution, A6.3 ===== | ||
| + | Instruction mnemonics can be followed by a suffix to specify conditional execution. | ||
| + | [[https:// | ||
| + | ^ cond ^ Mnemonic extension ^ Description | ||
| + | | 0000 | EQ | Equal | ||
| + | | 0001 | NE | Not equal | ||
| + | | 0010 | CS (HS) | Carry set (unsigned higher or same) | C == 1 | | ||
| + | | 0011 | CC (LO) | Carry clear (unsigned lower) | C == 0 | | ||
| + | | 0100 | MI | Minus, negative | ||
| + | | 0101 | PL | Plus, positive or zero | N == 0 | | ||
| + | | 0110 | VS | Overflow | ||
| + | | 0111 | VC | No overflow | ||
| + | | 1000 | HI | Unsigned higher | ||
| + | | 1001 | LS | Unsigned lower or same | C == 0 or Z == 1 | | ||
| + | | 1010 | GE | Signed greater than or equal | N == V | | ||
| + | | 1011 | LT | Signed less than | N != V | | ||
| + | | 1100 | GT | Signed greater than | ||
| + | | 1101 | LE | Signed less than or equal | ||
| + | | 1110 | None (AL) | Always (unconditional) | ||
| + | |||
| + | Example | ||
| + | <code arm> | ||
| + | BNE my_fancy_label | ||
| + | </ | ||
| + | |||
| + | ===== Addressing ===== | ||
| + | The ARMv6-M only supports offset addressing. | ||
| + | |||
| + | The syntax is ''< | ||
| + | |||
| + | ===== Instructions, | ||
| + | There is a comprehensive list of instructions for the ARMv6-M in chapter A6.7. | ||
| - | ====== Assembler instructions ====== | + | A good tutorial at [[https:// |
| - | A4.1.2 p62 | ||
arm/armv6-m.1595500569.txt.gz · Last modified: 2022/09/12 00:30 (external edit)
