シフトが任意に実行されるレジスタとしての 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

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

type

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

Rs

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

-

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

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

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

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814