基本助记符和扩展助记符的分支条件指令的 BI 操作数

基本和扩展助记符的分支条件指令的 BI 操作数。

BI 操作数在 "条件寄存器" 中指定位 (0:31) 以进行条件比较。 位由比较指令设置。 条件寄存器中的位分组为八个 4 位字段。 0 通过 CR 字段 7 将这些字段命名为 CR 字段 (CR0...CR7). 每个字段的位解释如下:

Bit 描述
0 小于; 浮点小于
1 大于; 浮点大于
2 等于; 浮点等于
3 摘要溢出; 浮点未排序

通常,基本和扩展分支条件助记符表的 BI 操作数符号中显示的符号定义为在 BI 操作数中使用。 汇编程序支持 BI 操作数的表达式。 表达式是值和以下符号的组合。

表 1. 基本和扩展分支条件助记符的 BI 操作数符号
符号 含义
lt 0 小于
格特 1 大于
eq 2 相等
so 3 摘要溢出
3 无序 (浮点比较后)
cr0 0 CR 字段 0
cr1 1 CR 字段 1
cr2 2 CR 字段 2
cr3 3 CR 字段 3
cr4 4 CR 字段 4
cr5 5 CR 字段 5
cr6 6 CR 字段 6
cr7 7 CR 字段 7

在仅合并了 BO 字段的基础或扩展助记符中对 BI 字段使用表达式时,应该将 CR 字段编号乘以 4 以获取正确的 CR 位,因为每个 CR 字段都有四个位。

  1. 要减少 CTR ,请仅在 CTR 不为零且 CR5 中的条件相等时进行分支:
    
    bdnzt   4*cr5+eq, target_addr
    
    它等同于:
    
    bc   8, 22, target_addr
    
  2. 要减少 CTR ,请仅在 CTR 不为零且 CR0 中的条件相等时进行分支:
    
    bdnzt   eq, target_addr
    
    它等同于:
    
    bc   8, 2, target_addr
    
    如果 BI 操作数指定 CR0的 Bit 0 ,那么可以省略 BI 操作数。
  3. 要减少 CTR ,请仅在 CTR 为零时进行分支:
    
    bdz   target_addr
    
    它等同于:
    
    bc   18, 0, target_addr
    

对于包含 BO 字段和部分 BI 字段的扩展助记符, BI 操作数的值指示 CR 字段号。 有效值为 0-7。 如果使用值 0 ,那么可以省略 BI 操作数。

  1. 如果 CR0 反映的条件不小于:
    
    bge   target_addr
    
    它等同于:
    
    bc   4, 0, target_addr
    
  2. 要在 CR4 指示大于以下值时分支到绝对目标,请设置链接寄存器:
    
    bgtla   cr4, target_addr
    
    它等同于:
    
    bcla   12, 17, target_addr
    
    BI 操作数 CR4 由汇编程序内部扩展为 16。 合并 gt (大于) 后, BI 字段的结果为 17。