[ Previous |
Next |
Contents |
Home |
Search ]

*AIX Version 4.3 Assembler Language Reference*

## lha (Load Half Algebraic) Instruction

### Purpose

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.

### Description

The **lha **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 *D*, a 16-bit signed two's complement integer sign extended to 32 bits. If GPR *RA* is 0, then the EA is *D*.

The **lha** instruction has one syntax form and does not affect the Fixed-Point Exception Register or Condition Register Field 0.

### Parameters

*RT* |
Specifies target general-purpose register where result of operation is stored. |

*D* |
16-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 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]
storage: .short 0xffff
# Assume GPR 5 contains the address of csect data[rw].
.csect text[pr]
lha 6,storage(5)
# GPR 6 now contains 0xffff ffff.

### Related Information

Fixed-Point Processor.

Fixed-Point Load and Store Instructions.

[ Previous |
Next |
Contents |
Home |
Search ]