SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Store Halfword to Memory with a Register Offset
STH dst, *+baseR[src1]
Functional unit = D
16 bit
15 | 13 | 12 | 10 | 9 | 7 | 6 | 0 |
dst | baseR | src1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
3 | 3 | 3 | opcode |
The 16 LSBs (halfword) of dst are stored to memory (effective address). The memory address is formed from a base address register (baseR) and an offset (number of halfwords) that is a register (src1). If an offset is not given, the assembler assigns an offset of zero. Brackets, [ ], must surround the specified offset, if using the optional offset parameter.
The square brackets, [ ], indicate that the src1 is scaled by a left-shift of 1 bit. After scaling, src1 is added to baseR. The result of the calculation is the effective address in memory that contains the content from dst.
Halfword addresses must be aligned on halfword (LSB is 0) boundaries.
None
*(baseR[src1]) = *dst