version 2009-07-12

SH : Store Half-word (and update the pointer)

Data : This instruction inserts one half-word (16 bits) in a given register, emulating the "Store Half-word" instruction of Load-Store architectures. The source data is shifted left, according to an offset, and inserted in the half-word pointed to by the offset in the destination register.

Address : If the source register is a static register, then the offset is zero. If the source is a Data register, the 2 LSBs of the corresponding Address register are used as offset, and this Address register is updated with this offset.

This instruction is available only with YASEP32. Because this instruction can't go beyond a word boundary, only offsets 0, 1 and 2 are valid. Attempts to use an offset of 3 triggers an alignment trap.

Note : this instruction was meant to use auxiliary data from other registers. As of 2009-07, in order to use the auto-update function, the extended form (32-bit instruction) must be used.