1. Các lệnh di chuyển thanh ghi#

1.1. Quy ước tài liệu#

Ký hiệu: Rd, Rn biểu thị các thanh ghi ARM R0-R15. immN biểu thị một giá trị tức thì có độ rộng N bit. Các lệnh này ảnh hưởng đến các cờ điều kiện.

1.2. Di chuyển thanh ghi#

Khi các giá trị tức thì được sử dụng, chúng được mở rộng bằng không lên 32 bit. Vì vậy mov(R0, 0xff) sẽ đặt R0 thành 255.

  • mov(Rd, imm8) Rd = imm8

  • mov(Rd, Rn) Rd = Rn

  • movw(Rd, imm16) Rd = imm16

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

movt ghi một giá trị tức thì vào nửa từ cao của thanh ghi đích. Nó không ảnh hưởng đến nội dung của nửa từ thấp.

  • movwt(Rd, imm32) Rd = imm32

movwt là một lệnh giả: trình lắp ráp MicroPython phát ra một movw tiếp theo là một movt để di chuyển một giá trị 32-bit vào Rd.