レジスタへのアクセス

16 ビットの Thumb 命令は、その大半が R0 ~ R7 以外のレジスタにアクセスできません。ごく一部の命令のみが R8 ~ R12、SP、LR、および PC にアクセスできます。レジスタ R0 ~ R7 は Lo レジスタと呼ばれ、レジスタ R8 ~ R12、SP、LR、および PC は Hi レジスタと呼ばれます。

32 ビット Thumb では、すべての命令が R0 ~ R12、および LR にアクセスできます。ただし、いくつかの指定済みのスタック操作命令を除くほとんどの Thumb 命令では、SP を使用できません。PC が役立ついくつかの特定の命令を除くほとんどの Thumb 命令では、PC を使用できません。

ARM 状態では、すべての命令が R0 ~ R12、SP、および LR にアクセスできます。また、ほとんどの命令が PC(R15)にもアクセスできます。ただし、対する Thumb 命令では使用できない方法で、ARM 命令で SP を使用することはお勧めできません。通常、ARM 命令で PC を明示的に使用するのは効果的ではありません。効果的な特定のインスタンスを除き、そうした使用はお勧めできません。分岐命令やロード(リテラル)命令などでの PC の暗黙的な使用は、非推奨ではありません。

MRS 命令を使用してステータスレジスタの内容を汎用レジスタに移動し、通常のデータ処理命令によってその内容を操作することができます。MSR 命令を使用すると、汎用レジスタの内容をステータスレジスタに移動できます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311