レジスタへのイミディエート値のロード

ARM 命令および Thumb 命令では、32 ビット幅しか使用できません。MOV 命令および MVN 命令を使用すると、命令セットでサポートされているイミディエート値をレジスタにロードできます。一部の 32 ビット値は、1 つの 32 ビット命のイミディエートオペランドとして表現できません。そうした値は、1 つの命令でメモリからロードできます。

ARMv6T2 以降のアーキテクチャでは、MOV 命令を実行してから MOVT を実行することによって、任意の 32 ビットイミディエート値をレジスタにロードすることができます。疑似命令の MOV32 を使用すると、命令シーケンスを作成できます。

また、LDR 疑似命令を使用して、イミディエート値をレジスタにロードすることもできます。

多くの汎用イミディエート値は、別のロード命令を使用しなくても、データ処理命令内にオペランドとして直接含めることができます。16 ビット Thumb 命令にオペランドとして含めることができるイミディエート値の範囲は、大幅に狭くなります。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473EJ
Non-ConfidentialID081711