The assembly syntax is supposed to be upward compatible with that
described in Sections 1.3 and 1.4 of ‘The Art of Computer
Programming, Volume 1’. Draft versions of those chapters as well as other
MMIX information is located at
http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html.
Most code examples from the mmixal package located there should work
unmodified when assembled and linked as single files, with a few
noteworthy exceptions (see Differences to mmixal
).
Before an instruction is emitted, the current location is aligned to the next four-byte boundary. If a label is defined at the beginning of the line, its value will be the aligned value.
In addition to the traditional hex-prefix ‘0x’, a hexadecimal number can also be specified by the prefix character ‘#’.
After all operands to an MMIX instruction or directive have been specified, the rest of the line is ignored, treated as a comment.