SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Load Halfword from Memory, Postincrement with a 3-Bit Unsigned Constant Offset
LDH *baseR++[ucst3], dst
or
LDHU *baseR++[ucst3], dst
Functional unit = D
16 bit
| 15 | 13 | 12 | 10 | 9 | 7 | 6 | 0 |
| dst | baseR | ucst3 | opcode | ||||||||||||
| 3 | 3 | 3 | 7 | ||||||||||||
| Syntax | Opcode | Load Type |
|---|---|---|
| LDH *baseR++[ucst3], dst | 110 0101 | Load halfword (sign-extended) |
| LDHU *baseR++[ucst3], dst | 110 0011 | Load halfword unsigned (zero-extended) |
Loads a halfword (signed or unsigned) from memory (effective address) to dst. The value of baseR is the effective address to be accessed in memory and the content loaded into dst. After accessing, an offset (number of halfwords) that is a 3-bit unsigned constant (ucst3) is added to baseR at the end of the EXE phase. Brackets, [ ],must surround the specified offset, if using the optional offset parameter.
The content is loaded into the 16 LSBs of dst. For the LDH instruction, the upper 16 bits of dst are sign-extended; for the LDHU instruction, the upper 16 bits of dst are zero-extended.
Halfword addresses must be aligned on halfword (LSB is 0) boundaries.
None
dst = *(baseR++[ucst3])