stfd (Store Floating-Point Double) instruction
Purpose
Stores a doubleword of data in a specified location in memory.
Syntax
| Bits | Value |
|---|---|
| 0 - 5 | 54 |
| 6 - 10 | FRS |
| 11 - 15 | RA |
| 16 - 31 | D |
Description
The stfd instruction stores the contents of floating-point register (FPR) FRS into the doubleword storage addressed by the effective address (EA).
If general-purpose register (GPR) RA is not 0, the EA is the sum of the contents of GPR RA and D. The sum is a 16-bit signed two's complement integer sign-extended to 32 bits. If GPR RA is 0, then the EA is D.
The stfd instruction has one syntax form and does not affect the Floating-Point Status and Control Register or Condition Register Field 0.
Parameters
| Item | Description |
|---|---|
| FRS | Specifies source floating-point register of stored data. |
| D | Specifies a16-bit signed two's complement integer sign-extended to 32 bits for EA calculation. |
| RA | Specifies source general-purpose register for EA calculation. |
Examples
The following code stores the contents of FPR 6 into a location in memory:
.csect data[rw]
buffer: .long 0,0
# Assume FPR 6 contains 0x4865 6C6C 6F20 776F.
# Assume GPR 4 contains the address of csect data[rw].
.csect text[pr]
stfd 6,buffer(4)
# buffer now contains 0x4865 6C6C 6F20 776F.