some more info

This commit is contained in:
Luxferre
2025-04-30 11:39:21 +03:00
parent e2c881cd2e
commit 5bfcf0314c
+10 -3
View File
@@ -27,12 +27,17 @@ standard input.
* ability to enter integer commands (positive and negative) into program memory;
* ability to enter floating (or fixed) point numbers (positive and negative) at
program runtime;
* the lowest data memory size is 128 cells (126 of which are mutable);
* the highest data memory size is 16384 cells (16382 of which are mutable);
* the lowest program memory size is 128 steps (127 of which are mutable);
* the highest program memory size is 16384 steps (16383 of which are mutable);
* immutability of the data address 0 (must always return 0 when accessed);
* immutability of the data address 127 (must always return 1 when accessed).
* immutability of the data address 127 (must always return 1 when accessed);
* immutability of the instruction number 0 (reserved for immediate execution).
The following things are implementation-dependent:
* instruction and data internal representation;
* instruction and data internal representation and capacity;
* tracing capabilities;
* runlimit (the amount of program steps before forcefully halting the program).
@@ -257,7 +262,9 @@ and the above mnemonics (case-insensitive). The recommended file suffix is
An assembly line looks like this (the optional parts are enclosed in square
brackets): `[:lbl] MNEMONIC arg1 arg2 arg3 [;comment]`. Labels are optional but
must start with a colon (`:`) and be on the same line before the instruction
they label. The mnemonics are specified above in the core opcode list.
they label. The mnemonics are specified above in the core opcode list and the
shortcut list. In the second case, shortcuts accept less instruction parameters
than the opcode they refer to.
Here, the exact assembly algorithm is specified step-by-step for each line in
the MU8A assembly file to convert it into a plain text based machine code