From 5bfcf0314c44abfb4d0b23d372275bffb8431e22 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Wed, 30 Apr 2025 11:39:21 +0300 Subject: [PATCH] some more info --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6f5d739..afdcc0f 100644 --- a/README.md +++ b/README.md @@ -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