1. 寄存器移动指令¶
1.1. 文档约定¶
记法:Rd, Rn 表示 ARM 寄存器 R0-R15。immN 表示位宽为 N 位的立即数。这些指令会影响条件标志。
1.2. 寄存器移动¶
在使用立即数的地方,这些值会被零扩展到 32 位。因此 mov(R0, 0xff) 会将 R0 设置为 255。
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt 将一个立即数写入目标寄存器的高半字。它不影响低半字的内容。
movwt(Rd, imm32)
Rd = imm32
movwt 是一条伪指令:MicroPython 汇编器会发出一个 movw 后跟一个 movt,以将一个 32 位值移入 Rd。