IA
start_addr = basereg
end_addr = basereg + (Bit_Number_Of(reglist) * 4) -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 |
0 |
1 |
S |
W |
L |
basereg |
reglist |