sh
Store halfword
Stores the low 16 bits of t1 at the address in t2 plus an offset.
Used in
- ecallRISC-V assembly
- ChiptuneRISC-V assembly
- Sampled soundRISC-V assembly
Forms
sh , ()
Pseudo-instructions
The assembler turns these into one or more real instructions.
-
Store the low-order 16 bits of $1 into the effective memory halfword address
-
Store the low-order 16 bits of $t1 into the effective memory halfword address
Store the low-order 16 bits of t1 into the effective memory halfword address using t2 as a temporary
-
Store to 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. imm32- A 32-bit immediate,
-2147483648to4294967295. 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 0
.text
la t0, value
li t1, 42
# Store 42 (bytes 2A 00) at value; inspect Memory.
sh t1, 0(t0)