lbzu (Load Byte and Zero with Update) 指令
用途
将一个字节的数据从内存中的指定位置装入到通用寄存器中,将剩余的 24 位设置为 0 ,并可能将该地址放在第二个通用寄存器中。
语法
| 位数 | VALUE |
|---|---|
| 0-5 | 35 |
| 6-10 | RT |
| 11-15 | 亚美尼亚共和国 |
| 16-31 | D |
描述
lbzu 指令将有效地址 (EA) 寻址的存储器中的字节装入到目标通用寄存器 (GPR) RT 的位 24-31 中,并将 GPR RT 的位 0-23 设置为 0。
如果 RA 不是 0 ,那么 EA 是 GPR RA 和 D(扩展为 32 位的 16 位带符号 2 的补码整数符号) 的内容总和。 如果 RA 为 0 ,那么 EA 为 D。
如果 RA 不等于 RT 和 RA 不等于 0 ,并且存储器访问不会导致对齐中断或数据存储器中断,那么 EA 将存储在 GPR RA中。
lbzu 指令有一种语法形式,不影响 "定点异常寄存器" 或 "条件寄存器" 字段 0。
参数
| 项 | 描述 |
|---|---|
| RT | 指定存储操作结果的目标通用寄存器。 |
| 深 | 16 位,有符号 2 的补码整数符号-扩展为 32 位,用于 EA 计算。 |
| RA | 指定用于 EA 计算和可能的地址更新的源通用寄存器。 |
示例
以下代码将数据字节从内存中的指定位置装入到 GPR 6 中,将剩余的 24 位设置为 0 ,并将地址放在 GPR 5 中:
.csect data[rw]
storage: .byte 0x61
# Assume GPR 5 contains the address of csect data[rw].
.csect text[pr]
lbzu 6,storage(5)
# GPR 6 now contains 0x0000 0061.
# GPR 5 now contains the storage address.