Amforth is a small yet powerful Forth interpreter and compiler software.
amforth is a unique forth interpreter and compiler that is designed to run on Atmel atmega processors. It is a pure 16-bit forth that works interactively on the MC via the serial interface (usart0). The project is implemented in assembly language and forth itself, making it stand out from other available options.
One of the key features of amforth is that it implements an ans94 stylish forth with a few missing words and a few words from the extension word sets. This makes it ideal for those who are familiar with this particular version and want to continue using it without the need to switch to another.
The flash structure of amforth is also worth mentioning. It contains both the inner interpreter as well as the whole dictionary, with new words compiled directly into flash. The dictionary is split into two parts, with one containing all assembler words and the other containing words coded as colon definitions. This allows for efficient use of the spm instruction, which is used to compile new definitions directly into flash.
Another noteworthy feature is that amforth is designed to work on Atmel atmega processors with built-in RAM, flash, and EEPROM. It uses the indirect threaded model and drops the use of double cell operands completely. However, they can be added later if needed.
The RAM of amforth is divided into different sections containing registers, IO space, USART buffer, TIB, PAD, HLD buffers, and a heap for the start of variable space. The data stack and return stack also grow downward, making it easier for users to keep track of their code.
In conclusion, amforth is an innovative forth interpreter and compiler that is ideal for those familiar with ans94 stylish forth. Its unique features, including its flash structure and RAM organization, make it worth considering for those looking for a compact and efficient solution.
Version 3.6: N/A