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