amforth
Details
| Last Update: | 2008-01-27 17:01:07 |
| Version: | 2.6 |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | Matthias Trute |
| Price: | $0.00 |
Description:
amforth is a compact forth interpreter and compiler. amforth
project is implemented in assembly language and forth itself. It is
not a cross-compiler.
amforth implements an ans94 stylish forth with a few missing
words and a few words from the extension word sets.
amforth is designed to run on atmel atmega processors with
built-in RAM, flash and EEPROM. It is a pure 16 bit forth. It uses
the indirect threaded model. It works interactivly on the MC via
the serial interface (usart0). Use of double cell operands is
dropped completly. They may be added later, if needed.
Flash structure
+------------------ 0000 --------------+
| Interrupt vectors |
| |
+------------------ 0026 --------------+
| initialization code |
| interrupt routines |
| "colon" dictionary |
| |
|LATEST: |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
+------------- nrww section -----------+
| inner interpreter (docol, next) |
| "primitive" dictionary |
| Link to "colon" dictionary |
+----------- flashend -----------------+
The flash contains both the inner interpreter as well as the
whole dictionary. New words are compiled directly into flash. The
dictionary is splited into two parts. One contains all assembler
(primitive) words including NEXT and DOCOL. This part is located at
the end of the flash area.
The other part contains words coded as colon definitions. This
comes down to the beginning of the flash. The reason for this split
is that the spm instruction is used to compile new definitions
directly into flash.
This instruction can only be called from an nrww area of the
flash (booloader area). To use this operation, most of the core
routines of the forth systems needs to be located in the nrww
section.
RAM
+--------------- 0000 -----------------+
| 0-31: register set |
|31-59: io space |
+--------------------------------------+
|60-84: usart buffer |
|84.. : TIB, PAD, HLD buffers |
| HEAP: start of variable space |
| |
| ^ |
| | |
| data stack, growing downward |
+---------- ramsize - $80 -------------|
| ^ |
| | |
| return stack, growing downward |
+---------- ram size ------------------+
TIB is currently 80 bytes long, PAD and HLD 16 bytes.
What's New in This Release:
· core: new defining words code and end-code. code
starts a new dictionary header with the XT set to the data field.
The 2nd one appends the jmp NEXT call into the dictionary.
· core: removed the pre-assembled case / endcase words.
Added them as forth library.
· core: new words -jtag (turns off JTAG at runtime) and
-wdt (turns off watch dog timer at runtime. They need to be
implemented as primitives due to timing requirements.
· core: quit: Keep base when handling an exception.
0 comments
Add to
amforth Version History
Related Software
|
|
From category: Utilities |
| autorun 3.15 is utilities software developed by Harald Hoyer. autorun automagically recognizes all available CDROMs in the system, mounts them upon insertion of a media and executes a possible auto... |
|
|
From category: Utilities |
| littleutils are a collection of small but useful programs.... |
|
|
From category: Utilities |
| drs-hash 1.0 is utilities software developed by Dan Stromberg. drs-hash project is a set of C-callable hash routines that can be fast, a bit memory inefficient, strongly typed, and static, or slowe... |
|
|
From category: Other-Tools |
| Complete cybercafe solution; turns one computer into ten. The fastest, simplest and most affordable way to provide sponsored Internet cafes for conferences, trade shows, and conventions. It is portabl... |
|
|
From category: Utilities |
| Krsync software is a GUI for rsync.... |
|
|
From category: Utilities |
| Lookbusy is a simple application for generating synthetic load on a Linux system.... |
|
|
From category: Linux-Distributions |
| ReactOS is an open source effort to develop a quality operating system that is compatible with Microsoft Windows applications and drivers.Console ApplicationsReactOS supports a limited range of consol... |
|
|
From category: Other-Tools |
| AVIRA for Exim is a comprehensive antivirus solution for Linux, FreeBSD and OpenBSD mailservers, functioning at high speed and filtering against malicious contents by checking both incoming and outgoi... |
|
|
From category: Backup |
| PHOTORECOVERY was developed as an easy to use application that was designed to recover images, movies, and sound files from all types of Digital Media. It was designed to be compatible with Memory Sti... |
|
|
From category: Utilities |
| erlGeoIP 0.2 is utilities software developed by Olivier Girondel. erlGeoIP is a C-port driver for accessing GeoIP data from Erlang. Tested with: Erlang/OTP R10B-9 GeoIP 1.3.14 \... |
|
|
From category: Utilities |
| ABA-X1 1.0 is utilities software developed by Marc Kronberg. ABA-X1 is a program that calculates mathematical expressions. ABA-X1 is an application that calculates mathematical expressions.... |
|
|
From category: Linux-Distributions |
| KNOPPIX is a bootable Live system on CD or DVD, consisting of a representative collection of GNU/Linux software, automatic hardware detection, and support for many graphics cards, sound cards, SCSI an... |
|
|
From category: Other-Tools |
| Tomboy is a desktop note-taking application for Linux and Unix. Simple and easy to use, but with potential to help you organize the ideas and information you deal with every day.Have you ever felt the... |
|
|
From category: Utilities |
| easy notesManager 0.0.1 is utilities software developed by evandor media GmbH. easy notesManager (eNM) is a Web application for managing notes within a large group of different users. These note... |
|
|
From category: Utilities |
| Frotz 2.43 is utilities software developed by David Griffith. Frotz project is a portable Z-Machine interpreter. Frotz is an interpreter for Infocom games and other Z-machine games. It compl... |
Leave a comment