英特爾 XScale(R) 技術主題立即數偏移量 (AM 5)

語法

[basereg, #+/-value*4]

其中:

 basereg

指定包含基址的暫存器。

 value

指定 8 位立即數偏移量,乘以 4 后與 basereg 的值一起使用,以形成地址。

說明

定址模式“立即數偏移量”執行以下操作(偽程式碼說明):

if ConditionPassed (condition) then
if U == 1 then
 addr = basereg + value * 4
else /* U == 0 */
 addr = basereg - value * 4
start_addr = addr
while (NotFinished (coprocessor[cpnum]))
  addr = addr + 4
end_addr = addr

此定址模式建立連續地址序列。對於第一個地址,將立即數偏移量乘以四後加到基址暫存器 basereg 的值,或從中減去。後續地址由前一個地址遞增四得到。這會持續執行到協處理器發出指令結束訊號。這樣,協處理器便可以訪問協處理器定義的數據。

協處理器不得要求進行超過 16 個字的傳輸。

編碼

31

 

 

28

27

26

25

24

23

22

21

20

19

 

 

16

 condition

 1

1

 0

 1

 U

 N

 0

 L

 basereg

15

 

 

12

11

 

 

8

7

 

 

 

 

 

 

0

 cpdest

 cpnum

 value

備註

N 位依賴於協處理器。

L 位表示“載入”( L == 1 ) 或“儲存”( L == 0 ) 指令。
如果 R15 指定為暫存器 basereg,則使用的值是目前指令的地址加 8。

示例

LDC    p6, CR4, [R8, #4]

更多資訊

請參閱定址模式 5:載入與儲存協處理器
請參閱彙編器操作