Files
2026-09-05 16:41:52 +02:00
..
2026-09-05 15:36:54 +02:00
2026-09-05 15:36:54 +02:00
2026-09-05 16:41:52 +02:00

Symphony ISA specs for use in stdlib

default.isa

The stock game ISA. Production code must comply to this. Taken from symphony_11_functions in game version 2.1.330A

test.isa

ISA with additional instructions. These additional instructions may be used in the tests directory only. Some of these instructions require hardware changes.

Labels in more instructions

cmp, load, and store instructions (but not pload and pstore) now also accept labels.

qcall %a(label)

Performs a jump-and-link function call, with label size up to 32 bits.

HARDWARE: Store PC+4 in the result register when in jump mode.

li %a(register) %b:U32(immediate | label)

Loads an immediate up to 32 bits long

HARDWARE: No requirements

halt%c(condition)

Halts if flags matches the condition.

HARDWARE: Halt if instruction bit 31 is set AND the condition block is true.

condition
""     1000
".all" 1000
".e"   0001
".ne"  1001
".b"   0010
".ae"  1010
".be"  0011
".a"   1011
".l"   0100
".ge"  1100
".le"  0101
".g"   1101