lh
Load halfword
Loads the 16-bit halfword at the address in the second register plus an offset into the first, sign-extended to the register width.
Used in
- Loads, stores and immediatesRISC-V assembly
- Arrays and stringsRISC-V assembly
Forms
lh , ()
Pseudo-instructions
The processor does not have these forms. The assembler replaces each of them with one or more real instructions. Open a row to see them.
-
Load from Address
Operands
t1- Any integer register,
x0tox31, or its named alias, such aszero,t0ort6. imm12- A signed 12-bit immediate,
-2048to2047. t2- An integer register. It may be the same register as
t1. imm- An immediate value: a signed 12-bit value (
-2048to2047) or a 32-bit value (-2147483648to4294967295). The size your value needs decides which real instructions the assembler uses. Open the row to see them for each size. label- A named address in the program, such as the start of a loop or a variable in
.data.
# value is initialized and naturally aligned for this operation.
.data
value: .word 0x017fff80
.text
la t0, value
# The first halfword is 0xFF80; lh writes −128 (0xFFFFFF80) to t2.
lh t2, 0(t0)