英特爾 XScale(R) 技術主題按暫存器循環右移 (AM 1)

語法

op2, ROR op3

其中:

 op2

指定包含要循環移位的值的暫存器。

 ROR

表示循環右移。

 op3

指定包含循環移位值的暫存器。

說明

數據處理運算元“按暫存器循環右移”執行以下操作(偽程式碼說明):

if op3[7:0] == 0 then
  addr_mode = op2
  shifter_carry_out = C Flag
else if op3[4:0] == 0 then
  addr_mode = op2
  shifter_carry_out = op2[31]
else /* op3[4:0] > 0 */
  addr_mode = op2 Rotate_Right op3[4:0]
  shifter_carry_out = op2[op3[4:0] - 1]

數據處理運算元提供按變數值循環移位的暫存器值。

此指令運算元代表暫存器 op2 的值,此值按暫存器 op3 最低有效位元組中的值進行循環右移。循環移位到右端以外時,一些位將插入左側騰出的空位上。最後一個循環移位到右端以外的位是移位器的進位。如果移位量等於 0,則進位是 C 標誌。

編碼

31

 

 

28

27

26

25

24

 

 

21

20

19

 

 

16

 condition

 0

 0

 0

 opcode

 S

 op1

15

 

 

12

11

 

 

8

7

6

5

4

3

 

 

0

 dest

 op3

 0

 1

 1

 1

 op2

 注意

如果 R15 指定為暫存器 destop3op2op1,則結果將會無法預知!

示例

ADC    R9, R5, R0, ROR R5

更多資訊

請參閱定址模式 1:數據處理運算元