Storing Signed Integers

Name:
STB $X,$Y,$ZSTB $X,$Y,ZStore Byte/Store Byte Immediate
STW $X,$Y,$ZSTW $X,$Y,ZStore Wyde/Store Wyde Immediate
STT $X,$Y,$ZSTT $X,$Y,ZStore Tetra/Store Tetra Immediate
STO $X,$Y,$ZSTO $X,$Y,ZStore Octa/Store Octa Immediate

Specification:

With A ← $Y+$Z respectively A ← $Y+Z we have:
STB: s(M1[A]) ← s($X)
STW: s(M2[A]) ← s($X)
STT: s(M4[A]) ← s($X)
STO: s(M8[A]) ← s($X)

Timing:

μ + υ

Description:

Writes one byte, wyde, tetrabyte, or octabyte to memory. Overflow may occur.

The address A is rounded down, if necessary, according to the alignment requirements. Addresses for octabytes must be a multiple of 8, for tetrabytes a multiple of 4, and for wydes a multiple of 2.

STB: The least significant byte of register $X is stored into byte M[$Y + $Z] or M[$Y + Z]. An integer overflow exception occurs if $X is not between -128 and +127.
STW: The two least significant bytes of register X are stored into bytes M2[$Y + $Z] or M2[$Y + Z]. An integer overflow exception occurs if $X is not between -32768 and +32767.
STT: The four least significant bytes of register $X are stored into bytes M4[$Y + $Z] or M4[$Y + Z]. An integer overflow exception occurs if $X is not between -2,147,483,648 and +2,147,483,647.
STO: Register $X is stored into bytes M8 [$Y + $Z] or M8[$Y + Z].

See also:

Storing Unsigned Data.