このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

1. レジスタの移動命令

1.1. この文書の表記規則

表記: Rd, Rn は ARM のレジスタ R0〜R15 を表します。 immN は幅 N ビットの即値を表します。これらの命令は条件フラグに影響します。

1.2. レジスタの移動

即値を使う場合、値はゼロ拡張されて 32 ビットになります。したがって mov(R0, 0xff) は R0 を 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 は、即値を宛先レジスタの上位ハーフワードに書き込みます。下位ハーフワードの内容には影響しません。

  • movwt(Rd, imm32) Rd = imm32

movwt は擬似命令です。MicroPython のアセンブラは、32 ビットの値を Rd に移動するために movw に続けて movt を出力します。