lhz (Load half and Zero) 指令
用途
将半字数据从内存中的指定位置装入到通用寄存器中,并将剩余的 16 位设置为 0。
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 40 |
| 6 - 10 | RT |
| 11 - 15 | 亚美尼亚共和国 |
| 16 - 31 | D |
描述
lhz 指令从内存中由有效地址 (EA) 寻址的指定位置将半字数据装入到目标通用寄存器 (GPR) RT 的位 16 到 31 中,并将位 0-15 的 GPR RT 设置为 0。
如果 GPR RA 不是 0 ,那么 EA 是 GPR RA 和 D(16 位,带符号 2 的补码整数符号-扩展为 32 位) 的内容总和。 如果 GPR RA 为 0 ,那么 EA 为 D。
lhz 指令有一种语法形式,不会影响定点异常寄存器或条件寄存器字段 0。
参数
| 项 | 描述 |
|---|---|
| RT | 指定存储操作结果的目标通用寄存器。 |
| 深 | 16 位,有符号 2 的补码整数符号-扩展为 32 位,用于 EA 计算。 |
| RA | 指定用于 EA 计算的源通用寄存器。 |
示例
以下代码将半字数据装入到 GPR 6 的位 16-31 中,并将 GPR 6 的位 0-15 设置为 0:
.csect data[rw]
storage: .short 0xffff
# Assume GPR 4 holds the address of csect data[rw].
.csect text[pr]
lhz 6,storage(4)
# GPR 6 now holds 0x0000 ffff.