;%TITLE 'ZEN 1.9 by Martin J. Tracy' ; ; ZEN 1.9 ; Main program ; ; Martin J. Tracy 8/7/89 ; Copyright 1989 All rights reserved ; ;* Modified 02/02/90 by Mark A. Washburn to produce COM executable ; ; ANS X3J14 Standard Documentation ; See ANSFORTH.DOC ; ; IBM MS-DOS small-model ROM-able Forth ; ; BX register is top-of-stack. ; Direct-Threaded Code (DTC) with JMP in code field. ; ; Listing Attributes ; ;%MACS ;%PAGESIZE 58,70 ;%BIN 10 ;%TEXT 50 ; ; Parameters ; ; ??? remove all referance to CS: and SS: in the include files ; ??? remove all null strings "" ; HEADS_OFF EQU 1 ; defined for no headers in code ; INCLUDE HON.INC ; include defines to remove code sections ; ; ; Dictionary_Size EQU 00002h ; Dictionary size in bytes Table_Area_Size EQU 00002h ; Table size in bytes Array_Area_Size EQU 00002h ; Variable size in bytes Data_Stack_Size EQU 00020h ; Data stack size in words Return_Stack_Size EQU 00020h ; Return stack size in words ; ; Groups ; _TEXT SEGMENT PUBLIC 'CODE' org 0100h ASSUME CS:_TEXT, DS:_TEXT start: Jmp ColdStart ; ; Data segments ; ; Constant variables and tables go here TORG: INCLUDE TBL.INC TP0 db (Table_Area_Size) DUP (?) ; Uninitialized variables go here VORG: INCLUDE VAR.INC VP0 db (Array_Area_Size) DUP (?) STACK dw (Data_Stack_Size) DUP (?) SP0 dw (Return_Stack_Size-2) DUP (?) RP0 dw ? ; code starts here DORG: INCLUDE INTERNL3.INC ; macros and internals INCLUDE CONTROL.INC ; flow of control INCLUDE STACKMEM.INC ; stack and memory operators INCLUDE LOGIMATH.INC ; logic and math operators INCLUDE STRINGS.INC ; string operators INCLUDE DEVICE.INC ; device drivers INCLUDE INPUTOUT.INC ; I/O INCLUDE INTRPRET.INC ; Interpreter INCLUDE COMPILER.INC ; Compiler INCLUDE STRINGS2.INC ; Supplementary strings INCLUDE FILES.INC ; File system INCLUDE APP.INC INCLUDE FINALE3.INC ; Initialization DP0 db (Dictionary_Size) DUP (?) _TEXT ENDS END start