1. Register move instructions¶
1.1. Document conventions¶
Rd, Rn denote ARM registers R0-R15.
immN denotes an immediate
value having a width of N bits. These instructions affect the condition flags.
1.2. Register moves¶
Where immediate values are used, these are zero-extended to 32 bits. Thus
mov(R0, 0xff) will set R0 to 255.
Rd = imm8
Rd = Rn
Rd = imm16
Rd = (Rd & 0xffff) | (imm16 << 16)
movt writes an immediate value to the top halfword of the destination register. It does not affect the contents of the bottom halfword.
Rd = imm32
movwt is a pseudo-instruction: the MicroPython assembler emits a
movt to move a 32-bit value into Rd.