IB
start_addr = basereg + 4
end_addr = basereg + (Bit_Number_Of(reglist) * 4)
if ConditionPassed (condition) and W == 1 then
basereg = basereg + (Bit_Number_Of(reglist) * 4)
“之前遞增”形成“多重載入與儲存”指令的地址範圍。第一個地址 start_addr 是 basereg 的值加四。後續的地址通過遞增四得到。對於 reglist 中的每個暫存器,需要使用一個地址。最後一個地址 end_addr 是 basereg 值,加上 reglist 包含的暫存器數量乘以四。假設 condition 有一個有效值,且 W 位已置位,則對於 reglist 中指定的每個暫存器,basereg 都遞增四。
31 |
|
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
|
16 |
15 |
|
0 |
condition |
1 |
0 |
0 |
1 |
1 |
S |
W |
L |
basereg |
reglist |