1. レジスタ move 命令¶
1.1. ドキュメントの表記規則¶
表記: Rd, Rn は ARM レジスタ R0-R15 を表します。immN は幅 N ビットの即値を表します。これらの命令は条件フラグに影響を与えます。
1.2. レジスタ move¶
即値が使用される場合、それらは 32 ビットにゼロ拡張されます。したがって mov(R0, 0xff) は R0 を 255 に設定します。
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt は即値をデスティネーションレジスタの上位ハーフワードに書き込みます。下位ハーフワードの内容には影響を与えません。
movwt(Rd, imm32)
Rd = imm32
movwt は擬似命令です。MicroPython アセンブラは movw に続いて movt を発行し、32 ビット値を Rd に移動します。