1. Instrukcje przeniesienia rejestru

1.1. Konwencje dokumentu

Notacja: Rd, Rn oznaczają rejestry ARM R0-R15. immN oznacza wartość natychmiastową o szerokości N bitów. Te instrukcje wpływają na flagi warunku.

1.2. Przeniesienia rejestru

Gdy używane są wartości natychmiastowe, są one rozszerzane zerami do 32 bitów. Tak więc mov(R0, 0xff) ustawi 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 zapisuje wartość natychmiastową do górnego półsłowa rejestru docelowego. Nie wpływa na zawartość dolnego półsłowa.

  • movwt(Rd, imm32) Rd = imm32

movwt jest pseudoinstrukcją: assembler MicroPythona emituje movw, po którym następuje movt, aby przenieść 32-bitową wartość do Rd.