*******TL/1************* nam tl1 ttl TL1 compiler ifp1 use defsfile endc * Module header definitions tylg set Prgrm+Objct atrv set ReEnt+rev rev set $00 edition set 1 mod eom,name,tylg,atrv,start,size TXTTOP EQU $FB7E INDN RMB 1 OUTDN RMB 1 LB RMB 2 GB RMB 2 MHIGH RMB 1 MOD RMB 1 WT1 RMB 1 WT2 RMB 1 RNDH RMB 1 RNDL RMB 1 DREG RMB 1 DBUF RMB 3 XR RMB 2 YR RMB 2 ZR RMB 2 PFTBEG RMB 2 PC RMB 2 SREG RMB 2 SP RMB 2 PFMAX RMB 2 LSW RMB 1 SY RMB 1 CH RMB 1 VAL RMB 1 GL RMB 1 OPER RMB 1 GLL RMB 1 INDEX RMB 1 RMCODE RMB 1 ACC RMB 1 LSIZE RMB 1 TCOUNT RMB 1 TEND RMB 2 WEND RMB 2 AMODE RMB 1 0x20 main, 1 proc, 0 ? RSW RMB 1 GEND RMB 2 SSW RMB 1 ** * LIBRARY ADDRESSS TABLE ** LIBR equ . ioentry rmb $80 filepath rmb 2 parmptr rmb 2 stdin rmb 1 adr rmb 2 work rmb 2 readbuff rmb $100 OBJSTART RMB 2 * OBJECT PG AREA WTBLE RMB $500+$100 MSTACK RMB $140 OBJECT RMB 2048 * NOP RUB equ 8 size equ . name fcs /TL1/ fcb edition ** COMP CLRA STA OUTDN STA LSW STA INDEX STA AMODE STA LSIZE STA RSW STA PFMAX leax MSTACK,u STX SP LEAX 2,x STX PFTBEG CLRB C1 STA ,X+ DECB BNE C1 INCA STA TCOUNT LDA #' ' STA CH ** copy reserved word table LEAX WTABLE,PCR leay WTBLE,u ldb #WTBLEND-WTABLE tbl1 lda ,x+ sta ,y+ decb bne tbl1 sty TEND LEAX OBJECT,u STX PC ** LBSR CRLF BSR REG0 LBSR WORD CMPA #$30 PROC? BNE *+4 BSR REGNAM BSR REG0 CMPA #$31 FUNC? BNE *+4 BSR REGNAM CLR LSIZE BSR REG0 LBSR PROG LBSR STPOUT LDX TEND STX GEND PLOOP LDA SY CMPA #$8F /END CODE LBEQ ENDL CMPA #$4 BCC ERR4 DECA STA AMODE LDA VAL LBSR DEFPF LBSR PUTHSL FDB $03BD FDB PSHLB BSR REG0 CLR LSIZE LBSR WORD CMPA #$37 ( BNE PL1 BSR REGNAM LDA #$3B ) LBSR CHECK PL1 BSR PROG * LDB AMODE * CMPB #1 * BNE *+5 LBSR RETP LDX GEND STX TEND LDB #5 STB TCOUNT BRA PLOOP ** * REGIST ZERO ** REG0 LDX TEND CLR ,X+ STX TEND INC TCOUNT RTS ** * REGIST NAME ** REGNAM COM RSW LBSR WORD LDB RSW BEQ *+5 ERR4 LBRA ERROR LDX TEND LDA LSIZE STA ,X INC LSIZE LDX WEND STX TEND BSR WORD1 CMPA #$36 [ BNE REG2 BSR WORD1 BNE ERR4 LDA VAL ADDA LSIZE BSR WORD1 LDA #$3A ":" LBSR CHECK REG2 CMPA #$3C "," get next word BEQ REGNAM RTS ** * PROGRAM ** PROG CMPA #$32 VAR? BNE *+4 BSR REGNAM BSR REG0 CMPA #$33 ARRAY? BNE *+4 BSR REGNAM LDB #-1 STB INDEX ** * STATEMENT ** STAT BSR SSTAT LDB SSW BEQ RTS1 LBRA ERROR ** * STATEMENTS LIST ** STLIST BSR SSTAT LDB SSW BEQ STLIST RTS1 RTS ** * SINGLE STATEMENT ** SSTAT CLRA STA ACC STA SSW LDA SY ** * MULTIPLE STATEMENTS ** SS1 CMPA #$34 BEGIN BCS SS2 CMPA #$38 END BCC SS2 ADDA #4 PSHS A BSR WORD1 BSR STLIST PULS A CLR SSW LBRA CHECK ** * STOP ** SS2 CMPA #$50 BNE SS3 BSR STPOUT WORD1 LBRA WORD ** STPOUT LBSR PUTHSL FCB 3,$7E FDB exit RTS ** * RETURN ** SS3 CMPA #$51 BNE SS4 LDB AMODE LBEQ ERR4 PSHS B BSR WORD1 PULS B DECB BEQ RETP LBSR EXPR RETP LBSR PUTHSL FDB $037E FDB PULLB RTS ** * PROC CALL ** SS4 CMPA #2 LBEQ PFCALL CMPA #$E0 BCS SS5 LBRA PFCALL ** * ASSIGNMENT STATEMENT ** SS5 CMPA #7 BCS ASSIGN LBRA SS6 ASSIGN LDB GL PSHS B LDB VAL PSHS B CMPA #5 BNE ASS1 LBSR SUBSC1 LDB ,S LDA LSW BNE AS0 LDA #$8B LBSR PUTAB LDA #1 BRA AS2 AS0 ADDB OPER STB ,S CLR LSW BRA AS1 ASS1 CMPA #6 BNE ASS2 LBSR DSUBSC LDA #2 BRA AS2 ASS2 CMPA #4 BEQ *+5 LBRA ERROR LBSR WORD AS1 CLRA AS2 PSHS A LDA SY CMPA #$3C BNE *+9 LBSR WORD BSR ASSIGN BRA AS3 LDA #$3D LBSR CHECK LDA #$27 LBSR CHECK LBSR EXPR AS3 PULS D STB OPER 4-- PULS B STB GLL TSTA BNE AS4 LBSR PUTX LDA #$A7 LDB OPER LBRA PUTAB AS4 DECA BNE AS5 LBSR PUTX LDA #$33 LBSR PUTA LBRA STABX AS5 LBSR PUTHS FCB 10 FDB $33D7 FCB WT2 FDB $33D7 FCB WT1 $9E,WT2 FDB $A700 CLR INDEX RTS ** ** NON-STATEMENT ** SSEND COM SSW RTS ** SS6 CMPA #$58 BCC SSEND CMPA #$52 BCS SSEND SUBA #$51 PSHS A LBSR WORD PULS B B keyword A next token ** * REPEAT UNTIL ** DECB BNE SS7 STB INDEX BSR ASTOUT LBSR STLIST LDA #$60 LBSR CHECK LBSR EXPR LBSR PUTHS FCB 2 FDB $2603 CLR SSW BRA MINOUT ** * FOR-TO ** SS7 DECB BNE SS8 CMPA #4 should be simple var BEQ *+5 LBRA ERROR LDB VAL PSHS B LDB GL PSHS B LBSR ASSIGN LDA #$61 to LBSR CHECK CLR ACC LBSR EXPR LDA #$64 do LBSR CHECK BSR ASTOUT LDD #$3402 pshs a LBSR PUTAB CLR INDEX LBSR STAT LDD #$3502 puls a LBSR PUTAB PULS D STA GLL STB OPER LDA #$A1 LBSR PUTABX LBSR PUTHS FCB 2 FDB $2305 LDA #$6C LDB OPER LBSR PUTAB MINOUT LBRA PULJMP ASTOUT LBRA PSHDEF ** * WHILE-DO ** SS8 DECB BNE SS9 STB INDEX BSR ASTOUT LBSR EXPR LDA #$64 LBSR CHECK LBSR PUTHS FCB 2 FDB $2603 BSR SLAOUT LDB INDEX PSHS B LBSR STAT PULS B STB INDEX BSR PEROUT BSR MINOUT PLUOUT LBRA PULDEF ** ** IF—THEN ** SS9 DECB BNE SS10 LBSR EXPR LDA #$65 LBSR CHECK LBSR PUTHS FCB 2 FDB $2603 BSR SLAOUT LDB INDEX PSHS B LBSR STAT PULS B CMPB INDEX BEQ *+4 CLR INDEX BRA PLUOUT SLAOUT LBRA PSHJMP PEROUT LBRA STCHG *** * CASE—OF SS10 DECB BNE SS11 LBSR EXPR LDA #$66 LBSR CHECK CLRB S10A INCB PSHS B STB ACC LBSR LEXPR LDA #$81 LBSR AOPER LBSR PUTHS FCB 2 FDB $2703 BSR SLAOUT LDB INDEX PSHS B LBSR STAT BSR SLAOUT BSR PEROUT BSR PLUOUT PULS B STB INDEX PULS B LDA SY CMPA #$67 BNE S10A PSHS B LBSR WORD LBSR STAT CLR INDEX PULS A LBRA PLDFN ** * WRITE STATEMENT ** SS11 LDA #$37 LBSR CHECK LBSR EXPR output channel number LBSR PUTHS FDB $0297 FCB OUTDN LDA #$3D LBSR CHECK WTLP CLR ACC BSR WTERM LDA SY CMPA #$3C BNE WTEN LBSR WORD BRA WTLP WTEN LDA #$3B LBRA CHECK ** write command argument WTERM CMPA #$6C string BNE WR1 LBSR PUTHSL FDB $03BD FDB PUTSTR LDA CH WR01 CMPA #'"' copy until '"' BEQ WR02 LBSR PUTA LBSR GETCH BRA WR01 WR02 CLRA put 0 at end STA INDEX LBSR PUTA LBSR GETCH LBRA WORD ** WR1 CMPA #$6B BNE WR3 LBSR WORD CMPA #$37 BEQ WR2 LBSR PUTHSL FDB $03BD FDB CRLF RTS ** WR2 LBSR WEXPR BSR WTEN LBSR PUTHSL FDB $03BD FDB CRLFA RTS ** WR3 CMPA #$6A BNE WR4 LBSR SUBSC LBSR PUTHSL FDB $03BD FDB SPACEA RTS ** WR4 CMPA #$A9 BNE WR5 LBSR SUBSC LBSR PUTHSL FDB $03BD FDB PUTCA RTS ** WR5 CMPA #$26 BNE WR6 LBSR DSUBSC LBSR PUTPLB LBSR PUTHSL FDB $03BD FDB PUTDA+1 BRA WR66 ** WR6 LBSR EXPR LBSR PUTHSL FDB $03BD FDB PUTDA WR66 CLR INDEX RTS11 RTS ** * PUTX & PUTB ** PUTABX PSHS D BSR PUTX PULS D BRA PUTAB ** * PUT LB, OR GB BY INDEX ** PUTX LDB GLL CMPB INDEX BEQ RTS11 STB INDEX ADDB #LB+1 LDA #$9E *** * PUT ACC A&B ** PUTAB BSR PUTA TFR B,A ** * PUT ACCA RS AN OBJECT ** PUTA STX RNDH LBSR AOUT LDX RNDH RTS ** * PUTHS STRING ** PUTHS LDX ,S++ LDB ,X+ PS1 LDA ,X+ BSR PUTA DECB BNE PS1 JMP ,X ** ** CHECK ACC ** CHECK CMPA SY BEQ WORD ** * ERROR ** ERROR LBSR PUTSTR FDB $0D0A FCC "ERROR ",0 LDX TEND LEAX 1,X NEG ,X ER0 LDA ,X+ LBSR PUTCA CMPX WEND BNE ER0 lbra exit ** * WORD DECORDER ** WORD BSR WORDS LDA SY RTS WORDS CLRB STB SY STB VAL LDA CH ** SKIP CONT ,SPACE.; WD1 CMPA #$21 BCS SKIP CMPA #'.' BEQ SKIP CMPA #';' BNE WD2 SKIP BSR GETCH BRA WD1 ** * COMMENT ** WD2 CMPA #'%' BNE WD3 BSR GETCH CMPA #$20 BCC *-4 BRA WD1 ** * ASCC CONST ** WD3 CMPA #'\'' BNE WD4 BSR GETCH STA VAL BSR GETCH GETCH PSHS X LBSR MEMIN STA CH PULS X,PC * HEX CONSTANT WD4 CMPA #'$' BNE WD5 WD40 BSR GETCH BSR TSTNA BEQ WD41 BCC RTS2 CMPA #'F'+1 BCC RTS2 SUBA #7 WD41 SUBA #'0' LDB VAL ASLB ASLB ASLB ASLB PSHS B ADDA ,S+ STA VAL BRA WD40 ** * TEST ALPHA NUMERIC TSTNA CMPA #'0' BCS NAF CMPA #'9'+1 BCS NT CMPA #'A' BCS NAF CMPA #'Z'+1 BCS AT NAF CLRB CLEAR C AT LDB #-1 RTS2 RTS NT CLRB RTS ** DECIMAL CONSTANT WD5 BSR TSTNA BNE WD6 WD50 SUBA #'0' PSHS A LDA VAL LDB #10 MUL ADDB ,S+ STB VAL BSR GETCH BSR TSTNA BEQ WD50 RTS * THE OTHER WORDS WD6 LDX TEND PSHS A NEGA LEAX 1,X BSR STAONE PULS A BSR TSTNA BCC TLOOK1 WD61 LDA CH BSR TSTNA BCS *+4 BNE TLOOK1 BSR STAONE BRA WD61 STAONE STA ,X+ STX WEND BRA GETCH TLOOK1 LDA RSW BEQ TLOOK COM RSW RTS ** * WORD TABLE SEARCH ** TLOOK PSHS U LDA TCOUNT STA SY LDX TEND S01 LDU WEND S02 LDA ,-U CMPA ,-X BEQ S06 S03 TST ,X BEQ S05 BMI S04 LEAX -1,X BRA S03 S04 LEAX -1,X BRA S01 S05 DEC SY BNE S01 LBRA ERROR S06 TSTA BPL S02 LDB ,-X STB VAL LDA SY CMPA #1 BNE *+6 TFR B,A BRA S07 CMPA #4 BCS RTSS LDB #1 TST AMODE BEQ *+6 CMPA #6 BCS *+3 NEGB STB GL ANDA #$FD S07 STA SY RTSS PULS U,PC ** * ARITHMATIC EXPRESSION ** WEXPR LBSR WORD EXPR BSR LEXPR BSR OLOAD RTE RTS ** WORD * LEXPR WLEXPR LBSR WORD ** * LOGICAL EXPRESSION ** LEXPR BSR REXPR LE1 LDY SY CMPA #$82 BCS RTE CMPA #$8A+1 BCC RTE PSHS A LBSR WORD BSR REXPR LDB LSW BNE LE2 LBSR PUTHS FDB $0397 FCB WT1 FCB $32 PULS A ADDA #$10 LDB #WT1 LBSR PUTAB BRA LE1 LE2 PULS A BSR OCORD BRA LE1 ** * RELATIONAL EXPRESS ** REXPR BSR AEXPR RE1 LDA SY CMPA #$21 BCS RTE CMPA #$30 BCC RTE PSHS A LBSR WORD ASR AEXPR LDA #$80 BSR AOPER PULS A LBSR PUTHS FCB 6 FCB $3,$4F,$20,$02,$86,$FF BRA RE1 ** ADDING OPERATFR AOPER LDB LSW BNE OCORD PSHS A CMPA #$80 BEQ *+5 BSR PUTPUL FCB $8C BSR PUTPLB PULS A SUBA #$70 PUTA1 LBRA PUTA ** OUTPUT SAVED L-CC OLOAD LDA LSW BEQ RTE LDA ACC BEQ *+6 LDA #$36 BSR PUTA1 LDA #$86 OCORD PSHS A CLRA STA LSW COMA STA ACC LDA AMODE CMPA #$20 BNE *+5 LBSR PUTX CLR LSW PULS A ADDA AMODE LDB OPER LBRA PUTAB * PUT 'TAB:PULS A' PUTPUL LBSR PUTHS FCB 2 FDB $1632 RTE1 RTS * PUT 'PULS B' PUTPLB LDA #$33 BRA PUTA1 ** * ADDING EXPRESSION ** AEXPR BSR MEXPR AE1 LDA SY CMPA #$80 BEQ AE2 CMPA #$8B BNE RTE1 AE2 PSHS A LBSR WORD BSR MEXPR PULS A BSR AOPER BRA AE1 ** * MUTIPLYING EXPRESSION ** MEXPR BSR TERM ME1 LDA SY CMPA #$8E BEQ ME2 CMPA #$8F BNE RTE1 ME2 PSHS A LBSR WORD BSR TERM LDB LSW BEQ ME3 LDA #$C6 BSR OCORD FCB $8C ME3 BSR PUTPUL PULS A CMPA #$8E BHS ME4 LBSR PUTHSL FCB 3 FCB $BD FDB MULT BRA ME1 ME4 LBSR PUTHSL FCB 3 FCB $BD FDB DIV BRA ME1 ** * TERM ** TERM LDA SY BNE TM1 * SAVE L-COMMAND SLOAD PSHS A LBSR OLOAD LDA VAL STA OPER LDA GL STA GLL PULS A STA AMODE COM LSW LBRA WORD * CONST TRUE & FALSE TM1 CMPA #$A0 BEQ TM01 CMPA #$A1 BNE TM2 TM01 SUBA #$A1 STA VAL CLRA BRA SLOAD * SYSTEM VAR MHIGH & MOD TM2 CMPA #$16 BEQ *+6 CMPA #$17 BNE TM3 STA VAL LDA #$10 BRA SLOAD * SIMPLE VARIABLE TM3 CMPA #4 BNE TM4 LDA #$20 BRA SLOAD * ( EXPTRSSION ) TM4 CMPA #$35 BCS TM5 CMPA #$38 BCC TM5 PSHS A LBSR WLEXPR PULS A ADDA #4 LBRA CHECK ** FUNCTION CALL TM5 CMPA #3 BMI *+6 CMPA #$E0 BCS TM6 BSR OLP PFCALL LDA VAL PSHS A LBSR WORD CMPA #$37 BNE PFC1 LDA LSIZE PSHS A INC LSIZE PFC2 INC LSIZE LBSR WEXPR CLRB STB ACC DECB STB GLL LDA #$A7 LDB LSIZE LBSR PUTABX LDA SY CMPA #$3C BEQ PFC2 PULS A STA LSIZE LDA #$3B LBSR CHECK PFC1 LDB #-1 STB ACC STB INDEX LDA #$86 LDB LSIZE LBSR PUTAB PULS A CMPA #$C0 BCC *+5 LBRA CALPF LDX #LIBR SUBA #$C0 PFC3 BEQ PFC4 LEAX 2,X DECA BRA PFC3 PFC4 LDA #$BD LBSR PUTA LDD ,X LBRA PUTAB ** OLP LBSR OLOAD LDB ACC BEQ RTS4 LDA #$36 LBSR PUTA CLR ACC RTS4 RTS ** FUNCTION RND TM6 CMPA #$70 BNE TM61 BSR SUBSC LBSR PUTHS FCB $03BD FDB RND RTS * FUNTION GET TM61 CMPA #$71 BNE TM62 BSR SUBSC LBSR PUTHS FDB $0297 FCB INDN LBSR PUTHSL FCB $03BD FDB GETCH RTS * FUNCTION READ TM62 CMPA #$72 BNE TM7 BSR SUBSC LBSR PUTHS FDB $0297 FDB INDN LBSR PUTHSL FCB $038D FDB GETDA RTS * FUNCTION NOTASL ET AL TM7 CMPA #$40 BCS TM8 CMPA #$49+1 BCC TM8 PSHS A BSR SUBSC PULS A LBRA PUTA * ARRAY TM8 CMPA #$5 BNE TM9 LDB VAL PSHS B LDB GL PSHS B BSR SUBSC1 PULS B STB GLL PULS B LDA LSW BEQ ARY1 ADDB OPER STB OPER LDA #$20 STA AMODE RTS ARY1 LDA #$8B LBSR PUTABX LBRA LDAAX ** DSUBSC LDA #$3C BSR SUBS1 LDA #$3B PSHS A BRA SUBS2 SUBSC LDA #$3E SUBS1 PSHS A LBSR WORD LDA #$37 LBSR CHECK SUBS2 LBSR EXPR PULS A LBRA CHECK SUBSC1 LBSR WORD LDA #$36 LBSR CHECK LBSR LEXPR LDB LSW BEQ SBS5 LDB AMODE BEQ SBS5 LBSR OLOAD SBS5 LDA #$3A LBRA CHECK * MEM FUNCTION TM9 CMPA #6 BNE TM10 BSR DSUBSC LBSR PUTHS FDB $0997 FCB WT2 FDB $3297 FCB WT1,$9E,WT1 FDB $A600 CLR INDEX RTS ** FOR EXPANTION TM10 LBRA ERROR ** * ADDRESS DEPENDENT CODE * GENARATION ** * SET PRC—FUNC TABLE ** SETPFT PSHS A LDB #3 MUL ADDD PFTBEG STD XR PULS A,PC ** TWICE LBSR PUTSTR FCB $0D,$0A FCC "TWICE!",0 lbra exit ** * DEF PROC-FUNC ** DEFPF BSR SETPFT LDX XR TST ,X BNE TWICE COM ,X LDX 1,X STX YR LDX XR LEAX 1,X BSR PCST LDX YR DP1 BEQ RT10 LDX ,X STX ZR LDX YR BSR PCST LDX ZR STX YR BRA DP1 ** * CALL PORC-FUNC ** CALPF BSR SETPFT INCA CMPA PFMAX BCS *+4 STA PFMAX LDA #$BD BSR AOUT LDX XR LDD 1,X LDX PC BSR STAABX LDX XR TST ,X BNE PC2ADD LEAX 1,X BSR PCST BRA PC2ADD ** * PUL-DEF N TIMES ** PLDFN PSHS A BSR PULDEF DEC ,S BNE *-4 PULS A,PC ** * PULL AND DEFINE ** PULDEF BSR PULSTK PCST LDD PC STAABX STD ,X RT10 RTS ** JMPOUT LDA #$7E AOUT LDX PC STA ,X BRA INCPC1 ** PULSTK LDX SP LEAX 2,x STX SP LDD ,X LDX ,X RTS ** * PUL STACK & Jump ** PULJMP BSR JMPOUT BSR PULSTK PCST2 LDX PC BSR STAABX INCPC LEAX 1,X INCPC1 LEAX 1,X SETPC STX PC RTS ** * PUSH STACK & JUMP ** PSHJMP BSR JMPOUT BSR PSHDEF PC2ADD LDX PC BRA INCPC ** * PUSH STRCK & DEFINE ** PSHDEF LDX SP BSR PCST LEAX -2,X STX SP RTS ** OUTPC3 BSR AOUT LDD PC ADDD #3 BRA PCST2 ** * LDA R,X LDAAX LDA #$B7 BSR OUTPC3 LDA #$A6 LA1 BSR AOUT BRA INCPC1 ** * STA B,X STABX LDA #$F7 BSR OUTPC3 LDA #$A7 BRA LA1 ** * STACK TOP CHANGE ** STCHG LDD 2,S LDX 4,S STD 4,S STX 2,S RTS ** * PUTHSL output with address calculation * only working on 3 byte 7E/BD (JMP/JSR) ** PUTHSL LDX ,S++ LDB ,X+ LDA ,X+ LBSR PUTA LDD ,X++ leay 0,pcr leay d,y exg d,y ldy pc std ,y++ sty pc JMP ,X ** ** * END OF LOAD ** ENDL LDX PFTBEG LDA PFMAX EL1 BEQ EL TST ,X BEQ UDERR EL2 LEAX 3,X DECA BRA EL1 UDERR PSHS A STA ZR SUBA PFMAX NEGA PSHS A LBSR PUTSTR FDB $0D0A FCC "UNDEF",0 PULS A LBSR PUTCA PULS A LDX ZR BRA EL2 EL LDX PC LBRA C ********************** * ADVANCE WORD ** WTABLE FCB 0 END MARK FCB $30,-'P' FCC "ROC" FCB $31,-'F' FCC "UNC" FCB $32,-'V' FCC "AR" FCB $33,-'A' FCC "RRAY" FCB $34,-'B' FCC "EGIN" FCB $35,-';' FCB $36,-'[' FCB $37,-'(' FCB $38,-'E' FCC "ND" FCB $39,-'=' FCB $3A,-']' FCB $3B,-')' FCB $3C,-',' FCB $3D,-':' FCB $50,-'S' FCC "TOP" FCB $51,-'R' FCC "ETURN" FCB $55,-'I' FCC "F" FCB $65,-'T' FCC "HEN" FCB $53,-'F' FCC "OR" FCB $61,-'T' FCC "O" FCB $52,-'R' FCC "EPEAT" FCB $60,-'U' FCC "NTIL" FCB $54,-'W' FCC "HILE" FCB $64,-'D' FCC "O" FCB $56,-'C' FCC "ASE" FCB $66,-'O' FCC "F" FCB $67,-'E' FCC "LSE" FCB $57,-'W' FCC "RITE" FCB $69,-'A' FCC "SCII" FCB $6A,-'S' FCC "PACE" FCB $6B,-'C' FCC "RLF" FCB $6C,-'"' FCB $8B,-'+' FCB $80,-'-' FCB $8E,-'*' FCB $8F,-'/' FCB $82,-'S' FCC "BC" FCB $84,-'A' FCC "ND" FCB $88,-'E' FCC "OR" FCB $89,-'A' FCC "DC" FCB $8A,-'O' FCC "R" FCB $22,-'>' FCB $25,-'<' FCB $26,-'#' FCB $27,-'=' FCB $2D,-'L','T' FCB $2E,-'G','T' FCB $40,-'N','E','G' FCB $43,-'N','O','T' FCB,$43,-'C','O','M' FCB $44,-'L','S','R' FCB $46,-'R','O','R' FCB $47,-'A','S','R' FCB $48,-'A','S','L' FCB $49,-'R','O','L' FCB $06,-'M','E','M' FCB $A0,-'T' FCC "RUE" FCB $A1,-'F' FCC "ALSE" FCB $16,-'M' FCC "HIGH" FCB $17,-'M' FCC "OD" FCB $70,-'R','N','D' FCB $71,-'G','E','T' FCB $72,-'R' FCC "EAD" WTBLEND ****** * SUPORTING ROUTINES * & I/0 CONTROL ** ** OBJECT START ****** C leas MSTACK,u VARPTR LDX