[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 ) 指令。