1. Rekisterin siirtokäskyt

1.1. Dokumentin merkintätavat

Merkintä: Rd, Rn tarkoittavat ARM-rekistereitä R0-R15. immN tarkoittaa välitöntä arvoa, jonka leveys on N bittiä. Nämä käskyt vaikuttavat ehtolippuihin.

1.2. Rekisterin siirrot

Kun käytetään välittömiä arvoja, ne laajennetaan nollilla 32 bittiin. Näin mov(R0, 0xff) asettaa R0:n arvoon 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 kirjoittaa välittömän arvon kohderekisterin ylempään puolisanaan. Se ei vaikuta alemman puolisanan sisältöön.

  • movwt(Rd, imm32) Rd = imm32

movwt on pseudokäsky: MicroPythonin assembler tuottaa movw -käskyn ja sitä seuraavan movt -käskyn 32-bittisen arvon siirtämiseksi Rd:hen.