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

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

3. メモリへのレジスタのストア

3.1. この文書の表記規則

表記: Rt, Rn は、特に記載がない限り ARM のレジスタ R0〜R7 を表します。 immN は幅 N ビットの即値を表すので、 imm5 は 0〜31 の範囲に制限されます。 [Rn + imm5] は、Rn とオフセット imm5 を加えて得られるメモリアドレスの内容です。オフセットはバイト単位です。これらの命令は条件フラグに影響しません。

3.2. レジスタのストア

  • str(Rt, [Rn, imm7]) [Rn + imm7] = Rt 32 ビットのワードをストア

  • strb(Rt, [Rn, imm5]) [Rn + imm5] = Rt 1バイト (b0-b7) をストア

  • strh(Rt, [Rn, imm6]) [Rn + imm6] = Rt 16 ビットのハーフワード (b0-b15) をストア

指定する即値のオフセットはバイト単位です。したがって str の場合、7 ビットの値により、32 ビットワード境界に整列された値に最大 31 ワードのオフセットでアクセスできます。 strh の場合、6 ビットの値により、16 ビットハーフワード境界に整列された値に最大 31 ハーフワードのオフセットでアクセスできます。