ld (装入 Doubleword) 指令
用途
将双字数据装入到指定的通用寄存器中。
注: 此指令仅应在运行 64 位应用程序的 64 位 PowerPC® 处理器上使用。
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 58 |
| 6 - 10 | RT |
| 11 - 15 | 亚美尼亚共和国 |
| 16 - 29 | DS |
| 30 - 31 | 0b00 |
描述
ld 指令将存储器中的双字从由有效地址 (EA) 寻址的内存中的指定位置装入到目标通用寄存器 (GPR) RT中。
DS 是一个 14 位,有符号的两个补码数,符号扩展至 64 位,然后乘以 4 以提供位移 Disp。 如果 GPR RA 不是 0 ,那么 EA 是 GPR RA 和 Disp的内容总和。 如果 GPR RA 为 0 ,那么 EA 为 Disp。
参数
| 项 | 描述 |
|---|---|
| RT | 指定存储操作结果的目标通用寄存器。 |
| 显示 | 指定 16 位带符号数字,该数字是 4 的倍数。 在生成指令时,汇编程序将此数字除以 4。 |
| RA | 指定用于 EA 计算的源通用寄存器。 |
示例
以下代码将双字从内存装入到 GPR 4 中:
.extern mydata[RW]
.csect foodata[RW]
.local foodata[RW]
storage: .llong mydata # address of mydata
.csect text[PR]
# Assume GPR 5 contains address of csect foodata[RW].
ld 4,storage(5) # GPR 4 now contains the address of mydata.
实现
仅为 64 位实现定义此指令。 在 32 位实现上使用它将导致调用系统非法指令错误处理程序。