ld
Load double word
Loads the 64-bit double word at the address in the second register plus an offset into the first.
Used in
- Going 64-bitRISC-V assembly
Forms
ld , ()
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.
Set t1 to contents of effective memory word address
-
Set t1 to contents of memory word at label's address
-
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.
This example runs on RV64.
# value is initialized and naturally aligned for this operation.
.data
value: .dword 0x0000000012345678
.text
la t0, value
# The initialized doubleword is 0x12345678; ld writes 305419896 to t2.
ld t2, 0(t0)