Stores a doubleword of data in a specified location in memory and in some cases places the address in a general-purpose register.
Bits | Value |
---|---|
0-5 | 31 |
6-10 | FRS |
11-15 | RA |
16-20 | RB |
21-30 | 759 |
31 | / |
stfdux | FRS, RA, RB |
The stfdux 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 GPRs RA and RB. If GPR RA is 0, then the EA is the contents of GPR RB.
If GPR RA does not equal 0 and the storage access does not cause Alignment Interrupt or a Data Storage Interrupt, then the EA is stored in GPR RA.
The stfdux instruction has one syntax form and does not affect the Floating-Point Status and Control Register or Condition Register Field 0.
The following code stores the contents of FPR 6 into a location in memory and stores the address in GPR 4:
.csect data[rw] buffer: .long 0,0,0,0 # Assume FPR 6 contains 0x9000 3000 9000 3000. # Assume GPR 4 contains 0x0000 0008. # Assume GPR 5 contains the address of buffer. .csect text[pr] stfdux 6,4,5 # buffer+8 now contains 0x9000 3000 9000 3000. # GPR 4 now contains the address of buffer+8.
Floating-Point Load and Store Instructions .