asmscript

Operands

asmscript supports two types of operands: registers and immediates (aka literals).

Registers

You can freely use 15 general purpose registers by refering to their names:

Note that rsp (the stack pointer) is not available. However, you have access to push and pop statements, which do interact with rsp. All registers are assumed to hold a 64-bit signed integer. There is no support for any other registers nor for more narrow versions (e.g. eax, ax, al) of general purpose registers.

Immediates

You can use a 64-bit signed integer literal as an operand. Only decimal literals are supported.

Destination and source operands

Statements can make use of two types of operands: destination operands and source operands. Source operands are read-only, while destination operands can be written to.

You can only use a register as a destination operand.

You can use either a register or an immediate as a source operand.