基本助记符和扩展助记符的分支条件指令的 BI 操作数
基本和扩展助记符的分支条件指令的 BI 操作数。
BI 操作数在 "条件寄存器" 中指定位 (0:31) 以进行条件比较。 位由比较指令设置。 条件寄存器中的位分组为八个 4 位字段。 0 通过 CR 字段 7 将这些字段命名为 CR 字段 (CR0...CR7). 每个字段的位解释如下:
| Bit | 描述 |
|---|---|
| 0 | 小于; 浮点小于 |
| 1 | 大于; 浮点大于 |
| 2 | 等于; 浮点等于 |
| 3 | 摘要溢出; 浮点未排序 |
通常,基本和扩展分支条件助记符表的 BI 操作数符号中显示的符号定义为在 BI 操作数中使用。 汇编程序支持 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 字段都有四个位。
- 要减少 CTR ,请仅在 CTR 不为零且 CR5 中的条件相等时进行分支:
它等同于:bdnzt 4*cr5+eq, target_addrbc 8, 22, target_addr - 要减少 CTR ,请仅在 CTR 不为零且 CR0 中的条件相等时进行分支:
它等同于:bdnzt eq, target_addr
如果 BI 操作数指定 CR0的 Bit 0 ,那么可以省略 BI 操作数。bc 8, 2, target_addr - 要减少 CTR ,请仅在 CTR 为零时进行分支:
它等同于:bdz target_addrbc 18, 0, target_addr
对于包含 BO 字段和部分 BI 字段的扩展助记符, BI 操作数的值指示 CR 字段号。 有效值为 0-7。 如果使用值 0 ,那么可以省略 BI 操作数。
- 如果 CR0 反映的条件不小于:
它等同于:bge target_addrbc 4, 0, target_addr - 要在 CR4 指示大于以下值时分支到绝对目标,请设置链接寄存器:
它等同于:bgtla cr4, target_addr
BI 操作数 CR4 由汇编程序内部扩展为 16。 合并 gt (大于) 后, BI 字段的结果为 17。bcla 12, 17, target_addr