Technical pages
The FORTH kernel
The FORTH kernel equipping this system
is based on the standard FORTH-79 with the following differences:
- The data stack is size 32 bits size
( long word) instead of 16 bits (word). This allows to exploi
all the resources of the microprocessor MC68030 (68000 for the
mini system). On the other hand, it is always possible to manipulate
words of 16 bits or bytes (8 bits). During a reading information
of this width, all the most significant bits take the value of
the 15-th bit for a word or of the 7-th bit for a byte. With
this sign extension, all the arithmetic operations are valid
from a word or from a byte.
- The notion of vocabulary is no
administered. It allows normally to optimize the durations of
interpretation / compilation by minimizing the number of comparisons
during the search for an instruction. My interpreter / compiler
administers a table of indirection allowing the in order alphabetical
classification of all the instructions what allows to have a
maximum number of comparisons equal to the logarithm in base
2 of the total number of instructions: for 1000 instructions,
the interpreter / compiler will have as well as 10 comparisons
to be made at most to find an instruction either to decide tha
it does not exist.
Instructions are presented in the
following way:
- Entry parameters taken in the data
stack are in green color (an absence of parameter is indicated
by the character "-"),
- The instruction name is in red color,
- The exit parameters placed in the
data stack are in blue color (an absence of parameter is indicated
by the character "-"),
- The instruction description is in
black color and in italic.
All the parameters are 32 bits numbers.
When several parameters are indicated, they are separated with
a comma. Parameter most to the left is the first deposited in
the stack and that it more to the right constitutes the top of
the stack.
All the instructions of the FORTH core are displayed in this page.
All the instructions of the FORTH mini system are displayed in this page.