1. 注册移动指令

1.1. 文档约定

符号:表示ARM寄存器R0-R15。表示具有N位宽度的立即值。这些指令影响条件标志。Rd, Rn immN

1.2. 注册移动

在使用立即数的情况下,这些零扩展到 32 位。因此 将 R0 设置为 255。 mov(R0, 0xff)

  • mov(Rd, imm8) Rd = imm8

  • mov(Rd, Rn) Rd = Rn

  • movw(Rd, imm16) Rd = imm16

  • movt(Rd, imm16) Rd = (Rd & 0xffff) | (imm16 << 16)

movt 将立即数写入目标寄存器的顶部半字。它不影响底部半字的内容。

  • movwt(Rd, imm32) Rd = imm32

movwt 是一条伪指令:MicroPython 汇编程序发出 a movw 后跟 a movt以将 32 位值移动到 Rd 中。