Updated make target for a2enh

This commit is contained in:
Luxferre
2022-08-14 15:58:45 +03:00
parent 132dcedc9e
commit 93f19d3a17
3 changed files with 28 additions and 16 deletions
+3 -1
View File
@@ -118,6 +118,7 @@ Op |Stack state |Meaning
`P`|`( p1 p2 port -- r1 r2 status )`|**P**ort I/O: pass two 16-bit parameters to the port and read the operation status and results into the words on the stack top
`}`|`( blk len maddr -- status)` |Persistent storage write operation. Stack parameters: block number (x1K), data length, RAM address
`{`|`( blk len maddr -- status)` |Persistent storage read operation. Stack parameters: block number (x1K), data length, RAM address
`Y`|`( addr len priv -- taskid )` |Fork an area from the command buffer starting at `addr` into a new task, activate it (see below) and push the task ID onto the stack
`Q`|`( -- )` |**Q**uit the interpretation mode (unset IM flag if set), or the interpreter shell itself if in command mode (halt the machine when it's nowhere to exit to)
Note that, due to the dynamic nature of word allocation and ability to reconfigure the runtime environment for different offsets depending on the target, absolute jumps are not directly supported in Equi and generally not recommended, although one can easily do them with `]R` sequence and/or calculate absolute positions using `X` instruction.
@@ -147,7 +148,8 @@ The following constants can be adjusted at compile time:
- `GPD_AREA_SIZE` - GPD area size in bytes;
- `CMD_BUF_SIZE` - command buffer size in bytes (65535 max);
- `CLT_ENTRIES_MAX` - size (in entries) of the compilation lookup table (CLT), each entry taking exactly 4 bytes;
- `PERSIST_FILE` - the name of persistent storage sandbox file (`PERS.DAT` by default).
- `PERSIST_FILE` - the name of persistent storage sandbox file (`PERS.DAT` by default);
- `EQUI_TASKS_MAX` - maximum amount of concurrently running tasks on the system.
Please keep in mind that the reference implementation code primarily serves as a, well, reference on how the specification should be implemented, so it emphasizes on code portability and readability over performance whenever such a choice arises.