The Retroputer Assembly Language is a simple, yet powerful set of commands that enable you to unlock the full potential of the Retroputer.

Registers

Registers can be specified using their alias (A, B, C, D, X, Y, SP, BP). For A - D and X and Y, the eight-bit form can also be used (AL, BL, CL, DL, etc).

<aside> 💡 The status register and the PC, MM, CF registers cannot be specified directly in any assembly language instruction. This also means that registers 16 - 23 are inaccessible. Only certain commands can work on these registers. PUSHF, for example, can push the status register on to the stack. BR and CALL and RET all manipulate the PC.

</aside>

Flags

Flags can be specified using their names: N, V, C, Z, ID, IS, EX, SS. Flag names are not reserved for identifiers as it is unambiguous when flags are being used in an instruction.

Numbers

Numbers can be written in a variety of forms:

Numbers may contain separators (underscores):

Identifiers