;; 
;; Compile with "tasm -80 -b program.asm program.p" 
;; 
 
#define db .byte ; TASM cross-assembler definitions 
#define dw .word 
#define ds .block 
#define org .org 
#define end .end 
 
   org     $4009 
 
;= System variables ============================================ 
 
   db 0     ;VERSN 
   dw 0     ;E_PPC 
   dw dfile      ;D_FILE 
   dw dfile+1    ;DF_CC 
   dw var   ;VARS 
   dw 0     ;DEST 
   dw var+1      ;E_LINE 
   dw last-1     ;CH_ADD 
   dw 0     ;X_PTR 
   dw last  ;STKBOT 
   dw last  ;STKEND 
   db 0     ;BERG 
   dw membot     ;MEM 
   db 0     ;not used 
   db 2     ;DF_SZ 
   dw 1     ;S_TOP 
   db $FF,$FF,$FF     ;LAST_K 
   db 55    ;MARGIN 
   dw dfile      ;NXTLIN 
   dw 0     ;OLDPPC 
   db 0     ;FLAGX 
   dw 0     ;STRLEN 
   dw $0C8D      ;T_ADDR 
   dw 0     ;SEED 
   dw $FFFF      ;FRAMES 
   db 0,0   ;COORDS 
   db $BC   ;PR_CC 
   db 33,24      ;S_POSN 
   db 01000000B  ;CDFLAG 
   ds 33    ;Print buffer 
membot: 
   ds 30    ;Calculators memory area 
   ds 2     ;not used 
 
;= First BASIC line, asm code ================================== 
 
line0: 
   db 0,0 
   dw dfile-$-2 
   db $ea   ; REM 
 
   / 
   | 
   | Your ASM program here 
   | 
   \ 
 
   db $76   ;N/L 
 
;- Display file -------------------------------------------- 
 
dfile: 
   db $76 
   db $76,$76,$76,$76,$76,$76,$76,$76 
   db $76,$76,$76,$76,$76,$76,$76,$76 
   db $76,$76,$76,$76,$76,$76,$76,$76 
 
;- BASIC-Variables ---------------------------------------- 
 
var: 
   db $80 
 
;- End of program area ---------------------------- 
 
last: 
 
   end 