swissChili | f7f1e2b | 2021-12-31 14:42:43 -0800 | [diff] [blame^] | 1 | .............................................. |
| 2 | ... ... |
| 3 | ... : DOS FORTH ; ... |
| 4 | ... ... |
| 5 | .............................................. |
| 6 | |
| 7 | |
| 8 | This is my attempt at a FORTH implementation in 8086 Assembler for |
| 9 | Microsoft DOS. |
| 10 | |
| 11 | |
| 12 | |
| 13 | HOW TO COMPILE |
| 14 | |
| 15 | Run `make' on a UNIX host system with NASM installed. |
| 16 | |
| 17 | |
| 18 | |
| 19 | HOW TO RUN |
| 20 | |
| 21 | Run `make run' to start DOSBox automatically, or run FORTH.COM on a |
| 22 | real MS DOS machine or emulator. |
| 23 | |
| 24 | |
| 25 | |
| 26 | DOCUMENTATION |
| 27 | |
| 28 | Please consult <WORDS.TXT> for a list of words and their use. |
| 29 | |
| 30 | |
| 31 | |
| 32 | IMPLEMENTATION DETAILS |
| 33 | |
| 34 | The structure of a dictionary entry is shown in Fig. 1. |
| 35 | |
| 36 | +--------+-------------------------+ |
| 37 | |Byte |Field name | |
| 38 | +--------+-------------------------+ |
| 39 | |0-1 |Link pointer | |
| 40 | +--------+-------------------------+ |
| 41 | |2 |Length | |
| 42 | +--------+-------------------------+ |
| 43 | |3..N |Name | |
| 44 | +--------+-------------------------+ |
| 45 | |N+1.. |Body (aligned to 2 bytes)| |
| 46 | +--------+-------------------------+ |
| 47 | Fig. 1: Dictionary entry |
| 48 | |
| 49 | |
| 50 | |
| 51 | |
| 52 | Copyright (C) 2021 swissChili -- http://swisschili.sh |