cmpl (比较逻辑) 指令
用途
在逻辑上比较两个通用寄存器的内容。
语法
| 位数 | VALUE |
|---|---|
| 0-5 | 31 |
| 6-8 | BF |
| 9 | / |
| 10 | L |
| 11-15 | 亚美尼亚共和国 |
| 16-20 | 经常预算 |
| 21-30 | 32 |
| 31 | / |
请参阅 定点比较指示信息的扩展助记符 以获取更多信息。
描述
cmpl 指令将通用寄存器 (GPR) RA 的内容与 GPR RB 的内容作为无符号整数进行比较,并在 "条件寄存器" 字段 BF中设置其中一个位。
BF 可以是条件寄存器字段 0-7; 程序员可以指定哪个条件寄存器字段将指示操作结果。
条件寄存器字段 BF 的位解释如下:
| 项 | 描述 | |
|---|---|---|
| Bit | 名称 | 描述 |
| 0 | LT | (RA) < SI |
| 1 | GT | (RA)> SI |
| 2 | EQ | (RA) = SI |
| 3 | SO | SO 和 OV |
cmpl 指令有一种语法形式,不会影响定点异常寄存器。 除非程序员将条件寄存器字段 0 指定为 BF ,否则该字段不受影响。
参数
| 项 | 描述 |
|---|---|
| BF | 指定条件寄存器字段 0-7 ,用于指示比较结果。 |
| L | 对于 32 位子集体系结构,必须设置为 0。 |
| RA | 指定用于操作的源通用寄存器。 |
| 经常预算 | 指定用于操作的源通用寄存器。 |
示例
以下代码将 GPR 4 和 GPR 5 的内容作为无符号整数进行比较,并设置 "条件寄存器字段" 0 以反映操作结果:
# Assume GPR 4 contains 0xFFFF 0000.
# Assume GPR 5 contains 0x7FFF 0000.
# Assume 0 is Condition Register Field 0.
cmpl 0,4,5
# The GT bit of Condition Register Field 0 is set.