Loads a doubleword of data from a specified location in memory into a floating-point register and possibly places the specified address in a general-purpose register.
Bits | Value |
---|---|
0-5 | 31 |
6-10 | FRT |
11-15 | RA |
16-20 | RB |
21-30 | 631 |
31 | / |
lfdux | FRT, RA, RB |
The lfdux instruction loads a doubleword in storage from a specified location in memory addressed by the effective address (EA) into the target floating-point register (FPR) FRT.
If RA is not 0, the EA is the sum of the contents of general-purpose register (GPR) RA and GPR RB. If RA is 0, then the EA is the contents of RB.
If RA does not equal 0, and the storage access does not cause an Alignment interrupt or a Data Storage interrupt, then the EA is stored in GPR RA.
The lfdux instruction has one syntax form and does not affect the Floating-Point Status and Control Register.
The following code loads a doubleword from memory into FPR 6 and stores the address in GPR 5:
.csect data[rw] storage: .double 0x1 # Assume GPR 5 contains the address of csect data[rw]. # Assume GPR 4 contains the displacement of storage relative # to .csect data[rw]. .csect text[pr] lfdux 6,5,4 # FPR 6 now contains 0x3FF0 0000 0000 0000. # GPR 5 now contains the storage address.
Floating-Point Load and Store Instructions .