addc 或 a (添加搬运) 指令
.
用途
添加两个通用寄存器的内容,并将结果放入通用寄存器中
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RT |
| 11 - 15 | 亚美尼亚共和国 |
| 16 - 20 | 经常预算 |
| 21 | OE |
| 22 - 30 | 10 |
| 31 | Rc |
描述
addc 和 a 指令将通用寄存器 (GPR) RA 和 GPR RB 的内容总和放入目标 GPR RT。
addc 指令有四种语法形式。 每种语法形式对 "条件寄存器" 字段 0 和 "定点异常寄存器" 都有不同的影响。
a 指令有四种语法形式。 每种语法形式对 "条件寄存器" 字段 0 和 "定点异常寄存器" 都有不同的影响。
| 项 | 描述 | |||
|---|---|---|---|---|
| 语法表单 | 溢出异常 (OE) | 定点异常寄存器 | 记录位 (rc) | 条件寄存器字段 0 |
| 附加组件 | 0 | CA | 0 | 无 |
| addc。 | 0 | CA | 1 | LT ,GT, EQ 和 SO |
| 附加组件 | 1 | SO , OV 和 CA | 0 | 无 |
| addco。 | 1 | SO , OV 和 CA | 1 | LT ,GT, EQ 和 SO |
| a | 0 | CA | 0 | 无 |
| a. | 0 | CA | 1 | LT ,GT, EQ 和 SO |
| ao | 1 | SO , OV 和 CA | 0 | 无 |
| 奥 | 1 | SO , OV 和 CA | 1 | LT ,GT, EQ 和 SO |
addc 指令的四种语法形式和 a 指令的四种语法形式始终会影响定点异常寄存器中的 Carry 位 (CA)。 如果语法表单将溢出异常 (OE) 位设置为 1 ,那么该指令会影响定点异常寄存器中的摘要溢出 (SO) 和溢出 (OV) 位。 如果语法格式将记录 (Rc) 位设置为 1 ,那么指令会影响条件寄存器字段 0 中的 "小于 (LT) 0" , "大于 (GT) 0" , "等于 (EQ) 0" 和 "摘要溢出 (SO)" 位。
参数
| 项 | 描述 |
|---|---|
| RT | 指定存储操作结果的目标通用寄存器。 |
| RA | 指定用于操作的源通用寄存器。 |
| 经常预算 | 指定用于操作的源通用寄存器。 |
示例
- 以下代码将 GPR 4 的内容添加到 GPR 10 的内容中,并将结果存储在 GPR 6 中:
# Assume GPR 4 contains 0x9000 3000. # Assume GPR 10 contains 0x8000 7000. addc 6,4,10 # GPR 6 now contains 0x1000 A000. - 以下代码将 GPR 4 的内容添加到 GPR 10 的内容中,将结果存储在 GPR 6 中,并设置条件寄存器字段 0 以反映操作结果:
# Assume GPR 4 contains 0x7000 3000. # Assume GPR 10 contains 0xFFFF FFFF. addc. 6,4,10 # GPR 6 now contains 0x7000 2FFF. - 以下代码将 GPR 4 的内容添加到 GPR 10 的内容中,将结果存储在 GPR 6 中,并在 "定点异常寄存器" 中设置 "摘要溢出" , "溢出" 和 "携带" 位以反映操作结果:
# Assume GPR 4 contains 0x9000 3000. # Assume GPR 10 contains 0x7B41 92C0. addco 6,4,10 # GPR 6 now contains 0x0B41 C2C0. - 以下代码将 GPR 4 的内容添加到 GPR 10 的内容中,将结果存储在 GPR 6 中,并在 "定点异常寄存器" 和 "条件寄存器" 字段 0 中设置 "摘要溢出" , "溢出" 和 "Carry" 位以反映操作结果:
# Assume GPR 4 contains 0x8000 0000. # Assume GPR 10 contains 0x8000 7000. addco. 6,4,10 # GPR 6 now contains 0x0000 7000.