subf (减自) 指令

用途

减去两个通用寄存器的内容,并将结果放入第三个通用寄存器中。

注: 仅在 PowerPC® 体系结构中支持 subf 指令。

语法

位数 VALUE
0 - 5 31
6 - 10 RT
11 - 15 RA
16 - 20 经常预算
21 OE
22 - 30 40
31 Rc
PowerPC® 
苏夫 资源, RA, 经常预算
苏夫 资源, RA, 经常预算
苏福 资源, RA, 经常预算
子信息。 资源, RA, 经常预算

有关更多信息,请参阅 定点算术指令的扩展助记符

描述

苏夫 指令将通用寄存器 (GPR 1 RA 和 1 的内容的一个补充添加到 GPR 经常预算 的内容,并将结果存储在目标 GPR 资源中。

苏夫 指令具有四种语法形式。 每个语法表单对 "条件 0 字段 0" 和 "定点异常寄存器" 具有不同的影响。

描述
语法表单 溢出 异常 (OE) 固定点 异常寄存器 记录 位 (Rc) 条件 注册字段 0
苏夫 0 0
苏夫 0 1 LT ,GT, EQ , SO
苏福 1 SO , OV , CA 0
子信息。 1 SO , OV , CA 1 LT ,GT, EQ , SO

苏夫 指令的四种语法形式从不影响固定点异常寄存器中的 Carry 位 (CA)。 如果语法格式将 "溢出异常" (OE) 位 1 为 1 ,那么指令会影响 "定点异常" 寄存器中的 "摘要溢出" (SO) 和 "溢出" (OV) 位。 如果语法格式将记录 (Rc) 位设置为 1 , 1 指令会影响 "条件寄存器字段 0" 中的 "小于 (LT) 0" , "大于 (GT) 0" , "等于 (EQ) 0" 和 "汇总溢出 (SO)" 位。

参数

描述
RT 指定用于存储操作结果的目标通用寄存器。
RA 指定 EA 计算的源通用寄存器。
经常预算 指定 EA 计算的源通用寄存器。

示例

  1. 以下代码将 GPR 4 的内容从 GPR 4 的内容中减去,并将 6 存储在 GPR 6 中:
    
    # Assume GPR 4 contains 0x8000 7000.
    # Assume GPR 10 contains 0x9000 3000.
    subf 6,4,10
    # GPR 6 now contains 0x0FFF C000.
    
  2. 以下代码从 GPR 10 的内容中减去 GPR 4 的内容,将结果存储在 GPR 6 中,并设置 "条件寄存器字段 0":
    
    # Assume GPR 4 contains 0x0000 4500.
    # Assume GPR 10 contains 0x8000 7000.
    subf. 6,4,10
    # GPR 6 now contains 0x8000 2B00.
    
  3. 以下代码从 GPR 10 的内容中减去 GPR 4 的内容,将结果存储 6 GPR 6 中,并将 "摘要溢出" 和 "溢出" 位设置在 "定点异常寄存器" 中以反映操作的结果:
    
    # Assume GPR 4 contains 0x8000 0000.
    # Assume GPR 10 contains 0x0000 4500.
    subfo 6,4,10
    # GPR 6 now contains 0x8000 4500.
    
  4. 以下代码从 GPR 10 的内容中减去 GPR 4 的内容,将结果存储在 GPR 6 中,并在定点异常寄存器和条件寄存器字段 0 中设置 0 摘要溢出 "和" 溢出 " 位以反映操作的结果:
    
    # Assume GPR 4 contains 0x8000 0000.
    # Assume GPR 10 contains 0x0000 7000.
    subfo. 6,4,10
    # GPR 6 now contains 0x8000 7000.