新增 (新增) 或 cax (計算位址) 指示
用途
新增兩個通用暫存器的內容。
語法
位元 | VALUE |
---|---|
0 - 5 | 31 |
6 - 10 | RT |
11 - 15 | RA |
16 - 20 | RB |
21 | OE |
22 - 30 | 266 |
31 | RC |
說明
add 和 cax 指令會將一般用途暫存器 (GPR) RA 和 GPR RB 的內容總和放入目標 GPR RT中。
add 和 cax 指令有四種語法格式。 每一個語法表單對「條件暫存器欄位 0」和「固定點異常狀況暫存器」有不同的影響。
項目 | 說明 | |||
---|---|---|---|---|
語法表單 | 溢位異常狀況 (OE) | 固定點 異常狀況登錄 | 記錄 位元 (Rc) | 條件暫存器欄位 0 |
新增 | 0 | 無 | 0 | 無 |
新增。 | 0 | 無 | 1 | LT、GT、EQ、SO |
addo | 1 | SO、OV | 0 | 無 |
addo。 | 1 | SO、OV | 1 | LT、GT、EQ、SO |
cax | 0 | 無 | 0 | 無 |
cax。 | 0 | 無 | 1 | LT、GT、EQ、SO |
caxo | 1 | SO、OV | 0 | 無 |
caxo。 | 1 | SO、OV | 1 | LT、GT、EQ、SO |
add 指令的四種語法形式,以及 cax 指令的四種語法形式,絕不會影響「固定點異常狀況暫存器」中的歸入位元 (CA)。 如果語法表單將「溢位異常狀況 (OE)」位元設為 1 ,則指令會影響「固定點異常狀況暫存器」中的「摘要溢位 (SO)」及「溢位 (OV)」位元。 如果語法表單將「記錄 (Rc)」位元設為 1 ,則指令會影響「條件暫存器欄位 0」中的「小於 (LT)」零、「大於 (GT)」零、「等於 (EQ)」零及「摘要溢位 (SO)」位元。
參數
項目 | 說明 |
---|---|
RT | 指定儲存作業結果的目標一般用途暫存器。 |
RA | 指定作業的來源通用暫存器。 |
RB | 指定作業的來源通用暫存器。 |
範例
- 下列程式碼會將 GPR 6 中的位址或內容新增至 GPR 3 中的位址或內容,並將結果儲存在 GPR 4 中:
# Assume GPR 6 contains 0x0004 0000. # Assume GPR 3 contains 0x0000 4000. add 4,6,3 # GPR 4 now contains 0x0004 4000.
- 下列程式碼會將 GPR 6 中的位址或內容新增至 GPR 3 中的位址或內容,將結果儲存在 GPR 4 中,並設定「條件暫存器欄位 0」以反映作業的結果:
# Assume GPR 6 contains 0x8000 7000. # Assume GPR 3 contains 0x7000 8000. add. 4,6,3 # GPR 4 now contains 0xF000 F000.
- 下列程式碼會將 GPR 6 中的位址或內容新增至 GPR 3 中的位址或內容,將結果儲存在 GPR 4 中,並在「固定點異常暫存器」中設定「摘要溢位」、「溢位」及「進位」位元,以反映作業的結果:
# Assume GPR 6 contains 0xEFFF FFFF. # Assume GPR 3 contains 0x8000 0000. addo 4,6,3 # GPR 4 now contains 0x6FFF FFFF.
- 下列程式碼將 GPR 6 中的地址或內容新增至 GPR 3 中的地址或內容,將結果儲存在 GPR 4 中,並在固定點異常暫存器和條件暫存器欄位 0 中設定「摘要溢位」、「溢位」和「進位」位元,以反映作業結果:
# Assume GPR 6 contains 0xEFFF FFFF. # Assume GPR 3 contains 0xEFFF FFFF. addo. 4,6,3 # GPR 4 now contains 0xDFFF FFFE.