Loads a halfword of data from a specified location in memory into a general-purpose register and copies bit 0 of the halfword into the remaining 16 bits of the general-purpose register.
Bits | Value |
---|---|
0-5 | 31 |
6-10 | RT |
11-15 | RA |
16-20 | RB |
21-30 | 343 |
31 | / |
lhax | RT, RA, RB |
The lhax instruction loads a halfword of data from a specified location in memory, addressed by the effective address (EA), into bits 16-31 of the target general-purpose register (GPR) RT and copies bit 0 of the halfword into bits 0-15 of GPR RT.
If GPR RA is not 0, the EA is the sum of the contents of GPR RA and GPR RB. If GPR RA is 0, then the EA is the contents of GPR RB.
The lhax instruction has one syntax form and does not affect the Fixed-Point Exception Register.
The following code loads a halfword of data into bits 16-31 of GPR 6 and copies bit 0 of the halfword into bits 0-15 of GPR 6:
.csect data[rw] .short 0x1 # Assume GPR 5 contains the address of csect data[rw]. # Assume GPR 4 contains the displacement of the halfword # relative to data[rw]. .csect text[pr] lhax 6,5,4 # GPR 6 now contains 0x0000 0001.
Fixed-Point Load and Store Instructions .