定数を使用するインラインアセンブラ命令の展開

定数オペランドを伴う命令で使用される定数は、その命令で許容されている値に制限されません。代わりに、コンパイラにより、命令は同等の効果がある命令のシーケンスに変換されます。以下に例を示します。

ADD r0,r0,#1023

上記の命令は、以下のように変換されます。

ADD r0,r0,#1024
SUB r0,r0,#1

展開の別の例を示します。

MOV rn,0x12345678

コプロセッサ命令を除き、定数オペランドを伴うすべての ARM 命令は命令の展開をサポートします。また、MUL 命令は、第 3 オペランドが定数である場合、加算とシフトのシーケンスに展開できます。

展開した命令で CPSR を更新すると、以下の効果があります。

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0472BJ
Non-ConfidentialID011811