1. Instrukcije premještanja registara

1.1. Konvencije dokumenta

Notacija: Rd, Rn označavaju ARM registre R0-R15. immN označava neposrednu vrijednost širine N bitova. Ove instrukcije utječu na uvjetne zastavice.

1.2. Premještanja registara

Gdje se koriste neposredne vrijednosti, one se proširuju nulama na 32 bita. Tako će mov(R0, 0xff) postaviti R0 na 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 upisuje neposrednu vrijednost u gornju poluriječ odredišnog registra. Ne utječe na sadržaj donje poluriječi.

  • movwt(Rd, imm32) Rd = imm32

movwt je pseudoinstrukcija: MicroPython asembler emitira movw praćen s movt za premještanje 32-bitne vrijednosti u Rd.