Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Vorhergehende Überarbeitung | |||
| — | z9001:software:kforth [2026/04/02 13:45] (aktuell) – [Anmerkungen] volkerp | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== KFORTH ====== | ||
| + | |||
| + | KC87 - FIG-FORTH 1.2 | ||
| + | (c) by LUBI-soft | ||
| + | |||
| + | aufgetaucht 2026 auf ROMs. | ||
| + | |||
| + | das ist ein FIG-Forth | ||
| + | |||
| + | 1K-Screens, 16 Zeilen a 64 Zeichen. | ||
| + | |||
| + | Start mit KFORTH | ||
| + | |||
| + | ===== Speicherbelegung ===== | ||
| + | |||
| + | | Dateiname | KFORTH.COM | | ||
| + | | Laden in | OS | | ||
| + | | Programmstandort | 0300h-22FFh | | ||
| + | | Screenbuffer | 4000h-7FFFh | | ||
| + | | OS-Kommando | KFORTH| | ||
| + | |||
| + | ===== Downloads ===== | ||
| + | |||
| + | * Binary, reass. Quellcode, Marken etc. vgl. Listing FIG-FORTH 1.1 CP/M. | ||
| + | |||
| + | ===== Sprachumfang ===== | ||
| + | |||
| + | TASK | ||
| + | [S] | ||
| + | [ECHO] | ||
| + | [TEXT] | ||
| + | .CPU | ||
| + | VLIST | ||
| + | D.R # | ||
| + | <# | ||
| + | IF | ||
| + | UNTIL | ||
| + | THEN | ||
| + | FORGET | ||
| + | CLOAD | ||
| + | R/W | ||
| + | UPDATE | ||
| + | MESSAGE | ||
| + | M/MOD | ||
| + | / / | ||
| + | MIN | ||
| + | S-> | ||
| + | QUIT | ||
| + | VOCABULARY | ||
| + | ? | ||
| + | [COMPILE] | ||
| + | ERROR | ||
| + | (NUMBER) | ||
| + | BLANKS | ||
| + | QUERY | ||
| + | -TRAILING | ||
| + | DOES> | ||
| + | DECIMAL | ||
| + | [ | ||
| + | ? | ||
| + | !CSP | ||
| + | LATEST | ||
| + | SPACE | ||
| + | = | ||
| + | 2+ | ||
| + | DISK-ERROR | ||
| + | USE | ||
| + | HLD | ||
| + | BASE | ||
| + | OFFSET | ||
| + | VOC-LINK | ||
| + | WIDTH | ||
| + | B/SCR | ||
| + | C/L | ||
| + | USER | ||
| + | ; : | ||
| + | C@ | ||
| + | 2+ | ||
| + | 2DUP | ||
| + | OVER | ||
| + | + | ||
| + | LEAVE ; | ||
| + | SP@ | ||
| + | U* | ||
| + | KEY | ||
| + | DIGIT | ||
| + | (LOOP) | ||
| + | EXECUTE | ||
| + | |||
| + | |||
| + | ===== Glossar ===== | ||
| + | |||
| + | (nur die Nicht-Standard-Worte) | ||
| + | |||
| + | ? .CPU | ||
| + | : Anzeige CPU -> U880 | ||
| + | ? LOOK | ||
| + | : Anzeige Base dezimal | ||
| + | ? FDOS | ||
| + | : CALL 5 mit Param., FDOS ( regC regDE -- regA regHL ) | ||
| + | ? BYE | ||
| + | : beendet KFORTH und kehrt ins OS zurück | ||
| + | ? CSAVE | ||
| + | : Speicherbereich auf Kassette sichern. aadr eadr CSAVE, Filename wird abgefragt, Dateityp " | ||
| + | ? CLOAD | ||
| + | : Laden von Kassette. aadr CLOAD | ||
| + | ? VERIFY | ||
| + | : Vergleichen. aadr VERIFY | ||
| + | |||
| + | Zeilen-Editor: | ||
| + | < | ||
| + | 1 CLEAR | ||
| + | 1 LIST | ||
| + | n S select screen #n | ||
| + | n P text put line n | ||
| + | n F | ||
| + | D | ||
| + | H | ||
| + | E n empty line n | ||
| + | R | ||
| + | </ | ||
| + | |||
| + | ===== Anmerkungen ===== | ||
| + | |||
| + | Die Vorlage für dieses Forth war vermutlich ein bereits angepasstes erweitertes FIG-FORTH (rom-fähig, | ||
| + | |||
| + | * Es gibt einen kleinen Sprungverteiler am Programmanfang. | ||
| + | * Next kann z.B. für einen Debugger erweitert werden. Dazu steht am Anfang von NEXT ein Sprung in den RAM, von hier geht es standardmäßig weiter in die interne NEXT-Routine zurück. Ein Debugger kann sich hier einklinken. | ||
| + | * Alle Variablen sind als User-Variablen ausgelegt; der letzte Wörterbucheintrag FORTH wird in den RAM (bzw. hier ans Speicherende) kopiert, damit die Wörterbuchverlinkung für neue Einträge ermöglicht wird. | ||
| + | * Allerdings sind die zusätzlichen Worte wie CLOAD/CSAVE nicht ROM-fähig, hier wird direkt im Codebereich geschrieben. | ||
| + | |||