stfsu (Store Floating-Point Single with Update) 指令
用途
将浮点寄存器中的数据字存储到内存中的指定位置,并可能将地址放置在通用寄存器中。
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 53 |
| 6 - 10 | 财务报告准则 |
| 11 - 15 | RA |
| 16 - 31 | D |
描述
斯特苏 指令将浮点寄存器 (FPR) FRS 的内容转换为单精度值,并将结果存储到由有效地址 (EA) 寻址的存储器的字中。
如果通用寄存器 (GPR) RA 不是 0 ,那么 EA 是 GPR RA 和 D的内容的总和,后者是 16 位带符号的两个补码整数符号-扩展为 32 位。 如果 GPR RA 为 0 ,那么 EA 为 D。
如果 GPR RA 不等于 0 ,并且存储器访问不会导致 "对齐中断" 或 "数据存储中断" ,那么 EA 存储在 GPR RA中。
斯特苏 指令具有一个语法格式,并且不影响 "浮点状态和控制寄存器" 或 "条件寄存器字段 0"。
参数
| 项 | 描述 |
|---|---|
| 财务报告准则 | 指定存储数据的浮点寄存器。 |
| 深 | 对于 EA 计算,指定一个 16 位,带符号的 2 的补码整数符号-扩展为 32 位。 |
| RA | 指定用于 EA 计算和可能的地址更新的源通用寄存器。 |
示例
以下代码将 FPR 6 的单精度内容存储到内存中的位置,并将地址存储在 GPR 4 中:
.csect data[rw]
buffer: .long 0
# Assume FPR 6 contains 0x4865 6C6C 6F20 776F.
# Assume GPR 4 contains the address of csect data[rw].
.csect text[pr]
stfsu 6,buffer(4)
# GPR 4 now contains the address of buffer.
# buffer now contains 0x432B 6363.