久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM指令尋址方式之: 數據處理指令的尋址方式

ARM指令尋址方式之: 數據處理指令的尋址方式

作者: 時間:2013-09-13 來源:網絡 收藏

本文引用地址:http://cqxgywz.com/article/257084.htm

10.Rm>, ROR Rs>

(1)編碼格式

指令的編碼格式如圖4.11所示。

圖4.11 ——寄存器循環右移尋址編碼格式

指令的操作數由寄存器Rm的數值循環右移一定的位數。移位的位數由Rs的最低8位bits[7∶0]決定。當Rs[7∶0]=0時,指令的操作數為寄存器Rm的值,循環器的進位值為CPSR中的C條件標志位;否則,循環器的進位值為Rm最后被移出的位。

(2)語法格式

opcode> {cond>} {S} Rd>,Rn>,Rm>,ROR Rs>

其中:

· Rm>為指令被移位的寄存器;

· ROR為循環右移操作標識;

· Rs>為包含循環右移位數的寄存器。

(3)操作偽代碼

if Rs[7:0] = = 0 then

shifter_operand = Rm

shifter_carry_out = C flag

else if Rs[4:0] == 0 then

shifter_operand = Rm

shifter_carry_out = Rm[31]

else

shifter_operand = Rm Rotate_Right Rs[4:0]

shifter_carry_out = Rm[Rs[4:0] - 1]

(4)說明

如果程序計數器r15被用作Rd、Rm、Rn或Rs中的任意一個,則指令的執行結果不可預知。

11.Rm>, RRX

(1)編碼格式

指令的編碼格式如圖4.12所示。

圖4.12 ——擴展右移尋址編碼格式

指令的操作數為寄存器Rm的數值右移一位,并用CPSR中的C條件標志位填補空出的位。CPSR中的C條件標志位則用移出的位代替。

(2)語法格式

opcode> {cond>} {S} Rd>,Rn>,Rm>,RRX

其中:

· Rm>為指令被移位的寄存器;

· RRX為擴展的循環右移操作。

(3)操作偽代碼

shifter_operand = (C flag logical_shift_left 31) OR (Rm logical_shift_Right 1)

shifter_carry_out = Rm[0]

(4)說明

① 此種尋址方式的編碼形式和“ROR #0”一致。

② 如果程序計數器r15被用作Rd、Rm、Rn或Rs中的任意一個,則指令的執行結果不可預知。

③ 可以實現ADC指令的功能。


上一頁 1 2 3 4 5 6 7 下一頁

評論


相關推薦

技術專區

關閉