シフトが任意に実行されるレジスタとしての Operand2

Operand2 レジスタは次の形式で指定できます。

Rm {, shift}

各パラメータには以下の意味があります。

Rm

第 2 オペランドのデータを保持するレジスタです。

shift

任意に指定できる、定数または Rm に適用されるレジスタ制御シフト量です。以下の値を指定できます。

ASR #n

n ビット算術右シフト、1 ≤ n ≤ 32。

LSL #n

n ビット論理左シフト、1 ≤ n ≤ 31。

LSR #n

n ビット論理右シフト、1 ≤ n ≤ 32。

ROR #n

n ビット右ロテート、1 ≤ n ≤ 31。

RRX

拡張付き 1 ビット右ロテート。

type Rs

レジスタ制御シフトは、ARM コードのみで使用可能です。各パラメータには以下の意味があります。

type

ASRLSLLSR、または ROR のいずれかを指定します。

Rs

シフト量を渡すレジスタを指定します。最下位バイトのみが使用されます。

-

省略した場合、シフトは行われず、LSL #0 を指定した場合と同等になります。

シフトを省略するか、LSL #0 を指定した場合、Rm の値が命令で使用されます。

シフトを指定した場合、シフトは Rm の値に適用され、結果の 32 ビット値が命令で使用されます。ただし、レジスタ Rm の値は変更されません。また、シフトと共にレジスタを指定した場合は、特定の命令での使用時にキャリーフラグが更新されます。

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