MMIX LOGO

MMIX Instruction Set

Table of Content

Content

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.

Please help to keep this site up to date! If you want to point out important material or projects that are not listed here, if you find errors or want to suggest improvements, please send email to email