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