Data Transfer
Transfer Types
Moving Data
Copy value of Rm to Rd
Low and High registers
MOV <Rd>, <Rm>
Only low registers
MOVS <Rd>, <Rm>
Exampes
address opcode instruction comment
00000002 4621 MOV R1,R4 ; low reg to low reg
Loading Literals
Immediate Data
- Copy immediate 8-bit value (literal) to register (only low registers)
- 8 Bit literal is part of the opcode (imm8)
- Registerbits 31 to 8 set to 0
MOVS <Rd>, #<imm8>
Assembler Directive
- Symbolic definitions of literals and constants
- Comparable to #define in C
MY_CONST8 EQU 0x12
MOVS R1, #MY_CONSTS
Load - LDR (literal)
- Indirect access relative to PC
- PC offset
- If PC not word-aligned, align on next upper word-address
LDR <Rt>. [PC, #<imm>]
Pseudo Instruction
LDR R3,myLit
myList DCD 0x12345678