1. Yazmaç taşıma komutları#

1.1. Belge kuralları#

Gösterim: Rd, Rn R0-R15 ARM yazmaçlarını belirtir. immN N bit genişliğinde anlık (immediate) bir değeri belirtir. Bu komutlar koşul bayraklarını etkiler.

1.2. Yazmaç taşımaları#

Anlık değerlerin kullanıldığı yerlerde, bunlar 32 bite sıfır genişletmesiyle genişletilir. Böylece mov(R0, 0xff) R0’ı 255 olarak ayarlar.

  • mov(Rd, imm8) Rd = imm8

  • mov(Rd, Rn) Rd = Rn

  • movw(Rd, imm16) Rd = imm16

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

movt, hedef yazmacın üst yarım sözcüğüne bir anlık değer yazar. Alt yarım sözcüğün içeriğini etkilemez.

  • movwt(Rd, imm32) Rd = imm32

movwt bir sözde komuttur (pseudo-instruction): MicroPython assembler’ı, 32 bitlik bir değeri Rd’ye taşımak için bir movw ardından bir movt yayar.