新增 (新增) 或 cax (計算位址) 指示

用途

新增兩個通用暫存器的內容。

語法

PowerPC® 
新增 RT RA RB
新增。 RT RA RB
addo RT RA RB
addo。 RT RA RB
POWER ® 系列 
cax RT RA RB
cax。 RT RA RB
caxo RT RA RB
caxo。 RT RA RB
位元 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 指定作業的來源通用暫存器。

範例

  1. 下列程式碼會將 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.
    
  2. 下列程式碼會將 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.
    
  3. 下列程式碼會將 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.
    
  4. 下列程式碼將 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.