lfd (Load Floating-Point Double) 指令
用途
将数据的双字从内存中的指定位置加载到浮点寄存器中。
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 50 |
| 6 - 10 | FRT |
| 11 - 15 | RA |
| 16 - 31 | D |
描述
自由 指令将存储器中的双字从由有效地址 (EA) 寻址的内存中的指定位置装入到目标浮点寄存器 (FPR) FRT中。
如果通用寄存器 (GPR) RA 不是 0 ,那么 EA 是 GPR RA 和 D(16 位,带符号的两个补码整数符号) 的内容的总和-扩展为 32 位。 如果 GPR RA 为 0 ,那么 EA 为 D。
自由 指令具有一个语法格式,并且不影响 "浮点状态和控制寄存器" 或 "条件寄存器字段 0"。
参数
| 项 | 描述 |
|---|---|
| FRT | 指定存储该操作的结果的目标通用寄存器。 |
| 深 | 16 位,符号 2 的补码整数符号-扩展为 32 位,用于 EA 计算。 |
| RA | 指定 EA 计算的源通用寄存器。 |
示例
以下代码将双字从内存装入到 FPR 6 中:
.csect data[rw]
storage: .double 0x1
# Assume GPR 5 contains the address of csect data[rw].
.csect text[pr]
lfd 6,storage(5)
# FPR 6 now contains 0x3FF0 0000 0000 0000.