$C6CF KILL FILE ENTRY POLCAT EQU $A000 POLE KEYS PUTCAT EQU $A002 ECHO KEY EOL EQU 0 PITCH EQU $8C SOUND PITCH BUFPNT EQU $A6 COMMAND BUFFER POINTER DFILNM EQU $094C FILSPC SET FILE NAME HERE THELIN EQU $02DD COLOR INPUT TERMINAL LINE ADR DKTYPE EQU $0957 FILE TYPE+ASCII FLAG DEFDRV EQU $095A DEFAULT DRIVE JXADDR EQU $836C PUT ADDRESS ONTO STACK CHROUT EQU $A002 DISPLAY CHAR CHRIN EQU $A176 GET CHAR. FROM DEVICE LINPUT EQU $A390 LINE INPUT CLRSCN EQU $A928 CLEAR SCREEN SOUND EQU $A951 SOUND GENERATOR DCOPC EQU $C006 DEVICE CONTROL POINTER DKOPEN EQU $C468 OPEN DISK FILE FILSPC EQU $C88A GET FILE SPEC ITEMS DKCLS EQU $CA53 CLOSE DISK FILE DKCLC EQU $CA3B CLOSE ALL FILES BASPNT EQU $A6 FILSEC EQU $0973 FDCODE EQU $EA DRIVE EQU $EB FNDF EQU $C65F AFN EQU $0974 SVERF EQU $D5FF FILSPEC EQU $0973 * FILE1 FDB SYSIN FCB FOR INPUT FILE INFILN FCB 1 FILE INPUT DEVICE FILE2 FDB SYSOUT FCB FOR OUTPUT FILE OUTFLN FCB 2 FILE OUTPUT DEVICE STDIN FDB ZGETC FCB FOR KEYBOARD FCB 3 INPUT DEVICE STDOUT FDB ZPUTC FCB FOR DISPLAY FCB 4 OUTPUT DEVICE PRINT FDB PROUT FCB FOR PRINTER FCB 4 * SUBROUTINE TO SET UP DEFAULT I/O * * ENTER HERE TO OPEN A FILE * B=FILE NUMBER, A='I FOR INPUT 'O FOR OUTPUT OPEN STB FILTYP SET FILE NUMBER LBSR OPNFIL RTS * ZERROR LEAX ERMSG,PCR LBSR OUTSTZ BRA ALLDON * ZWARMS EQU * ALLDON LBSR CLEARS CLEAR SCREEN JMP $C002 RETURN TO BASIC * * PEEK FUNCTION * * CALLING SEQ.- I=PEEK(MADR); * INPUT MADR= ADDRESS OF MEMORY TO EXAMINE * OUTPUT - THE CONTENT OF THE EXAMINED MEMORY * PEEK LDX [0,U] RTS * * POKE FUNCTION * * CALLING SEQ.= POKE(MADR,VAL); * INPUT: * MADR= MEMORY ADR TO FILL * VAL= VALUE TO PLACE IN MEMORY * POKE LDX 2,U LDD 0,U STB 0,X RTS * * RENAME FUNCTION * * RENAME(OLD,NEW) * INPUT: * OLD = CURRENT FILENAME SR * NEW = NEW FILENAME STR * RENAME LDA DEFDRV STA DRIVE LDX 2,U PSHU X LBSR FILMNM BEQ RENAMC LEAU 2,U LDA DRIVE PSHU A LDX 1,U PSHU X LBSR FILMNM BEQ RENAMB LEAU 2,U PULU A CMPA DRIVE BNE RENAMC PSHS U JSR FNDF PULS U TST FILSEC BNE RENAMD LDX 2,U PSHU X LBSR FILMNM LEAU 2,U PSHS U JSR FNDF PULS U TST FILSEC BEQ RENAMD LDX 0,U PSHU X LBSR FILMNM LEAU 2,U LDX #DFILNM LDY AFN LDB #11 RENAML LDA ,X+ STA ,Y+ DECB BNE RENAML LDB #3 STB FDCODE PSHS U JSR SVERF PULS U LDX #1 RENAMX RTS RENAMB PULU A RENAMC LEAU 2,U RENAMD LDX #0 BRA RENAMX * * PLACE FILE FROM STRING * INTO TRS DOS DISK FILENAME * STRING * FILMNM(STRING) * INPUT: * STRING= FILENAME STRINGADR * OUTPUT: * STATUS= 0-BAD 1-GOOD * * FILMNM LDY 0,U LDX #DFILNM LDB #11 LDA #$20 FILZZM STA ,X+ DECB BNE FILZZM LDX #DFILNM LDA DEFDRV STA DRIVE LDA 1,Y CMPA #'/ BEQ FALMNM CMPA #': BEQ FALMNM FLLMNM LDA 0,Y+ BEQ FXLMNM CMPA #': BEQ FBLMNM CMPA #'/ BEQ FBLMNM CMPA #'. BEQ FCLMNM STA 0,X+ BRA FLLMNM FXLMNM LDA DFILNM+8 CMPA #$20 BNE FGLMNM LDD #$5458 STD DFILNM+8 STA DFILNM+10 FGLMNM LDX #1 FHLMNM RTS FALMNM LDA 0,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE LEAY 2,Y BRA FLLMNM FBLMNM LDA ,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE BRA FXLMNM FCLMNM LDX #DFILNM+8 BRA FLLMNM FKLMNM LDX #0 BRA FHLMNM * * MAIN PROCESSOR * * REDIRECT OUTPUT TO PRINTER * RE-DIRECT INPUT DIRIN TFR X,D LDA #'I LBSR OPEN RTS * RE-DIRECT OUTPUT DIROUT LDD #$03FF STD DKTYPE TFR X,D LDA #'O OPEN TEXTFILE FOR OUTPUT LBSR OPEN RTS * GNCHAR BSR GCHAR CHECK NEXT CHAR. BEQ GCHAR DON'T PASS EOL CMPA #$D BEQ GCHAR INC BUFPNT+1,PCR BUMP POINTER TO NEXT CHAR BNE GCHAR INC BUFPNT GCHAR LDA [BUFPNT] RTS * * * OUTPUT STRING TO DISPLAY OUTST1 BSR ZPUTC OUTSTZ LDA ,X+ CMPA #4 BNE OUTST1 RTS * * EXTERNALLY REFERENCED PROCEDURES * * OUTPUT CHARACTER TO DISPLAY ZPUTC CLR FILTYP CMPA #7 BELL CHAR? BNE ZPUTC1 PSHS CC,X ANDCC #$EF INSURE IRQ ENABLED! LDD #$6405 PITCH:DURATION STA PITCH JSR SOUND PULS CC,X RTS * OUTPUT CHARACTER TO DEVICE SET ZPUTC1 BSR ZPZTCH RTS ZGETC CLR FILTYP FROM KEYBOARD BSR ZGZTCH PSHS A BSR ZPUTC ECHO THE INPUT PULS A,PC * * PRINTER OUTPUT PROUT PSHS B LDB #-2 STB FILTYP PULS B BRA ZPUTC1 * * FILE INPUT SYSIN PSHS B LDB INFILN,PCR STB FILTYP PULS B BRA ZGZTCH * * FILE OUTPUT SYSOUT PSHS B LDB OUTFLN,PCR STB FILTYP PULS B BRA ZPZTCH * FMS JMP ,X * * GET FILE NAME AND DRIVE GETSPC PSHS U JSR FILSPC PULS U RTS * * OUTPUT A CHARACTER ZPZTCH PSHS U JSR [CHROUT] PULS U RTS * * GET A CHARACTER ZGZTCH PSHS U JSR CHRIN TST IERR PULS U RTS * * CLOSE FILE NUMBER SET IN FILTYP CLOSE PSHS U JSR DKCLS PULS U RTS * * CLOSE ALL OPEN FILES CLSALL PSHS U JSR DKCLC PULS U RTS * ,X LBRA SCANB INPUCI LBSR ZLINEI BRA INPUTC INPUTD BSR PDECP NEW 5-18-81 LBRA SCANB NEW 5-18-81 PDECP LDD #0 NEW 5-18-81 PSHU D INPUDY LBSR ZGNCHR CMPA #EOL BEQ INPUDI BRA INPADA INPUDA LBSR ZGNCHR INPADA LDB #1 PSHU B CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX CMPA #'- BNE INPUDB LDA #-1 STA 0,U INPUDL LBSR ZGNCHR INPUDB CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX PSHU A LDX 2,U LDD #10 LBSR CCMULT PULU A SUBA #'0 LEAX A,X STX 1,U BRA INPUDL INPUDX CLRA LDB 0,U+ SEX LDX 0,U++ LBSR CCMULT STX [,U++] RTS INPUDI LBSR ZLINEI BRA INPUDY INPHEX LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLHH LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPOCT LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLOO LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPCHL LEAX ,U PSHS X LBSR ZGNCHR CMPA #EOL BNE INPCHB LBSR ZLINEI INPCHA LBSR ZGNCHR INPCHB CMPA #EOL BEQ INPCHC CMPA #32 BEQ INPCHC LDX ,S STA ,X+ STX ,S BRA INPCHA INPCHC CLR ,X LEAS 2,S RTS INPLOO LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGP LDA ,X+ BEQ INPLGS SUBA #0 CMPA #7 BLE INPLGQ CLRA INPLGQ PSHU A LDB #3 PSHS Y LDY 16,U INPLGR ANDCC #$FE ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPLGR LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGP INPLGS LEAU 17,U RTS INPLGH BSR INPLHH LBRA SCANB INPLHH LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGI LDA ,X+ BEQ INPLGM SUBA #'0 CMPA #9 BLE INPLGK CMPA #$19 BLE INPLGJ SUBA #$20 INPLGJ SUBA #7 INPLGK PSHU A LDB #4 PSHS Y LDY 16,U INPGL ANDCC #$7E ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPGL LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGI INPLGM LEAU 17,U RTS *\END-SCANF\ *\END\ *\EXIT\ GOTO DOS *\ENDHEAD EXIT LBRA ZWARMS *\END-EXIT\ *\END\ *\ISALPHA\ CHECK FOR ALPHABETIC *\ENDHEAD ISALPH LDD ,U CMPB #96 BLE ISALPB SUBB #32 ISALPB CMPB #'A BLT ISALPX CMPB #'Z BGT ISALPX LDX #1 RTS ISALPX LDX #0 RTS *\END-ISALPH\ *\END\ *\ISUPPE\ UPPER CASE ALPHABETIC *\ENDHEAD ISUPPE LDD ,U CMPB #'A BLT ISUPPX CMPB #'Z BGT ISUPPX LDX #1 RTS ISUPPX LDX #0 RTS *\END-ISUPPE\ *\END\ *\ISLOWE\ CHECK LOWER CASE *\ENDHEAD ISLOWE LDD ,U ISLOWZ CMPB #'a BLT ISLOWX CMPB #'z BGT ISLOWX LDX #1 RTS ISLOWX LDX #0 RTS *\END-ISLOWE\ *\END\ *\ISDIGI\ CHECK DIGIT *\ENDHEAD ISDIGI LDD ,U CMPB #'0 BLT ISDIGX CMPB #'9 BGT ISDIGX LDX #1 RTS ISDIGX LDX #0 RTS *\END-ISDIGI\ *\END\ *\ISSPAC\ SPACE,TAB,CR *\ENDHEAD ISSPAC LDD 0,U CMPB #32 BEQ ISSPAX CMPB #9 BEQ ISSPAX CMPB #13 BEQ ISSPAX LDX #0 RTS ISSPAX LDX #1 RTS *\END-ISSPAC\ *\END\ *\TOUPPE\ CONVERT UPPER CASE *\ENDHEAD TOUPPE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOUPX SUBB #32 TOUPX TFR D,X RTS *\END TOUPPE\ *\END\ *TOLOWE\ CONVERT LOWER CASE *\ENDHEAD TOLOWE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOLOWX ADDB #32 TOLOWX TFR D,X RTS *\END-TOLOWE\ *\END\ FOPEN LDX 2,U LDA 0,X ANDA #$5F CMPA #'W BNE ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #1 LBSR DSKFND CMPX #0 BNE ZWOPZN LDX #0 RTS ZWOPZN LDX 0,U LBSR DIROUT LDX 0,U RTS ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #2 LBSR DSKFND CMPX #0 BNE ROPZNZ LDX #0 RTS ROPZNZ LDX 0,U LBSR DIRIN LDX 0,U RTS FCLOSE LDD 0,U STB FILTYP LBSR CLOSE RTS DELFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FLKILL PULS U LDX #1 RTS FDFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FINDFL PULS U LDX #1 TST FLFLFD BNE FDFILX LDX #0 FDFILX RTS GETS LBSR GETLIN LDX 0,U LDY #THELIN GETSZX LDA ,Y+ STA ,X+ BNE GETSZX RTS *\\GETCHAR\\ GET INPUT STDIN GETCHA PSHS U LBSR ZGETC PULS U BEQ GETCHA TFR A,B CLRA TFR D,X RTS *\\NWCHAR\\CHECK FOR CHAR * NO WAIT * CALLING SEQUENCE: * C=NWCHAR(X); * WHERE X=0 OR 1 * X=1 ECHO CHARACTER * X=0 NO ECHO * USE GETCHAR TO WAIT FOR CHAR NWCHAR PSHS U JSR [POLCAT] BEQ NWCHAB PULS U LDX 0,U BEQ NWCHAA PSHS A,U JSR [PUTCAT] PULS A,U NWCHAA TFR A,B TFR D,X RTS NWCHAB PULS U LDX #0 RTS *\\PRTTOG\\ SET PRINTER ON OR OFF PRTTOG LDD 0,U STB PRTFLG,PCR RTS *\\PUTCHA\\ PUT CHAR TO STD OUT PUTCHA EQU * LDD 0,U TFR B,A LBSR ZPUTC TST PRTFLG BNE PXTCHR RTS PXTCHR LDD 0,U TFR B,A LBSR PROUT RTS PUTC LDD 2,U TFR B,A CMPA #10 BEQ PUTCA LBSR SYSOUT PUTCA LDX #1 RTS GETC LBSR SYSIN BEQ GETCB GETCA LDX #-1 RTS GETCB TFR A,B CLRA TFR D,X RTS ZLINEI LBSR GETLIN DEC BUFPNT+1 RTS ZGNCHR LBSR GNCHAR CMPA #$0D BNE ZZGNCH CLRA ZZGNCH RTS * * EXTERNAL EQUATES FILTYP EQU $6F FILE TYPE 0,-2=DISPLAY,PRINTER >0=FILE # IERR EQU $70 INPUT ERROR - $FF=EOF,0=OK EEOF EQU $FF FINDFL EQU $C65F CHECK IF EXIST FLFLFD EQU $0973 FIND FILE FLAG FLKILL EQU0,U BEQ PRINBD BAD FORMAT LDA ,X+ PICKUP NEXT FIELD CMPA #'% CHECK FOR % PRINTING BEQ PRINCS PRINT AS SINGLE CHAR STX 1,U LDX 3,U VAR ADR LEAX -2,X POSITION TO VAR STX 3,U SAVE NEW POSITION LDX ,X DEC 0,U DECR VAR COUNT CMPA #'D BEQ PRIND PRINT DECIMAL CMPA #'d BEQ PRIND CMPA #'S BEQ PRINS PRINT STRING CMPA #'s BEQ PRINS CMPA #'C BEQ PRINC PRINT SINGLE CHAR CMPA #'c BEQ PRINC CMPA #'O LBEQ PRINO CMPA #'o LBEQ PRINO CMPA #'X LBEQ PRIXN CMPA #'x LBEQ PRIXN PRINBD LDX 1,U PRINT BAD FORMAT PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OL LEAU 5,U RTS PRIND PSHU X LBSR OUTDEC LEAU 2,U BRA PRINB PRINX LEAU 5,U RTS PRINS PSHU X LBSR OT LBRA PRINB PRINC PSHU X LBSR PUTCHA LEAU 2,U BRA PRINB PRINCS CMPA #'\ BNE PRINCK LDA 0,X+ LBEQ PRINBD CMPA #'\ BEQ PRINCK CMPA #'n BEQ PRINH CMPA #'N BEQ PRINH CMPA #'t TOP OF FORM BEQ PRINCL CMPA #'T BEQ PRINCL BRA PRINCL PRINCJ STX 1,U LBSR NL LBRA PRINB PRINCL LDA #12 PRINCK STX 1,U CMPA #10 BEQ PRINGG TFR A,B LBSR OUTBYT LBRA PRINB PRINBS LDX 1,U LEAX 1,X STX 1,U LBSR NL LBRA PRINB PRINGG LBSR NL LBRA PRINB PRINH LDA #10 LBRA PRINCK PRILX LDX 5,U LDD ,--X STX 5,U PSHU B LEAX ,U LBSR OUTHEX LEAU 1,X PULU X PRIXN PSHU X LEAX ,U LBSR OUTADR LEAU 2,U LBRA PRINB PRINO PSHU A PSHU X PSHU A LDA #6 LDB #1 PRINOA PSHU A PRINOB CLR 1,U PRINOC ASL 4,U ROL 3,U ROL 2,U ROL 1,U DECB BNE PRINOC LDB 1,U CLRA ADDB #$30 LBSR OUTBYT LDB #3 DEC ,U BNE PRINOB LEAU 5,U LBRA PRINB PRIOL LDX 5,U LDD ,--X STX 5,U PSHU D LDB #3 LDA #8 BRA PRINOA ILLFOR FCC ' *** ILLEGAL FORMAT ****' FCB 0 *\END-PRINTF\ *\END\ *\OUTBYT\ OUTPUT A BYTE *\PUTCHA *\ENDHEAD OUTBYT PSHU A CMPA #0 BNE OUTBYA LEAU 1,U LDX #0 RTS OUTBYA LDB 0,U PSHU D LBSR PUTCHA LEAU 2,U LDA 0,U+ RTS *\END-OUTBYT\ *\END\ *\OUTSTR\ OUTPUT STRING *\OUTBYT *\ENDHEAD OUTSTR PULU Y OUTSA LDA 0,Y+ LBSR OUTBYT BNE OUTSA RTS *\END-OUTSTR\ *\END\ *\NL\ SEND CR LF *\OUTBYT *\ENDHEAD NL LDA #10 LBSR OUTBYT LDA #13 LBSR OUTBYT RTS *\END-NL\ *\END\ *\OL\ OUTPUT LINE *\NL *ENDHEAD OL LBSR OT LBSR NL RTS *\END-OL\ *\END\ *\OT\ OUTPUT TEXT *\OUTSTR *\ENDHEAD OT LBSR OUTSTR RTS *\END-OT\ *\END\ *\STREQ\ COMPARE 2 STRINGS *\ENDHEAD STREQ LEAU -2,U LDX #0 STX 0,U LDX 4,U LDY 2,U LDB #0 STREQA LDA B,Y BEQ STREQC CMPA B,X BEQ STREQB LDX #0 RTS STREQB INCB BRA STREQA STREQC CLRA TFR D,X CMPB #0 LEAU 6,U RTS *\END-STREQ\ *\END\ *\OUTDEC\ *\CCDIV *\CCMOD *\OUTBYT *\ENDHEAD OUTDEC LEAU -5,U LDX #0 STX 1,U LDX #10000 STX 3,U LDD 5,U BPL OUTDEA COMA COMB ADDD #1 STD 5,U LDA #'- LBSR OUTBYT OUTDEA LDX 3,U CMPX #1 BLT OUTDEX LDD 5,U LDX 3,U LBSR CCDIV TFR X,D ADDB #'0 STB 0,U CMPB #'0 BNE OUTDEB LDX 3,U CMPX #1 BEQ OUTDEB LDX 1,U BEQ OUTDED OUTDEB LDX #1 STX 1,U LDA 0,U LBSR OUTBYT OUTDED LDD 5,U LDX 3,U LBSR CCMOD STX 5,U LDD 3,U LDX #10 LBSR CCDIV STX 3,U BRA OUTDEA OUTDEX LEAU 5,U RTS *\END-OUTDEC\ *\END\ *\OUTHEX -- OUTPUT HEX *\OUTBYT *\ENDHEAD OUTHEX LDA ,X PSHU A LSRA LSRA LSRA LSRA CMPA #10 BLT OUTHX1 ADDA #$37 BRA OUTHX2 OUTHX1 ADDA #$30 OUTHX2 LBSR OUTBYT PULU A ANDA #$0F CMPA #10 BLT OUTHX3 ADDA #$37 BRA OUTHX4 OUTHX3 ADDA #$30 OUTHX4 LBSR OUTBYT RTS *\END-OUTHEX\ *\END\ *\OUTADR\ OUT 2 HEX BYTES *\OUTHEX\ *\ENDHEAD\ OUTADR PSHU X LBSR OUTHEX PULU X LEAX 1,X LBSR OUTHEX RTS *\END\ *\SCANF\ FORMAT INPUT *\OL *\OT *\ENDHEAD SCANF LDD [0,S] ANDB #31 SUBB #2 LEAX B,U PSHU X LDX ,X PSHU X CLRB LDX 0,U SCANA LDA 0,X+ BEQ SCANG CMPA #'% BNE SCANA LDA 0,X CMPA #'% BNE SCANAA LEAX 1,X BRA SCANA SCANAA INCB BRA SCANA SCANG PSHU B SCANB LDX 1,U LDA ,X+ BEQ SCANX CMPA #'% BNE SCANBD TST 0,U BEQ SCANBD LDA ,X+ STX 1,U LDX 3,U LEAX -2,X STX 3,U LDX ,X DEC 0,U PSHU X CMPA #'D LBEQ INPUTD CMPA #'d LBEQ INPUTD CMPA #'S BEQ INPUTS CMPA #'s BEQ INPUTS CMPA #'H BEQ INPUTL CMPA #'h BEQ INPUTL CMPA #'C BEQ INPUTC CMPA #'c BEQ INPUTC CMPA #'O LBEQ INPOCT CMPA #'o LBEQ INPOCT CMPA #'X LBEQ INPHEX CMPA #'x LBEQ INPHEX SCANBD LDX 3,U PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OT SCANX LEAU 5,U RTS INPUTL PSHU X NEW 5-18-81 LEAX 0,U NEW 5-18-81 PSHU X NEW 5-18-81 BSR PDECP NEW 5-18-81 PULU D NEW 5-18-81 STB [,U++] NEW 5-18-81 LBRA SCANB INPUTS LBSR ZGNCHR CMPA #EOL BEQ INPUSI LDX 0,U INPUSS STA ,X+ STX 0,U LBSR ZGNCHR CMPA #EOL BEQ INPUSX CMPA #32 BNE INPUSS INPUSX LDX 0,U CLR ,X+ LEAU 2,U LBRA SCANB INPUSI LBSR ZLINEI BRA INPUTS INPUTC LBSR ZGNCHR CMPA #EOL BEQ INPUCI CMPA #32 NEW 5-18-81 BEQ INPUTC NEW 5-18-81 PULU X STAž½—¯MìM®Oí„Ì®Oí3Èž90B½"Î'Ì®Oí„í3Èž9Ž2E½ ¹½(ž½"½ ‹½o3Èž9INVALID EXPRESSION63Z®F½,^¯D½!÷žÔ0‰46Ž1½!1^Ž1½!1&3^Ž1½!1&3^Ž1 ½!1&®D3H9®D'®F½"˜Ž1½!˜'F½(0Ľ,^'0Ľ"˜®F®„Ÿô'¦ �& Ž*^½*pÿҮğô'žô¦ �' Ž*^½*pÿ»Ž*F½*pÿ²Ž1 ½!˜'F½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*j½*pÿ‚®ÄŸô'¦ �& Ž*j½*p3ÿmŽ*R½*pÿdžÔ0‰46Ž1½!1'U3^Ž1½!1&K½½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*X½*pÿ0ÄŸô'žô¦ �& Ž*X½*pÿŽ*@½*pþÿžÔ0‰46Ž1½!1'U3^Ž1½!1&K½½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*d½*pþº®ÄŸô'žô¦ �& Ž*d½*pþ£Ž*L½*pþš3Hž9�W&f†Õ&Ž9³Ž9O†¾&Ž9�Ž9÷o_96oˆ7Žݦ §€&ú9 ø'½6J½6"9� 'ñŽ9Þ'Žÿÿ9� &O‰O9ìÁCS9�ùÃ966 Ì66¦EæG=íB¦EæF=ãAíAæG¦D=ãAíA®B3H9!3_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$6�Ž®Ä3G9ƒ' .6ÿ|lF9Ì3G2b9ÿ�96U6a6?6"6JŽ5?¿7hŽ5B¿7j¿7lŽ5E¿7nŽ6m¿5.9÷oT9Ž7Zª nö~ÀÆ Ž L† §€Z&ûŽ LƦ '�/' �.'§€Z&ïÆŽ T¦ '§€Z&÷9Á'û†T· T†X· U†T· V9Ž5E¿7j9Ž59¿7h†Iö5;ÿŽ9Ž5<¿7jÌÿý W†Oö5>ÿy9�' � '|§&|¦¦Ÿ¦9�0¦„DDDD�¦„„‹�‰@ �¦€�&ø9o�&�D4ïÌd·Œ½©Q5 :�L9o�S4�Ú5‚4Æþ÷o5 ç4ö5;÷o5 64ö5>÷o5 n„4_›5„4Æ›5…4@�í½ÈŠ�ï5@94@�á­Ÿ �â5@94@�Ô½¡v�Ö5@}p94@�ŽÊS�Ç5@94@�¹½Ê;�»5@94@�­½Äh�¯5@94@�¡½ƒl�£5@594@�“½£��•5@94@�‡½©(�‰5@964@½7ˆ5@} s&7Ž�'9Ž97Ž�'9Ž76ê ÿ¹Žݦ„„_�N&94@½7‘5@Ž9FILE EXISTS -KILL FILE(Y/N)? PCDTXT ERROR  AT ½6o½Æ_~6v½6o½ÆÏ~6vÿÜè'é½ÀŽ4½4H~5s–é666½ ½ é'é3\½ ½Ž7ݽ4H7—é¶7Ý�X'9~wÿÿ¦A�&†§M0C69ÿ'9Ž97Ž�'9Ž76ê ÿ¹Žݦ„„_�N&94@½7‘5@Ž9FILE EXISTS -KILL FILE(Y/N)? PCDTXT ERROR  AT ½6o½Æ_~6v½6o½ÆÏ~6vÿÜè'é½ÀŽ4½4H~5s–é666½ ½ é'é3\½ ½Ž7ݽ4H7—é¶7Ý�X'9~wÿÿ¦A�&†§M0C69ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*COLOR COMPUTER-C COMPILER REV 1.2 NAM DGSC ORG $0F00 *0 ERRORS IN COMPILATION END CINT ? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB 0 OPT LIS * END OF LIB CC2 FCC '%D%S\N' FCB 0 FCC ' primes' FCB 0 PRIME RMB 4095 COUNT RMB 2 I RMB 2********* *\\CINT\\ INITIALZATION ROUTINE CINT LDU #$6FFF SET U STACK LBSR MAIN GOTO MAIN ROUTINE LBRA ZWARMS RETURN SYSTEM *\\CCOR\\ LOGICAL OR CCOR PSHU X ORA ,U+ ORB ,U+ TFR D,X RTS *\\CCAND\\ LOGICAL AND CCAND PSHU X ANDA ,U+ ANDB ,U+ TFR D,X RTS *\\CCXOR\\ LOGICAL XOR CCXOR PSHU X EORA ,U+ EORB ,U+ TFR D,X RTS *\\CCASL\\ ARITHMETIC SHIFT LEFT CCASL EXG D,X CCASLA LSLA LSLB BCC CCASLB ORA #1 CCASLB LEAX -1,X CMPX #0 BNE CCASLA TFR D,X RTS *\\CCASR\\ ARITHMETIC SHIFT RIGHT CCASR EXG D,X CCASRA LSRB ASRA BCC CCASRB ORB #128 CCASRB LEAX -1,X CMPX #0 BNE CCASRA TFR D,X RTS *\\CCCOM\\ COMPLEMENT CCCOM TFR X,D COMA COMB TFR D,X RTS *\\CCNEG\\ NEGATE OR 2'S COMPLEMENT CCNEG BSR CCCOM LEAX 1,X RTS *\\CCNEGD\\ NEGATE D REGISTER CCNEGD COMA COMB ADDD #1 RTS *\\CCMULT\\ INTEGER MULTIPLY CCMULT PSHU X PSHU D LDD #0 PSHU D PSHU D LDA 5,U LDB 7,U MUL STD 2,U LDA 5,U LDB 6,U MUL ADDD 1,U STD 1,U LDB 7,U LDA 4,U MUL ADDD 1,U STD 1,U LDX 2,U LEAU 8,U RTS *\\CCDIV\\ INTEGER DIVIDE CCDIV LEAU -1,U CLR 0,U PSHU X PSHU D LDX #0 PSHU X BSR FIXNEG STD 2,U LDD 4,U BSR FIXNEG STD 4,U LDX #16 DIV1 ASL 3,U ROL 2,U ROL 1,U ROL 0,U LDD 0,U CMPD 4,U BLO DIV2 SUBD 4,U STD 0,U INC 3,U DIV2 LEAX -1,X BNE DIV1 LDD 2,U ASR 6,U BCC DIV3 BSR FIXNE1 DIV3 TFR D,X LDD 0,U LEAU 7,U RTS FIXNEG CMPD #0 BEQ CCDIVZ BGT CCDIVK FIXNE1 BSR CCNEGD INC 6,U CCDIVK RTS CCDIVZ LDX #0 LEAU 7,U LEAS 2,S RTS *\\CCMOD\\ MODULE DIVIDE RETURN REMAINDER CCMOD LBSR CCDIV EXG X,D RTS *\PRINTF\ FORMAT PRINT ROUTINE PRINTF LDD [0,S] FORMAT PRINT ROUTINE ANDB #31 DETERMINE NUMBER OF BYTES SUBB #2 LEAX B,U FORMAT STRING STACK ADR PSHU X SAVE VAR POSITIONING LDX ,X FORMAT STRING ADR PSHU X SAVE FOR ANALYSIS CLRB LDX 0,U PRINA LDA 0,X+ BEQ PRING CMPA #'% BNE PRINA LDA 0,X CMPA #'% BNE PRINAA LEAX 1,X BRA PRINA PRINAA INCB BRA PRINA PRING PSHU B PRINB LDX 1,U PICKUP NEXT FIELD LDA ,X+ CHECK IF FINIS BEQ PRINX YES CMPA #'% BNE PRINCS PRINT AS SINGLE CHAR TST ®ÄÜ0‹¦„®Ä0¯Ä�&ð®Ä3D9®ÄÜ0‹¦„®Ä0¯Ä�&î®ÄÜ0‹¦„®Ä0¯Ä�&î ¬3Dž96�&3Až9žè'žè½4iŒ.½-Ž j½ ¹ ¦Ä½4]¦À9OUTPUT FILE ERROR6®Ä¦ ½ >&ù3B9žè& † ½ >† ½ >9† ½ >9† ½ >9† ½ >Ž ²½!)9 EQU *~7²^½$[Ž4½ |½ ‹½$[ž¯Ä®ÄœÔ,®Ä¦‰4� &½   † ½ >®Ä0¯Äÿ݆^½ >½ ‹½$[Ž!½ |®B½ |Ž!½ |½ ‹žâ0Ÿâ3D9 *****½!)½ ‹967½ |963^ž¯Ä®D®BƦ¥' ¡…'ž3F9\ ðOÁ3F966®C®AÆáÄ, ¦¥¡…&�'\ ï6¦…½û'3Fž9æÄ¦¥½û'3Fž9OæÀ3E96½!÷žÔ0‰46®B½!1Œ' ÓÔÝÔ3Bž93Bž966½!÷žÔ0‰46®C¦B½!XŒ'ÓÔÝÔ½Ò½û'½ ó3Cž93Cž9½Ò& ½1½Çžä'ñ½Ò� &½ì å½Ò� &½ì Ù963[ޝAŽ'¯CìE* CSËíE†-½ >®CŒ-;®E®C½4¾Ë0çÄÁ0& ®CŒ'®A' ž¯A¦Ä½ >®E®C½5íE®CŽ ½4¾íC ¾3G96®Äì&®„½'' ®½'„3B96®Äì„' ì&®„½$½ ®Äì½'Â3B96Žé½½*¹Žþ½®Ä½(½3B96®Ä½##'½( 8®Ä½#£'½( ,®Ä½#×' ½( žÚ½º†+½ >®Ä®„½"Ž$í½!"3BŽ93Bž9®Ä®„½"½ ‹3Bž963[ÌíAíC®C'&ž¯CŽ1#½!˜'ž¯CŽ1%½!˜' ìACSËíAž¯C Ö½Ò½ê&3Gž9½Ò½ê'½§Ä®CŽ ½4“6æBÀ0OãÁíC ÝìAƒ,ìCCSËíCìC®Eí„3Gž963]ÌíAŽ#Õ½!˜&3Ež9½ì§Ä�''¦AæÄíA ïìA®Cí„3Ež9'6ŽÙ½!˜&3Bž9Ü0®Ä턽Ò�"'9�'5ž0œ$-Ž$D½ ¹ŽÙ½!˜&½ì&ó3Bž9½ì6ž0Ü0‹7§„ž00Ÿ0 À½ìž0Ü0‹†§„ž00Ÿ03Bž9STRING SPACE EXHAUSTED†*½ >9½$[Ž$t½ |½ ‹Ž$–½!"9COLOR COMPUTER-C COMPILER REV 1.2 NAM DGSC ORG $0F00Ž$³½!"9 END CINT6¦ �'6¦ �&0Ž%½!)®Ä0„½¹Ž$í½!"Ž'å½!"Ž$ò½!"3B9,PCR TFR D,XŽ%½!)®Ä0„½¹Ž$í½!"3B9 LDB LDX LDA NDA „ FANDB Ä FANDCCÊASL H ]ASLA H »ASLB X »ASR G ]ASRA G »ASRB W »BCC $ ¾BCS % ¾BEQ ' ¾BGE , ¾BGT . ¾BHI " ¾BHS $ ¾BITA … FBITB Å FBLE / ¾BLO % ¾BLS # ¾BLT - ¾BMI + ¾BNE & ¾BPL *BRA ¾BRN ! ¾BSR � ¾BVC ( ¾BVS ) ¾CLR O ]CLRA O »CLRB _ »CMPA � FCMPB Á FCMPD ƒ“CMPS ŒµCMPU ƒµCMPX Œ FCMPY Œ“COM C ]COMA C »COMB S »CWAI <ÊDAA  »DEC J ]DECA J »DECB Z »(END  ENDC £ ENDM È ENDR ÙEORA ˆ FE6Ž'½!)®Áì “Ü½"Ž'$½!)½ ‹9 LEAX ,U6¦ �'!¦ �&Ž'i½!"Ž'~½!)®Ä0„½¹Ž$í½!) Ž'x½!)®Ä0„½¹Ž$í½!)½ ‹3B9 TFR X,D STB STX STB Á&Ž'i½!"Ž'ª½!"ÜÜÃÝÜ9Ž'¶½!"ÜÜÃÝÜ9 STB [,U++] STX [,U++]Á&Ž'Ô½!"9Ž'ܽ!"9 LDX ,X LDB ,X CLRA TFR D,XŽ'ü½!"9 EXG D,XŽ(½!)9Ž'½!)9 LDX #Ž('½!"žÜ0ŸÜ9 PSHU XŽ(<½!"žÜ0ŸÜ9 PULU DŽ'i½!"Ž(W½!"Ž(_½!"9 PULU X PSHU D6Ž(x½!)®Á½¹½ ‹9 LBSR Ž(†½!"9 RTSŽ(˜½!"žÜ0ŸÜ9 JSR 0,U++6Ž(¶½!)®Ä½º½ ‹3B9 LBRA 6Ž(Û½!"Ž(Ô½!)®Á½º½ ‹9 LBEQ CMPX #0Ž(ë½!)9 FCC 'Ž(ù½!)9 RMB Ž)½!)9 FDB 63^ìB“ÜíÄ&®B3D9Ž)3½!)®Ä½"Ž):½!"®B3D9 LEAU ,UŽ)D½!"9 TFR X,D LEAX D,XŽ)_½!"9 LEAX D,XŽ)p½!"9 PSHU X SUBD 0,U++ TFR D,XŽ)–½(g9CCMULTŽ)¤½(g9CCDIVŽ)±½(g9CCMODŽ)¾½(g9CCORŽ)ʽ(g9CCXORŽ)×½(g9CCANDŽ)ä½(g9CCASRŽ)ñ½(g9CCASLŽ)þ½(g9CCNEGŽ* ½(g9CCCOMŽ*½!"9 LEAX 1,XŽ*)½!"9 LEAX -1,X BNE BEQ BLE BLT BGE BGT BLS BLO BHS BHI 6Ž*н!)®Á½!)Ž*ª½!"žÜ0ŸÜ9 TFR X,D LDX #0 CMPD ,U++ *+4 LEAX 1,X3\0Ľ*Ê'0Ľ"˜3D963Z®F½+¯DŽ1½!˜'-®D& ½53HŽ9®Fì'½(0Ľ*Ê'0Ľ"˜®F½"�3HŽ9®D3H963Z®F½+V¯D½!÷½Ò�#'®D3H9®D'®F½"˜Ž1½!˜'½(0Ľ+V'0Ľ"˜½(/½)· á3Hž963Z®F½+�¯D½!÷½Ò�^'®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ+�'0Ľ"˜½(/½)à á3Hž963Z®F½+ä¯D½!÷½Ò�&'®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ+ä'0Ľ"˜½(/½)Ð á3Hž963Z®F½2X¯D½!÷žÔ0‰46Ž1 ½!1&3^Ž1½!1&®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ2X'0Ľ"˜Ž*4½*p áŽ1½!˜'½(0Ľ2X'0Ľ"˜Ž*:½*pÿÁ3Hž963Z®F½,Ú¯D½!÷žÔ0‰46Ž1½!1&3^Ž1½!1&®D3H9®D'®F½"˜Ž1½!˜'½(0Ľ,Ú'0Ľ"˜½(/½)Ý ßŽ1½!˜'½(0Ľ,Ú'0Ľ"˜½(/½)êÿ¿3Hž963Z®F½-u¯D½!÷½Ò�+' �-'®D3H9®D'®F½"˜Ž1#½!˜'0½(0Ľ-u'0Ľ"˜®F®„Ÿô'žô¦ �& ¦ �&½)=½(/½)X ÈŽ1%½!˜'1½(0Ľ-u'0Ľ"˜®F®„Ÿô'žô¦ �& ¦ �&½)=½(/½)iÿ�3H963Z®F½.¯D½!÷½Ò�*' �/' �%'®D3H9®D'®F½"˜Ž£½!˜'½(0Ľ.'0Ľ"˜½(/½)� áŽ1'½!˜'½(0Ľ.'0Ľ"˜½(/½)�ÿÁŽ1)½!˜'½(0Ľ.'0Ľ"˜½(/½)ªÿ¡3Hž963\Ž1+½!˜'G®D½.¯B&½53Fž9®D®'½(®D½"˜½*®D®„¯Ä®Ä¦ �& ¦ �&½*®D½"�3Fž9Ž1.½!˜'C®D½.¯B&½53Fž9®D®'½(®D½"˜½*"®D®„¯Ä®Ä¦ �& ¦ �&½*"®D½"�3Fž9Ž1%½!˜'®D½.¯B®B'®D½"˜½)÷|Ž£½!˜'4®D½.¯B®B'®D½"˜®DÌí®D®„¯Ä' ®Äæ O®Dí®D̯„3Fž9Ž1 ½!˜'=®D½.¯B®B& Ž11½ ¹$®D®'½( ®D®„¯Ä½¹Ž$í½!"®Äì O®Dí3Fž9®D½/ù¯BŽ1+½!˜'N®B&½5ÿâ®D®'½(®D½"˜½*®D®„¯Ä®Ä¦ �& ¦ �&½*®D½"�½*"®Ä¦ �& ¦ �&½*"ÿžŽ1.½!˜'N®B&½5ÿŒ®D®'½(®D½"˜½*"®D®„¯Ä®Ä¦ �& ¦ �&½*"®D½"�½*®Ä¦ �& ¦ �&½*ÿH®B3F963\®D½1A¯B®D®„¯Ä½!÷½Ò�['�('µŽ¥½!˜'n®Ä&Ž0ó½ ¹½oŽ—½3Fž9®Ä¦ �&®D½"˜®Ä¦ �' Ž0ó½ ¹ž¯B½(½*¹Ž—½®Ä¦ �&½)=½(/½)X®DÌí„®Äì O®D힯BÿŠŽé½!˜'2®Ä&ž½®Ä¦ �' ®D½"˜ž½®Ä½ÌíB®Dí„ÿP®B3F9®Ä&ÿô®Ä¦ �&½( ®Ä½¹Ž$í½!"ÿFÿØCAN NOT SUBSCRIPT=#^&==!=<><<>><=>=+-/%++--ILLEGAL ADDRESS63QŽé½!˜'®O½*ʯĎþ½®Ä3È90D½r'¬0D½j¯M'5½'ìM®Oí„®Mì O®Oí®M¦ �&Ì®Oí®M¦ �&3Èž93Èž90D½<¯M'?®M¦ �'7ìM®Oí„Ì®Oí®M¦ �'3Èž9½( ®M½¹Ž$í½!"®Mì ®Oí3Èž90D6†6†6*–<Ðè_ÿ7ˆ_ÿ—«Ü‚'ؽ‡‚ƒ Ï)׫ÖÜ‚“aƒÝ‚–§š¨'?Ü‚ƒÝ‚ 6׫ 2¦„�+&0¦„�+&0†—« †—«Ü‚'½‡‚ƒ–¬' ¦„�]'½ –«…& Ü‚'½‡‚ƒ–«�ÿ&–ª�ÿ&†—« Ü‚‘‚&†—« † —«–«…'� &«�'B–¾½6v½5HÌ7ˆ_‹ÝžŽ%|ÓÝÃÝžŽ%jÓÝ ÃÝžŽ%XÓÝ"ÃÝÓ Ýž Ÿ$ž Ÿ&ÞžŸ*žŸ,žŸ.žŸð½½A½†½$a½ƒ½ú½b½¯½$¬½-~7  ä&QŽÛ†½!¿' †½5½´½!÷ åŽà†½!¿'† çŽä½!˜'½è àŽé½!˜'½û ÓŽò½!˜'½q ƽÁ Á9"CHARINT#ASM#INCLUDE#DEFINE3\Ü0&3D9žÚ½ºž¯Ä®Äœ0,î½(䎯BìB'î“íB®ÄÜ0‹¦„®Ä0¯Ä�'½ >®B'ž0¬Ä,Ù†'½ >½ ‹ Á†'½ >½ ‹Ž[½!" ± FCB 03^žì&3B9žŸôžôœ*,ó¦ �'+½¹½(òžôì íĦ �&¦ �'ìÄãÄíÄ®Ä&޽"½ ‹žô0ŸôÿÀžà' žòŒ'ŽÕ½ ¹½ ‹½$[žâ½"Ží½ |½ ‹9MISSING CLOSING BRACKET ERRORS IN COMPILATION3\½ÿ%ؽ ‹½ ‹½ ‹Ž˜½ ½ ‹ŽÔ½ ½ ‹½ ‹Žõ½ Ž4½4HžŸî½9½Ò�Y&  Ž4½4HžŸì½9½Ò�Y&žŸìŽ!½ Ž4½4H½9½Ò�&ž¯Ä 0Ľ##¯B'ۮğؽ³ŸÚ½ÿ3D9** COLOR COMPUTER C COMPILER ** BY B W DUGGER 02/82 (C)1982 DUGGER'S GROWING SYSTEMSINCLUDE C-TEXT ON OUTPUT? DEFINE GLOBALS? STARTING LABEL NUMBER? † 6½ b9½ÿžŸèŽ˽ Ž4½4H½9½Ò�&9Žņø½!¿' ø9Ž4†W½4 Ÿè&Žݽ ¹ ¿½ÿ9žŸæžæ&3½ÿžä&,Žê½ Ž4½4H½9½Ò& ä Ž4†R½4 Ÿæ&Žݽ ɽÿ9PRINTOUTPUT FILENAME? OPEN FAILUREINPUT FILENAME? ½!÷žÔ0‰4†I½4 Ÿê&޽ ¹½ÿ9INCLUDE OPEN FAILURE žè'½4?963S½š'3N9ž¯KŽ£½!˜'† †§I0Ľr&½·0Ľ<'0ĽŽ¥½!˜'½Y¯K'†§I †§I0Ä6¦K6¦È6®O½—ާ½!˜&ÿ™3N9*[,6ž63S½š' ÜÜ£M½) 3È9Ž£½!˜'† †§I0Ľr&½·0Ľj'0ĽŽ¥½!˜'&½Y¯K'†§I¦O�&,ìKãKíK#†§IޝK¦O�& ¦I�'ž¯K ޝKÜÜ£KÝÜìMãKíM0Ä6¦K6¦È6žÜ½Ž§½!˜'ÿ`ÿX3^Ž—½!˜'3Bž90Ľ##& Ž™½ ¹ž¯Ä®ÄŒ, Ž«½ ¹ìÄCSíÄŽ—½®Ä3B9]MUST BE CONSTANT NEGATIVE SIZE ILLEGAL3U0B½r& ŽÒ½ ¹½ÿ3K90B½<¯Ä''®Ä¦ �'0B½ *®Ä® Œ&0B½ ®Ä†§ 0B6†6†6޽—Žé½!˜&Žë½ ¹0B½¹½ ¦½ ‹žŸÞŽþ½!˜&>0B½r' ÜÞÃÝÞ Ž½ ¹½o½!÷Ì4ÓÔ6Žþ½!1&ާ½!˜&޽ ¹½š'ºžŸ,žŸÜžÞ'0ŽÛ†½!¿' ޽,½´ çŽà†½!¿' ޽,½´ ÒŽ ½ ¹½½Œ'ž½) ½(žŸÜžŸ,3K9ILLEGAL FUNC OR DECLAR(MISSING OPEN PAREN)ILLEGAL ARG NAMEEXPECTED COMMAWRONG #ARGS63TžÞ'yŽ£½!˜'Ž¯Ä Ž¯Ä0C½r&ް½ ¹0C½j'0C½Ž¥½!˜'½�]'½š'ôޝĽ7ßìB6ìO6ÜÞƒ½ÜÞƒÝÞ½š&ާ½!˜&޽ ¹ÿƒ3N9ILLEGAL NAME½Ò&žä'9ŽÛ†½!¿' †½©½´9Žà†½!¿'† 뎂½!˜'½Õ9Ž„†½!¿' ½ôŽŸò9އ†½!¿' ½ZŽŸò9Ž�†½!¿' ½§½´ŽŸò9Ž”†½!¿' ½¸½´ŽŸò9Žš†½!¿' ½н´ŽŸò9Ž£½!˜'9Žä½!˜' ½èŽŸò9½*¹½´ŽŸò9@IFWHILERETURNBREAKCONTINUE;$ELSE#ENDASMŽ£½!˜&Žý ¹9MISSING SEMICOLONžà0ŸàŽ¥½!˜& žä'9½½ îžà0Ÿà93Xž,¯FžÜ¯D½³¯B½"µ½½®D½) ŸÜ®FŸ,ާ†½!¿&®B½º½ ¦½ ‹3H9½³¯Ä½(£®B½º½ ¦½ ‹½½®D½) ŸÜ®FŸ,®Ä½º½ ¦½ ‹ Ï3XÜ,íÄÜÜíB½³¯D½³¯F0Ľ2®D½º½ ¦½ ‹®F½"µ½½®D½(£®F½º½ ¦½ ‹®ÄŸ,®B½) ŸÜ½„3H9½š&½*¹ž½) ½(93^½‘¯Ä' ®½) ®Ä®½(£3B93^½‘¯Ä' ®½) ®Ä®½(£3B9žŸð½1ެ½!˜&žä& Ž4½ |½ ‹ æ½ÿžŸð96ž6½!÷®B&½(žÔ0‰46Žþ½!1&!½š&½*¹®B&½(D½(ìÄÃíÄŽ§½!˜&ÏŽþ½®B'½(g ½(‹ÜÜãĽ) ŸÜ3D9½½û' ½Ò½û'½ì ó½Ò½û& ½Ò'½ì î½!÷9½!÷Ì4ÓÔ6Ž£½!1&½Ò'ž9ž9ŽÁ½ ¹½o9ILLEGAL SYMBOL NAMEALREADY DEFINEMISSING BRACKETMUST BE 1 VALUE6ŽÕ½ ¹½$[®Á½ |½ ‹96®Ä½!˜&Žä½ ¹½$[®Ä½ |½ ‹3B9Žô½ ¹963^ž¯Äž*¬Ä'®B6®B†½!X'®Ä3D9ÌãÄíÄ ßž3D963^ž¯Äž,¬Ä'®B6®B†½!X'®Ä3D9®Ä0¯Ä à3Dž963^®F½<Ÿô&Ež*œ- Žî½ ¹3Hž9ž*¯ÄŸô®F¦„0§Ô¯F®Ä0¯Ä½û&ëžô¦E§ ¦D§ †§ ìBí ÌÓ*Ý*žô3H9GLOBAL TABLE OVERFLOW63^®F½jŸô'3Hžô9ž,œ - Ž]½ ¹3Hž9ž,¯ÄŸô®F®Ä¦€§ ¯F¯Ä½û&ížô¦E§ ¦D§ †§ ìBí ž,0Ÿ,3Hžô9LOCAL TABLE OVERFLOW63]½!÷½Ò½Í&ž3E9ž¯A½Ò½û'ìAãC½짤®A0¯A åìCãAo„Ž3E9žØ0ŸØ96Žʽ |®Ä½"3B9CC„�A-�Z/�_' �a-�z/ž9Ž9„�0-�9.Ž9ž9޽Í&½ê&ž963^ž¯Ä†½4]ìBãĦ„�' ½4]®Ä0¯Ä é3D963^ž.œ"& Žm½ ¹3D9ž¯Ä®ÄŒ,ìBãÄ섞.í¤1"®Ä0¯ÄŸ. ß3D9TOO MANY ACTIVE WHILES½‘'Ü.ƒÝ.9ž.œ& ލ½ ¹ž9Ü.ƒ9NO ACTIVE WHILES6®Ä¦ �a-�z.€ ½ >&ï3B9žÔ¦‰4„9½Ò&†9žÔ¦‰5„9½Ò&9žÔ¦‰40ŸÔ„9žŸÔŸ49½Ò&žä'†9½1½Ç ì½ì9½Ò&½1žä'ž9½ì93\žæ&½†žä'3D9žê&žæ¯Ä½ÿ®Ä½4t¯BŒ/Œ'žÔŒO,ìBžÔç‰40ŸÔ ÚžÔo‰4®BŒ,®Ä½4?žê'žŸê žŸæžÔ'�žî'žð' ½$[Ž4½ |½ ‹žŸÔ3D96žÖ§‰„žÖŒO,0ŸÖ¦À93Tžð&3L9žŸÔŸÖ½Ò'M� '½Ò� &† ½±½Ò� '� &Þ½ì ð½Ò�"&/½Ò½±½ì½Ò�"'½Ò&ŽÕ½ ¹ ½ì½± ä½ì†"½± ¡½Ò�'&,½±½ì½Ò�''�&ŽP½ ¹ ½ì½± å½ì†'½±ÿn½Ò�/&5½Û�*&.½½½Ò�*&½Û�/'½Ò&½1 ½žä'á½½ÿ2½Ò½û'uޝJ½Ò½û'®JŒ,0ãJ½Ò§¤®J0¯J½ì Û0ãJo„1½ݯJ'®JÜ0‹¦„§I®J0¯J�'þÙ½± 垯J0ãJ¦„§I®J0¯J�'þº½± å½ì½±þ¬†½±žÖŒO-Žc½ ¹žŸÔŽ4Ž„¦ §€&ú3L9MISSING APOSTROPHELINE TOO LONG3U0B½r& ½·½ÿ3K91B¦ ½Ä&ù½Ò� '� &½ì ð½ì½Ä&øž2œ&-޳½ ¹3K9MACRO TABLE FULL6ž2Ü0‹¦Ä§„ž20œ&,Ÿ2¦À963^ž¯Ä®Äœ2,N®B6ÜãB†½!X'{¦ÿ9‰O9+z§9…� &O9‡“s[}×oú90�„z  ~ÀÆ Ž L† §€Z&ûŽ LƦ '�/' �.'§€Z&ïÆŽ T¦ '§€Z&÷9Á'û†T· T†X· U{!†T· V9†IÿŸ9Ìÿý W†Oÿ‘9�' � 'l�è^& ¦¦Ÿ¦9�¦€�&ø9o�&4ïÌd—Œ½©Q59�79o�;4�à5‚4Æþ×o5 é4æ�ÿ3×o5 4æ�ÿ*×o5{œ n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'9{0�"6ú�ÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXIST - KILL FILE(Y/N)? ERROR \NDGS 1983 ADD SEQUENCE NUMBERS\NINPUT FILE =’%S\NOUTPUT FILE =%SRWÿ%4@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'9{0�"6ú�ÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXIST - KILL FILE(Y/N)? ERROR \NDGS 1983 ADD SEQUENCE NUMBERS\NINPUT FILE =ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿž½—¯MìM®Oí„Ì®Oí3Èž90B½"Î'Ì®Oí„í3Èž9Ž2E½ ¹½(ž½"½ ‹½o3Èž9INVALID EXPRESSION63Z®F½,^¯D½!÷žÔ0‰46Ž1½!1^Ž1½!1&3^Ž1½!1&3^Ž1 ½!1&®D3H9®D'®F½"˜Ž1½!˜'F½(0Ľ,^'0Ľ"˜®F®„Ÿô'¦ �& Ž*^½*pÿҮğô'žô¦ �' Ž*^½*pÿ»Ž*F½*pÿ²Ž1 ½!˜'F½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*j½*pÿ‚®ÄŸô'¦ �& Ž*j½*p3ÿmŽ*R½*pÿdžÔ0‰46Ž1½!1'U3^Ž1½!1&K½½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*X½*pÿ0ÄŸô'žô¦ �& Ž*X½*pÿŽ*@½*pþÿžÔ0‰46Ž1½!1'U3^Ž1½!1&K½½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*d½*pþº®ÄŸô'žô¦ �& Ž*d½*pþ£Ž*L½*pþš3Hž9�W&f†Õ&Ž9³Ž9O†¾&Ž9�Ž9÷o_96oˆ7Žݦ §€&ú9 ø'½6J½6"9� 'ñŽ9Þ'Žÿÿ9� &O‰O9ìÁCS9�ùÃ966 Ì66¦EæG=íB¦EæF=ãAíAæG¦D=ãAíA®B3H9!3_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$6�Ž®Ä3G9ƒ' .6ÿ|lF9Ì3G2b9ÿ�96U6a6?6"6JŽ5?¿7hŽ5B¿7j¿7lŽ5E¿7nŽ6m¿5.9÷oT9Ž7Zª nö~ÀÆ Ž L† §€Z&ûŽ L~8 '�/' �.'§€Z&ïÆŽ T¦ '§€Z&÷9Á'û†T· T†X· U†T· V9Ž5E¿7j9Ž59¿7h†Iö5;ÿŽ9Ž5<¿7jÌÿý W†Oö5>ÿy9�' � '|§&|¦¦Ÿ¦9�0¦„DDDD�¦„„‹�‰@ �¦€�&ø9o�&�D4ïÌd·Œ½©Q5 :�L9o�S4�Ú5‚4Æþ÷o5 ç4ö5;÷o5 64ö5>÷o5 n„4_›5„4Æ›5…4@�í½ÈŠ�ï5@94@�á­Ÿ �â5@94@�Ô½¡v�Ö5@}p94@�ŽÊS�Ç5@94@�¹½Ê;�»5@94@�­½Äh�¯5@94@�¡½ƒl�£5@594@�“½£��•5@94@�‡½©(�‰5@964@½7ˆ5@} s&7Ž�'9Ž97Ž�'9Ž76ê ÿ¹Žݦ„„_�N&94@½7‘5@Ž9FILE EXISTS -KILL FILE(Y/N)? PCDTXT ERROR  AT ½6o½Æ_~6v½6o½ÆÏ~6vÿÜè'é½ÀŽ4½4H~5s–é666½ ½ é'é3\½ ½Ž7ݽ4H7—é¶7Ý�X'9~wÿÿ¦A�&†§M0C69Üè'ÜâTÝâ~¯¶ Z·ë¦!�/',�:'(¦ '�:'3�/'/�.'<§€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,#�0%€0·ë1" Ŧ¤�4,�0% €0·ë ÈŽ T ¯Ž Ñÿë¦!�/',�:'(¦ '�:'3�/'/�.'<§€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,#�0%€0·ë1" Ŧ¤�4,�0% €0·ë ÈŽ T ¯Ž Ñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ STD 0,Y STORE NEG INT LDX #1 FTOIX RTS FTOIE LDX #0 STX 0,Y RTS PSHU D * * ********** * FLT POINT TEST FUNCTION * ********** * * FLT PT TEST FOR EQUAL * CALLING: FPEQ(X,Y) * X==Y RETURN 1 * X!=Y RETURN 0 * FPEQ LBSR FCMPR LDX #0 CMPA #0 BNE FPEQX LEAX 1,X FPEQX RTS * * FLT PT TEST - GREATER THAN * CALLING: FPGT(X,Y) * X>Y RETURN 1 * X<=Y RETURN 0 * FPGT LBSR FCMPR LDX #0 CMPA #1 BNE FPGTX LEAX 1,X FPGTX RTS * * FLT PT TEST- LESS THAN * CALLING: FPLT(X,Y) * X=Y RETURN 0 * FPLT LBSR FCMPR LDX #0 CMPA #2 BNE FPLTX LEAX 1,X FPLTX RTS * * FLT PT TEST- LESS THAN = * CALLING: FPLTE(X,Y) * X<=Y RETURN 1 * X>Y RETURN 0 * FPLTE LBSR FCMPR LDX #1 CMPA #2 BEQ FPLTEX FPLTEA CMPA #0 BEQ FPLTEX LDX #0 FPLTEX RTS * * FLT PT TEST - GREATER = * CALLING: FPGTE(X,Y) * X>=Y RETURN 1 * X Y * 2 X < Y FCMPR LEAU -4,U LDY 4,U LDX 6,U CLR 3,U CLR 2,U LDA 1,X ANDA #$80 STA 1,U LDA 1,Y ANDA #$80 CMPA 1,U BEQ FCMPRB INC 2,U CMPA #0 BNE FCMPRX INC 2,U FCMPRX LDA 2,U BEQ FCMPRO TST 3,U BEQ FCMPRO INCA CMPA #2 BEQ FCMPRO LDA #1 FCMPRO LEAU 4,U RTS FCMPRB STA 3,U LDA 0,X CMPA 0,Y BEQ FCMPRD FCMPRC INC 2,U CMPA 0,Y BHI FCMPRX INC 2,U BRA FCMPRX FCMPRD LDA 1,X ANDA #$7F STA 1,U LDA 1,Y ANDA #$7F STA 0,U LDA 1,U CMPA 0,U BEQ FCMPRF INC 2,U CMPA 0,U BHI FCMPRX INC 2,U BRA FCMPRX FCMPRF LDB #3 LEAX 2,X LEAY 2,Y FCMPRE LDA 0,X+ CMPA 0,Y+ BNE FCMPRG DECB BNE FCMPRE BRA FCMPRX FCMPRG LEAY -1,Y BRA FCMPRC * * FPOINT STORE (FPSTR) * CALLING: FPSTR(X,Y) * WHERE: Y IS STORE IN X * X=Y * FPSTR LDX 0,U LDY 2,U LDD 0,X STD 0,Y LDD 2,X STD 2,Y LDA 4,X STA 4,Y RTS #endasm MPAÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{0� `6ü3B0� u6ñ3B0� y60� •6:3D0� k6Õ3B0� p60� �63D0� n60� \6Ž6ž3F¯� R0� h60� D6Ž6„3F¯� :ޝ{{� 5®� 16ŽŽ£Á/0Œ'"0� ?6®� 0¯� 070‹6Ž0çÑÿ€®� ì6×3Bç� Ý6ŽœŽ£Á'0Œ'=æ� ¾O6{ö®� ·6‘3Dæ� ¨O6Ž Ž£Á&0Œ'ÿ—®� …63B®� x6û3B9ޝ� m0� “6Ž70‹6æ„O0çÑ®� OŒ'k0� n6{q®� >70‹æ„O6Ž9Ž£Á-0Œ'=0� @6®� 0¯� 070‹6Ž0çÑ0� !6®�ñ70‹6æ„O0çÑÿŠŽ¯�Ö®�Ò6ŽŽ{ì£Á/0Œ'+0�à6®�°0¯�ª070‹æ„O6®�—6q3Dÿ¹9ÎoÿýÕ®6ªÀêÀ96¤ÀäÀ96¨ÀèÀ9HX$Š0Œ&ó9TG$Ê€0Œ{g&ó9CS9�÷09CSÃ966Ì66¦EæG=íB¦EæF=ãAíAæG¦D=ãAíA®B3H93_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$�{âìÄ3G9ƒ'.�…lF9Ž3G2b9ÿ¦9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®A¦€'f�%&vmÄ'B¦€�%'l¯A®C0¯C®„jÄ�D'?�d';�S'C�s'?{]�C'C�c'?�O'®�o'¨�X'–�x'�®A60�Ë6 3E9653B ”3E96ÿ‰6×3B €�\&&¦€'ÿÆ�\'�n'8�N'4�t'�T' ¯A½ÿX† ¯{ØA� '‰‹ÿH®A0¯A¡ÿ<›ÿ6† ÿÛ®E샯E60Ä"3760Ä>3Bÿ666†Æ6oAhDiCiBiAZ&õæAOË03ÆjÄ&å3Eþè®E샯E6Ɔ Ð{S *** ILLEGAL FORMAT ****6�&3AŽ9æÄ63B¦À97 ¦ ÿá&ù9† ÿÙ† ÿÔ9ÿï9ÿá93^ޝĮD®BƦ¥' ¡…'Ž9\ ñOÁ3F93[Ž{ίAŽ'¯CìE* CSÃíE†-ÿ‡®CŒ-;ìE®Cý´Ë0çÄÁ0& ®CŒ'®A' ޝA¦ÄÿZìE®Cýå¯EìCŽ ý„¯C ¾3E9¦„6DDDD� -‹7 ‹0ÿ-7„� -‹{I7 ‹0ÿ96ÿÔ70ÿÍ9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®A¦€'d�%&PmÄ'L¦€¯A®C0¯C®„jÄ6�D'•�d'��S'N�s'J�H'7�h'3�C'{Äd�c'`�O'ã�o'Ý�X'¿�x'¹®C6þ¹0�þg6þ°3E960Ä6�I7çÑÿ„¯�'®Ä§€¯Ä¢�'� &ñ®Äo€3Bÿc‡ Ú‰�' � 'õ7§„ÿLp {?é�ÿBÌ6h�'D _Æ6� '+�''�-&†ÿ§ÄH� '�'6®BÌ ü7€00†¯A áOæÀ®Áûí¯Ñ9 °3\0Ä63Q�&‰®DìBí„3FþÕ3\0Ä63Q{º�1®DìBí„3Fþ½0Ä4ä�&ÖÚ�' � '®ä§€¯ä ío„2b9®OÌí„í0Ħ€'(€0�/O6Æ4 ®Èþi#i"i!i¤Z&ó¦#«À§#5 Ô3È9�þW®OÌ{5í„í0Ħ€'/€0� /�/€ €6Æ4 ®È~i#i"i!i¤Z&ó¦#«À§#5 Í3È9gìÄÁ`/À ÁA-ÁZ.Ž9Ž9ìÄÁA-ÁZ.Ž9Ž9ìÄÁa-Áz.Ž9Ž{°9ìÄÁ0-Á9.Ž9Ž9ìÄÁ ' Á 'Á 'Ž9Ž9ìÄ�ÂŒ'À 9ìÄ�´Œ'Ë 9®B¦„„_�W&®D݆çŒ&Ž9®Ä®Ä9®DÁ†ËŒ&{+Ž9®Äó®Ä9ìÄ÷o}9™®ÄŽݦ §€&ú94@5@'÷‰O94@­Ÿ '5@®Ä'4B­Ÿ 5B‰95@Ž9ìĘÔ9ìĘî9ìB˜� 'øŽ9å'Žÿ/* FLOATING POINT PRINT ROUTINE INPUT ADR OF FP NUMBER OUTPUT TO CONSOLE/PRINTER */ fpprt(val) char *val; @ int i,j,k; char r[5],s[5],x[5]; char *t; if(val[0]==0) @ printf("0.0"); return; $ k=j=0; fpstr(x,val); if((x[1]&128)==128) @ x[1]=x[1]&127; printf("-"); $ #asm LEAX TABLE,PCR STX 0,U #endasm while(k<9) @ if(fpgte(x,t)) @ j=1; fpdiv(r,x,t); ftoi(r,&i); printf("%d",i); itof(i,r); fpmul(s,r,t); fpsub(r,x,s); fpstr(x,r); $ else @ if(j) printf("0"); $ t=t+5; k++; $ printf("."); k=1; #asm LEAX TABLE,PCR LEAX 35,X STX 0,U #endasm while(k<4) @ fpmul(r,x,t); ftoi(r,&i); printf("%d",i); itof(i,s); fpsub(x,r,s); k++; $ $ #asm TABLE FCB $9B,$3E,$BC,$20,00 FCB $98,$18,$96,$80,00 FCB $94,$74,$24,00,00 FCB $91,$43,$50,00,00 FCB $8E,$1C,$40,00,00 FCB $8A,$7A,00,00,00 FCB $87,$48,00,00,00 FCB $84,$20,00,00,00 FCB $81,00,00,00,00 #endasm i,s); fpsub(x,r,s); k++; $ $ #asm TABLE FCB $9B,$3E,$BC,$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#asm * FLOATING POINT PACKAGE * PERFORMS FLOATING ADD,SUB,MUL,DIV * CALLING SEQUENCE: * FPADD(R,X,Y) * FPSUB(R,X,Y) * FPMUL(R,X,Y) * FPDIV(R,X,Y) * WHERE R,X,Y DEFINED AS CHAR * ARRAYS CHAR R[5],X[5],Y[5] *R=RESULTS OF FLOAT OPERATION *X&Y ARE VARS. USED AS X+Y * X/Y X-Y X*Y * RS ENTRY POINTS BFPSUB EQU $B9B9 BFPADD EQU $B9C2 BFPMUL EQU $BACA BFPDIV EQU $BB8F MOVFP1 EQU $BC14 MOVTOX EQU $BC35 NORMAL EQU $BA1C UNNORM EQU $B9E2 FPAC1 EQU $50 * * FPADD - FLOATPOINT ADD * FPADD(R,X,Y) * FPADD PSHS U LDX 2,U JSR MOVFP1 LDU 0,S LDX 0,U JSR BFPADD LDU 0,S LDX 4,U JSR MOVTOX PULS U LDX #1 RTS * * FPSUB - FLOATPOINT SUBTRACT * FPSUB PSHS U LDX 0,U JSR MOVFP1 LDU 0,S LDX 2,U JSR BFPSUB LDU 0,S LDX 4,U JSR MOVTOX PULS U LDX #1 RTS * * FPMUL - FLOATPOINT MULTIPLY * FPMUL PSHS U LDX 2,U JSR MOVFP1 LDU 0,S LDX 0,U JSR BFPMUL LDU 0,S LDX 4,U JSR MOVTOX PULS U LDX #1 RTS * * FPDIV - FLOATPOINT DIVIDE * FPDIV PSHS U LDX 0,U LDD 0,X BEQ FPDIVB JSR MOVFP1 LDU 0,S LDX 2,U JSR BFPDIV LDU 0,S LDX 4,U JSR MOVTOX PULS U LDX #1 RTS FPDIVB PULS U *DIV BY 0 SET 0 LDX 4,U LDD #0 STD 0,X STD 2,X STA 4,X LDX #0 RTS * * ITOF * CONVERT INTEGER INTO FP * CALLING SEQ: * ITOF(I,R); * WHERE R=RESULTANT FP VALUE * I=INTEGER VALUE * DEFINE AS: * CHAR R[5]; * INT I; * ITOF LDX 0,U CLR 4,X CLR 3,X CLR 2,X CLR 1,X CLR 0,X LDD 2,U BEQ ITOFX SET ZERO BPL ITOFA SUBD #1 INC 4,X COMA COMB ITOFA ASLB ROLA INC 0,X BCC ITOFA LSRA TST 4,X BEQ ITOFB ORA #$80 ITOFB RORB STD 1,X LDA #17 SUBA 0,X ORA #$80 STA 0,X CLR 4,X ITOFX RTS * * FTOI - FP TO INTEGER * CALLING SEQ: * FTOI(X,&I); * WHERE: * I=RESULTANT INTEGER * ADDRESS * X=FP TO CONVERT * FTOI LDX 2,U FP ADDRESS LDY 0,U INTEGER ADDRESS CLR 0,Y CLEAR INTEGER CLR 1,Y LDA 0,X EXPONENT BEQ FTOIX ZERO IF EXP ZERO CMPA #$8F CHECK OVERFLOW BHI FTOIE JMP YES LDD 1,X PICKUP MSB STB 1,Y STORE LSB CLRB SET SIGN FLAG CMPA #0 BPL FTOIA INCB NEG VALUE FTOIA ORA #$80 SET MISSING BIT STA 0,Y SAVE MSB LDA 0,X GET EXPONENT CMPA #$80 CHECK UNDERFLOW BLO FTOIE JMP LESS NO INT ANDA #$F PSHU A LDA #$10 DETERMINE SHIFT SUBA 0,U+ FTOIB LSR 0,Y INTEGERIZE ROR 1,Y DECA BNE FTOIB CMPB #0 CHECK NEG BEQ FTOIX JMP NO LDD 0,Y NEG VALUE COMA COMB ADDD #1 ®ÄÜ0‹¦„®Ä0¯Ä�&ð®Ä3D9®ÄÜ0‹¦„®Ä0¯Ä�&î®ÄÜ0‹¦„®Ä0¯Ä�&î ¬3Dž96�&3Až9žè'žè½4iŒ.½-Ž j½ ¹ ¦Ä½4]¦À9OUTPUT FILE ERROR6®Ä¦ ½ >&ù3B9žè& † ½ >† ½ >9† ½ >9† ½ >9† ½ >Ž ²½!)9 EQU *~7²^½$[Ž4½ |½ ‹½$[ž¯Ä®ÄœÔ,®Ä¦‰4� &½   † ½ >®Ä0¯Äÿ݆^½ >½ ‹½$[Ž!½ |®B½ |Ž!½ |½ ‹žâ0Ÿâ3D9 *****½!)½ ‹967½ |963^ž¯Ä®D®BƦ¥' ¡…'ž3F9\ ðOÁ3F966®C®AÆáÄ, ¦¥¡…&�'\ ï6¦…½û'3Fž9æÄ¦¥½û'3Fž9OæÀ3E96½!÷žÔ0‰46®B½!1Œ' ÓÔÝÔ3Bž93Bž966½!÷žÔ0‰46®C¦B½!XŒ'ÓÔÝÔ½Ò½û'½ ó3Cž93Cž9½Ò& ½1½Çžä'ñ½Ò� &½ì å½Ò� &½ì Ù963[ޝAŽ'¯CìE* CSËíE†-½ >®CŒ-;®E®C½4¾Ë0çÄÁ0& ®CŒ'®A' ž¯A¦Ä½ >®E®C½5íE®CŽ ½4¾íC ¾3G96®Äì&®„½'' ®½'„3B96®Äì„' ì&®„½$½ ®Äì½'Â3B96Žé½½*¹Žþ½®Ä½(½3B96®Ä½##'½( 8®Ä½#£'½( ,®Ä½#×' ½( žÚ½º†+½ >®Ä®„½"Ž$í½!"3BŽ93Bž9®Ä®„½"½ ‹3Bž963[ÌíAíC®C'&ž¯CŽ1#½!˜'ž¯CŽ1%½!˜' ìACSËíAž¯C Ö½Ò½ê&3Gž9½Ò½ê'½§Ä®CŽ ½4“6æBÀ0OãÁíC ÝìAƒ,ìCCSËíCìC®Eí„3Gž963]ÌíAŽ#Õ½!˜&3Ež9½ì§Ä�''¦AæÄíA ïìA®Cí„3Ež9'6ŽÙ½!˜&3Bž9Ü0®Ä턽Ò�"'9�'5ž0œ$-Ž$D½ ¹ŽÙ½!˜&½ì&ó3Bž9½ì6ž0Ü0‹7§„ž00Ÿ0 À½ìž0Ü0‹†§„ž00Ÿ03Bž9STRING SPACE EXHAUSTED†*½ >9½$[Ž$t½ |½ ‹Ž$–½!"9COLOR COMPUTER-C COMPILER REV 1.2 NAM DGSC ORG $0F00Ž$³½!"9 END CINT6¦ �'6¦ �&0Ž%½!)®Ä0„½¹Ž$í½!"Ž'å½!"Ž$ò½!"3B9,PCR TFR D,XŽ%½!)®Ä0„½¹Ž$í½!"3B9 LDB LDX LDA NDA „ FANDB Ä FANDCCÊASL H ]ASLA H »ASLB X »ASR G ]ASRA G »ASRB W »BCC $ ¾BCS % ¾BEQ ' ¾BGE , ¾BGT . ¾BHI " ¾BHS $ ¾BITA … FBITB Å FBLE / ¾BLO % ¾BLS # ¾BLT - ¾BMI + ¾BNE & ¾BPL *BRA ¾BRN ! ¾BSR � ¾BVC ( ¾BVS ) ¾CLR O ]CLRA O »CLRB _ »CMPA � FCMPB Á FCMPD ƒ“CMPS ŒµCMPU ƒµCMPX Œ FCMPY Œ“COM C ]COMA C »COMB S »CWAI <ÊDAA  »DEC J ]DECA J »DECB Z »(END  ENDC £ ENDM È ENDR ÙEORA ˆ FE6Ž'½!)®Áì “Ü½"Ž'$½!)½ ‹9 LEAX ,U6¦ �'!¦ �&Ž'i½!"Ž'~½!)®Ä0„½¹Ž$í½!) Ž'x½!)®Ä0„½¹Ž$í½!)½ ‹3B9 TFR X,D STB STX STB Á&Ž'i½!"Ž'ª½!"ÜÜÃÝÜ9Ž'¶½!"ÜÜÃÝÜ9 STB [,U++] STX [,U++]Á&Ž'Ô½!"9Ž'ܽ!"9 LDX ,X LDB ,X CLRA TFR D,XŽ'ü½!"9 EXG D,XŽ(½!)9Ž'½!)9 LDX #Ž('½!"žÜ0ŸÜ9 PSHU XŽ(<½!"žÜ0ŸÜ9 PULU DŽ'i½!"Ž(W½!"Ž(_½!"9 PULU X PSHU D6Ž(x½!)®Á½¹½ ‹9 LBSR Ž(†½!"9 RTSŽ(˜½!"žÜ0ŸÜ9 JSR 0,U++6Ž(¶½!)®Ä½º½ ‹3B9 LBRA 6Ž(Û½!"Ž(Ô½!)®Á½º½ ‹9 LBEQ CMPX #0Ž(ë½!)9 FCC 'Ž(ù½!)9 RMB Ž)½!)9 FDB 63^ìB“ÜíÄ&®B3D9Ž)3½!)®Ä½"Ž):½!"®B3D9 LEAU ,UŽ)D½!"9 TFR X,D LEAX D,XŽ)_½!"9 LEAX D,XŽ)p½!"9 PSHU X SUBD 0,U++ TFR D,XŽ)–½(g9CCMULTŽ)¤½(g9CCDIVŽ)±½(g9CCMODŽ)¾½(g9CCORŽ)ʽ(g9CCXORŽ)×½(g9CCANDŽ)ä½(g9CCASRŽ)ñ½(g9CCASLŽ)þ½(g9CCNEGŽ* ½(g9CCCOMŽ*½!"9 LEAX 1,XŽ*)½!"9 LEAX -1,X BNE BEQ BLE BLT BGE BGT BLS BLO BHS BHI 6Ž*н!)®Á½!)Ž*ª½!"žÜ0ŸÜ9 TFR X,D LDX #0 CMPD ,U++ *+4 LEAX 1,X3\0Ľ*Ê'0Ľ"˜3D963Z®F½+¯DŽ1½!˜'-®D& ½53HŽ9®Fì'½(0Ľ*Ê'0Ľ"˜®F½"�3HŽ9®D3H963Z®F½+V¯D½!÷½Ò�#'®D3H9®D'®F½"˜Ž1½!˜'½(0Ľ+V'0Ľ"˜½(/½)· á3Hž963Z®F½+�¯D½!÷½Ò�^'®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ+�'0Ľ"˜½(/½)à á3Hž963Z®F½+ä¯D½!÷½Ò�&'®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ+ä'0Ľ"˜½(/½)Ð á3Hž963Z®F½2X¯D½!÷žÔ0‰46Ž1 ½!1&3^Ž1½!1&®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ2X'0Ľ"˜Ž*4½*p áŽ1½!˜'½(0Ľ2X'0Ľ"˜Ž*:½*pÿÁ3Hž963Z®F½,Ú¯D½!÷žÔ0‰46Ž1½!1&3^Ž1½!1&®D3H9®D'®F½"˜Ž1½!˜'½(0Ľ,Ú'0Ľ"˜½(/½)Ý ßŽ1½!˜'½(0Ľ,Ú'0Ľ"˜½(/½)êÿ¿3Hž963Z®F½-u¯D½!÷½Ò�+' �-'®D3H9®D'®F½"˜Ž1#½!˜'0½(0Ľ-u'0Ľ"˜®F®„Ÿô'žô¦ �& ¦ �&½)=½(/½)X ÈŽ1%½!˜'1½(0Ľ-u'0Ľ"˜®F®„Ÿô'žô¦ �& ¦ �&½)=½(/½)iÿ�3H963Z®F½.¯D½!÷½Ò�*' �/' �%'®D3H9®D'®F½"˜Ž£½!˜'½(0Ľ.'0Ľ"˜½(/½)� áŽ1'½!˜'½(0Ľ.'0Ľ"˜½(/½)�ÿÁŽ1)½!˜'½(0Ľ.'0Ľ"˜½(/½)ªÿ¡3Hž963\Ž1+½!˜'G®D½.¯B&½53Fž9®D®'½(®D½"˜½*®D®„¯Ä®Ä¦ �& ¦ �&½*®D½"�3Fž9Ž1.½!˜'C®D½.¯B&½53Fž9®D®'½(®D½"˜½*"®D®„¯Ä®Ä¦ �& ¦ �&½*"®D½"�3Fž9Ž1%½!˜'®D½.¯B®B'®D½"˜½)÷|Ž£½!˜'4®D½.¯B®B'®D½"˜®DÌí®D®„¯Ä' ®Äæ O®Dí®D̯„3Fž9Ž1 ½!˜'=®D½.¯B®B& Ž11½ ¹$®D®'½( ®D®„¯Ä½¹Ž$í½!"®Äì O®Dí3Fž9®D½/ù¯BŽ1+½!˜'N®B&½5ÿâ®D®'½(®D½"˜½*®D®„¯Ä®Ä¦ �& ¦ �&½*®D½"�½*"®Ä¦ �& ¦ �&½*"ÿžŽ1.½!˜'N®B&½5ÿŒ®D®'½(®D½"˜½*"®D®„¯Ä®Ä¦ �& ¦ �&½*"®D½"�½*®Ä¦ �& ¦ �&½*ÿH®B3F963\®D½1A¯B®D®„¯Ä½!÷½Ò�['�('µŽ¥½!˜'n®Ä&Ž0ó½ ¹½oŽ—½3Fž9®Ä¦ �&®D½"˜®Ä¦ �' Ž0ó½ ¹ž¯B½(½*¹Ž—½®Ä¦ �&½)=½(/½)X®DÌí„®Äì O®D힯BÿŠŽé½!˜'2®Ä&ž½®Ä¦ �' ®D½"˜ž½®Ä½ÌíB®Dí„ÿP®B3F9®Ä&ÿô®Ä¦ �&½( ®Ä½¹Ž$í½!"ÿFÿØCAN NOT SUBSCRIPT=#^&==!=<><<>><=>=+-/%++--ILLEGAL ADDRESS63QŽé½!˜'®O½*ʯĎþ½®Ä3È90D½r'¬0D½j¯M'5½'ìM®Oí„®Mì O®Oí®M¦ �&Ì®Oí®M¦ �&3Èž93Èž90D½<¯M'?®M¦ �'7ìM®Oí„Ì®Oí®M¦ �'3Èž9½( ®M½¹Ž$í½!"®Mì ®Oí3Èž90D6†6†6+–<Ðè_ÿ7ˆ_ÿ—«Ü‚'ؽ‡‚ƒ Ï)׫ÖÜ‚“aƒÝ‚–§š¨'?Ü‚ƒÝ‚ 6׫ 2¦„�+&0¦„�+&0†—« †—«Ü‚'½‡‚ƒ–¬' ¦„�]'½ –«…& Ü‚'½‡‚ƒ–«�ÿ&–ª�ÿ&†—« Ü‚‘‚&†—« † —«–«…'� &«�'B–¾½6v½5HÌ8e_‹ÝžŽ%|ÓÝÃÝžŽ%jÓÝ ÃÝžŽ%XÓÝ"ÃÝÓ Ýž Ÿ$ž Ÿ&ÞžŸ*žŸ,žŸ.žŸð½½A½†½$a½ƒ½ú½b½7ð½$¬½-~7  ä&QŽÛ†½!¿' †½5½´½!÷ åŽà†½!¿'† çŽä½!˜'½è àŽé½!˜'½û ÓŽò½!˜'½q ƽÁ Á9"CHARINT#ASM#INCLUDE#DEFINE3\Ü0&3D9žÚ½ºž¯Ä®Äœ0,î½(䎯BìB'î“íB®ÄÜ0‹¦„®Ä0¯Ä�'½ >®B'ž0¬Ä,Ù†'½ >½ ‹ Á†'½ >½ ‹Ž[½!" ± FCB 03^žì&3B9žŸôžôœ*,ó¦ �'+½¹½(òžôì íĦ �&¦ �'ìÄãÄíÄ®Ä&޽"½ ‹žô0ŸôÿÀžà' žòŒ'ŽÕ½ ¹½ ‹½$[žâ½"Ží½ |½ ‹9MISSING CLOSING BRACKET ERRORS IN COMPILATION3\½ÿ%ؽ ‹½ ‹½ ‹Ž˜½ ½ ‹ŽÔ½ ½ ‹½ ‹Žõ½ Ž4½4HžŸî½9½Ò�Y&  Ž4½4HžŸì½9½Ò�Y&žŸìŽ!½ Ž4½4H½9½Ò�&ž¯Ä 0Ľ##¯B'ۮğؽ³ŸÚ½ÿ3D9** COLOR COMPUTER C COMPILER ** BY B W DUGGER 02/82 (C)1982 DUGGER'S GROWING SYSTEMSINCLUDE C-TEXT ON OUTPUT? DEFINE GLOBALS? STARTING LABEL NUMBER? † 6½ b9½ÿžŸèŽ˽ Ž4½4H½9½Ò�&9Žņø½!¿' ø9Ž4†W½4 Ÿè&Žݽ ¹ ¿½ÿ9žŸæžæ&3½ÿžä&,Žê½ Ž4½4H½9½Ò& ä Ž4†R½4 Ÿæ&Žݽ ɽÿ9PRINTOUTPUT FILENAME? OPEN FAILUREINPUT FILENAME? ½!÷žÔ0‰4†I½4 Ÿê&޽ ¹½ÿ9INCLUDE OPEN FAILURE žè'½4?963S½š'3N9ž¯KŽ£½!˜'† †§I0Ľr&½·0Ľ<'0ĽŽ¥½!˜'½Y¯K'†§I †§I0Ä6¦K6¦È6®O½—ާ½!˜&ÿ™3N9*[,6ž63S½š' ÜÜ£M½) 3È9Ž£½!˜'† †§I0Ľr&½·0Ľj'0ĽŽ¥½!˜'&½Y¯K'†§I¦O�&,ìKãKíK#†§IޝK¦O�& ¦I�'ž¯K ޝKÜÜ£KÝÜìMãKíM0Ä6¦K6¦È6žÜ½Ž§½!˜'ÿ`ÿX3^Ž—½!˜'3Bž90Ľ##& Ž™½ ¹ž¯Ä®ÄŒ, Ž«½ ¹ìÄCSíÄŽ—½®Ä3B9]MUST BE CONSTANT NEGATIVE SIZE ILLEGAL3U0B½r& ŽÒ½ ¹½ÿ3K90B½<¯Ä''®Ä¦ �'0B½ *®Ä® Œ&0B½ ®Ä†§ 0B6†6†6޽—Žé½!˜&Žë½ ¹0B½¹½ ¦½ ‹žŸÞŽþ½!˜&>0B½r' ÜÞÃÝÞ Ž½ ¹½o½!÷Ì4ÓÔ6Žþ½!1&ާ½!˜&޽ ¹½š'ºžŸ,žŸÜžÞ'0ŽÛ†½!¿' ޽,½´ çŽà†½!¿' ޽,½´ ÒŽ ½ ¹½½Œ'ž½) ½(žŸÜžŸ,3K9ILLEGAL FUNC OR DECLAR(MISSING OPEN PAREN)ILLEGAL ARG NAMEEXPECTED COMMAWRONG #ARGS63TžÞ'yŽ£½!˜'Ž¯Ä Ž¯Ä0C½r&ް½ ¹0C½j'0C½Ž¥½!˜'½�]'½š'ôޝĽ7ßìB6ìO6ÜÞƒ½ÜÞƒÝÞ½š&ާ½!˜&޽ ¹ÿƒ3N9ILLEGAL NAME½Ò&žä'9ŽÛ†½!¿' †½©½´9Žà†½!¿'† 뎂½!˜'½Õ9Ž„†½!¿' ½ôŽŸò9އ†½!¿' ½ZŽŸò9Ž�†½!¿' ½§½´ŽŸò9Ž”†½!¿' ½¸½´ŽŸò9Žš†½!¿' ½н´ŽŸò9Ž£½!˜'9Žä½!˜' ½èŽŸò9½*¹½´ŽŸò9@IFWHILERETURNBREAKCONTINUE;$ELSE#ENDASMŽ£½!˜&Žý ¹9MISSING SEMICOLONžà0ŸàŽ¥½!˜& žä'9½½ îžà0Ÿà93Xž,¯FžÜ¯D½³¯B½"µ½½®D½) ŸÜ®FŸ,ާ†½!¿&®B½º½ ¦½ ‹3H9½³¯Ä½(£®B½º½ ¦½ ‹½½®D½) ŸÜ®FŸ,®Ä½º½ ¦½ ‹ Ï3XÜ,íÄÜÜíB½³¯D½³¯F0Ľ2®D½º½ ¦½ ‹®F½"µ½½®D½(£®F½º½ ¦½ ‹®ÄŸ,®B½) ŸÜ½„3H9½š&½*¹ž½) ½(93^½‘¯Ä' ®½) ®Ä®½(£3B93^½‘¯Ä' ®½) ®Ä®½(£3B9žŸð½1ެ½!˜&žä& Ž4½ |½ ‹ æ½ÿžŸð96ž6½!÷®B&½(žÔ0‰46Žþ½!1&!½š&½*¹®B&½(D½(ìÄÃíÄŽ§½!˜&ÏŽþ½®B'½(g ½(‹ÜÜãĽ) ŸÜ3D9½½û' ½Ò½û'½ì ó½Ò½û& ½Ò'½ì î½!÷9½!÷Ì4ÓÔ6Ž£½!1&½Ò'ž9ž9ŽÁ½ ¹½o9ILLEGAL SYMBOL NAMEALREADY DEFINEMISSING BRACKETMUST BE 1 VALUE6ŽÕ½ ¹½$[®Á½ |½ ‹96®Ä½!˜&Žä½ ¹½$[®Ä½ |½ ‹3B9Žô½ ¹963^ž¯Äž*¬Ä'®B6®B†½!X'®Ä3D9ÌãÄíÄ ßž3D963^ž¯Äž,¬Ä'®B6®B†½!X'®Ä3D9®Ä0¯Ä à3Dž963^®F½<Ÿô&Ež*œ- Žî½ ¹3Hž9ž*¯ÄŸô®F¦„0§Ô¯F®Ä0¯Ä½û&ëžô¦E§ ¦D§ †§ ìBí ÌÓ*Ý*žô3H9GLOBAL TABLE OVERFLOW63^®F½jŸô'3Hžô9ž,œ - Ž]½ ¹3Hž9ž,¯ÄŸô®F®Ä¦€§ ¯F¯Ä½û&ížô¦E§ ¦D§ †§ ìBí ž,0Ÿ,3Hžô9LOCAL TABLE OVERFLOW63]½!÷½Ò½Í&ž3E9ž¯A½Ò½û'ìAãC½짤®A0¯A åìCãAo„Ž3E9žØ0ŸØ96Žʽ |®Ä½"3B9CC„�A-�Z/�_' �a-�z/ž9Ž9„�0-�9.Ž9ž9޽Í&½ê&ž963^ž¯Ä†½4]ìBãĦ„�' ½4]®Ä0¯Ä é3D963^ž.œ"& Žm½ ¹3D9ž¯Ä®ÄŒ,ìBãÄ섞.í¤1"®Ä0¯ÄŸ. ß3D9TOO MANY ACTIVE WHILES½‘'Ü.ƒÝ.9ž.œ& ލ½ ¹ž9Ü.ƒ9NO ACTIVE WHILES6®Ä¦ �a-�z.€ ½ >&ï3B9žÔ¦‰4„9½Ò&†9žÔ¦‰5„9½Ò&9žÔ¦‰40ŸÔ„9žŸÔŸ49½Ò&žä'†9½1½Ç ì½ì9½Ò&½1žä'ž9½ì93\žæ&½†žä'3D9žê&žæ¯Ä½ÿ®Ä½4t¯BŒ/Œ'žÔŒO,ìBžÔç‰40ŸÔ ÚžÔo‰4®BŒ,®Ä½4?žê'žŸê žŸæžÔ'�žî'žð' ½$[Ž4½ |½ ‹žŸÔ3D96žÖ§‰„žÖŒO,0ŸÖ¦À93Tžð&3L9žŸÔŸÖ½Ò'M� '½Ò� &† ½±½Ò� '� &Þ½ì ð½Ò�"&/½Ò½±½ì½Ò�"'½Ò&ŽÕ½ ¹ ½ì½± ä½ì†"½± ¡½Ò�'&,½±½ì½Ò�''�&ŽP½ ¹ ½ì½± å½ì†'½±ÿn½Ò�/&5½Û�*&.½½½Ò�*&½Û�/'½Ò&½1 ½žä'á½½ÿ2½Ò½û'uޝJ½Ò½û'®JŒ,0ãJ½Ò§¤®J0¯J½ì Û0ãJo„1½ݯJ'®JÜ0‹¦„§I®J0¯J�'þÙ½± 垯J0ãJ¦„§I®J0¯J�'þº½± å½ì½±þ¬†½±žÖŒO-Žc½ ¹žŸÔŽ4Ž„¦ §€&ú3L9MISSING APOSTROPHELINE TOO LONG3U0B½r& ½·½ÿ3K91B¦ ½Ä&ù½Ò� '� &½ì ð½ì½Ä&øž2œ&-޳½ ¹3K9MACRO TABLE FULL6ž2Ü0‹¦Ä§„ž20œ&,Ÿ2¦À963^ž¯Ä®Äœ2,N®B6ÜãB†½!X' LEAU 2,U RENAMD LDX #0 BRA RENAMX * * PLACE FILE FROM STRING * INTO TRS DOS DISK FILENAME * STRING * FILMNM(STRING) * INPUT: * STRING= FILENAME STRINGADR * OUTPUT: * STATUS= 0-BAD 1-GOOD * * FILMNM LDY 0,U LDX #DFILNM LDB #11 LDA #$20 FILZZM STA ,X+ DECB BNE FILZZM LDX #DFILNM LDA DEFDRV STA DRIVE LDA 1,Y CMPA #'/ BEQ FALMNM CMPA #': BEQ FALMNM FLLMNM LDA 0,Y+ BEQ FXLMNM CMPA #': BEQ FBLMNM CMPA #'/ BEQ FBLMNM CMPA #'. BEQ FCLMNM STA 0,X+ BRA FLLMNM FXLMNM LDA DFILNM+8 CMPA #$20 BNE FGLMNM LDD #$5458 STD DFILNM+8 STA DFILNM+10 FGLMNM LDX #1 FHLMNM RTS FALMNM LDA 0,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE LEAY 2,Y BRA FLLMNM FBLMNM LDA ,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE BRA FXLMNM FCLMNM LDX #DFILNM+8 BRA FLLMNM FKLMNM LDX #0 BRA FHLMNM * * MAIN PROCESSOR * * REDIRECT OUTPUT TO PRINTER * RE-DIRECT INPUT DIRIN TFR X,D LDA #'I LBSR OPEN RTS * RE-DIRECT OUTPUT DIROUT LDD #$03FF STD DKTYPE TFR X,D LDA #'O OPEN TEXTFILE FOR OUTPUT LBSR OPEN RTS * GNCHAR BSR GCHAR CHECK NEXT CHAR. BEQ GCHAR DON'T PASS EOL CMPA #$D BEQ GCHAR INC BUFPNT+1,PCR BUMP POINTER TO NEXT CHAR BNE GCHAR INC BUFPNT GCHAR LDA [BUFPNT] RTS * * * OUTPUT STRING TO DISPLAY OUTST1 BSR ZPUTC OUTSTZ LDA ,X+ CMPA #4 BNE OUTST1 RTS * * EXTERNALLY REFERENCED PROCEDURES * * OUTPUT CHARACTER TO DISPLAY ZPUTC CLR FILTYP CMPA #7 BELL CHAR? BNE ZPUTC1 PSHS CC,X ANDCC #$EF INSURE IRQ ENABLED! LDD #$6405 PITCH:DURATION STA PITCH JSR SOUND PULS CC,X RTS * OUTPUT CHARACTER TO DEVICE SET ZPUTC1 BSR ZPZTCH RTS ZGETC CLR FILTYP FROM KEYBOARD BSR ZGZTCH PSHS A BSR ZPUTC ECHO THE INPUT PULS A,PC * * PRINTER OUTPUT PROUT PSHS B LDB #-2 STB FILTYP PULS B BRA ZPUTC1 * * FILE INPUT SYSIN PSHS B LDB INFILN,PCR STB FILTYP PULS B BRA ZGZTCH * * FILE OUTPUT SYSOUT PSHS B LDB OUTFLN,PCR STB FILTYP PULS B BRA ZPZTCH * FMS JMP ,X * * GET FILE NAME AND DRIVE GETSPC PSHS U JSR FILSPC PULS U RTS * * OUTPUT A CHARACTER ZPZTCH PSHS U JSR [CHROUT] PULS U RTS * * GET A CHARACTER ZGZTCH PSHS U JSR CHRIN TST IERR PULS U RTS * * CLOSE FILE NUMBER SET IN FILTYP CLOSE PSHS U JSR DKCLS PULS U RTS * * CLOSE ALL OPEN FILES CLSALL PSHS U JSR DKCLC PULS U RTS * * OPEN FILE IN COMMAND LINE WITH X=DEFAULT EXT OPNFIL PSHS U JSR DKOPEN PULS U RTS * * GET ADDRESS IN BASIC FORMAT (HEX OR DECIMAL) GETADR PSHS U JSR JXADDR PULS U RTS * * GET LINE OF INPUT GETLIN PSHS U LDX #THELIN STX BUFPNT JSR LINPUT PULS U RTS * * CLEAR SCREEN CLEARS PSHS U JSR CLRSCN PULS U RTS DSKFND PSHU A PSHS U JSR FINDFL PULS U TST FLFLFD BNE DSKAND FILE FOUND PULU A LDX #1 CMPA #2 BEQ DSKBND RTS DSKBND LDX #0 RTS DSKAND PULU A LDX #1 CMPA #1 BEQ DSKCND RTS DSKCND LEAX DELMSG,PCR PSHU X LBSR OT LBSR GETLIN LDX #THELIN LDA ,X LDX #0 ANDA #$5F CMPA #'N BNE DSKDND RTS DSKDND PSHS U JSR FLKILL KILL FILE PULS U LDX #1 RTS DELMSG FCC 'FILE EXISTS - KILL FILE(Y/N)? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB 0 OPT LIS * END OF LIB #endasm LDX #THELIN LDA ,X LDX #0 ANDA #$5F CMPA #'N BNE DSKDND RTS DSKDND PSHS U JSR FLKILL KILL FILE PULS U LDX #1 RTS DELMSG FCC 'FILE EXISTS - KILL FILE(Y/N)? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB 0 OPT LIS * ENDSR OUTHEX RTS *\END\ *\SCANF\ FORMAT INPUT *\OL *\OT *\ENDHEAD SCANF LDD [0,S] ANDB #31 SUBB #2 LEAX B,U PSHU X LDX ,X PSHU X CLRB LDX 0,U SCANA LDA 0,X+ BEQ SCANG CMPA #'% BNE SCANA LDA 0,X CMPA #'% BNE SCANAA LEAX 1,X BRA SCANA SCANAA INCB BRA SCANA SCANG PSHU B SCANB LDX 1,U LDA ,X+ BEQ SCANX CMPA #'% BNE SCANBD TST 0,U BEQ SCANBD LDA ,X+ STX 1,U LDX 3,U LEAX -2,X STX 3,U LDX ,X DEC 0,U PSHU X CMPA #'D LBEQ INPUTD CMPA #'d LBEQ INPUTD CMPA #'S BEQ INPUTS CMPA #'s BEQ INPUTS CMPA #'H BEQ INPUTL CMPA #'h BEQ INPUTL CMPA #'C BEQ INPUTC CMPA #'c BEQ INPUTC CMPA #'O LBEQ INPOCT CMPA #'o LBEQ INPOCT CMPA #'X LBEQ INPHEX CMPA #'x LBEQ INPHEX SCANBD LDX 3,U PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OT SCANX LEAU 5,U RTS INPUTL PSHU X NEW 5-18-81 LEAX 0,U NEW 5-18-81 PSHU X NEW 5-18-81 BSR PDECP NEW 5-18-81 PULU D NEW 5-18-81 STB [,U++] NEW 5-18-81 LBRA SCANB INPUTS LBSR ZGNCHR CMPA #EOL BEQ INPUSI LDX 0,U INPUSS STA ,X+ STX 0,U LBSR ZGNCHR CMPA #EOL BEQ INPUSX CMPA #32 BNE INPUSS INPUSX LDX 0,U CLR ,X+ LEAU 2,U LBRA SCANB INPUSI LBSR ZLINEI BRA INPUTS INPUTC LBSR ZGNCHR CMPA #EOL BEQ INPUCI CMPA #32 NEW 5-18-81 BEQ INPUTC NEW 5-18-81 PULU X STA ,X LBRA SCANB INPUCI LBSR ZLINEI PLHH LBRA SCANB INPLHH LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGI LDA ,X+ BEQ INPLGM SUBA #'0 CMPA #9 BLE INPLGK CMPA #$19 BLE INPLGJ SUBA #$20 INPLGJ SUBA #7 INPLGK PSHU A LDB #4 PSHS Y LDY 16,U INPGL ANDCC #$7E ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPGL LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGI INPLGM LEAU 17,U RTS *\END-SCANF\ *\END\ *\EXIT\ GOTO DOS *\ENDHEAD EXIT LBRA ZWARMS *\END-EXIT\ *\END\ *\ISALPHA\ CHECK FOR ALPHABETIC *\ENDHEAD ISALPH LDD ,U CMPB #96 BLE ISALPB SUBB #32 ISALPB CMPB #'A BLT ISALPX CMPB #'Z BGT ISALPX LDX #1 RTS ISALPX LDX #0 RTS *\END-ISALPH\ *\END\ *\ISUPPE\ UPPER CASE ALPHABETIC *\ENDHEAD ISUPPE LDD ,U CMPB #'A BLT ISUPPX CMPB #'Z BGT ISUPPX LDX #1 RTS ISUPPX LDX #0 RTS *\END-ISUPPE\ *\END\ *\ISLOWE\ CHECK LOWER CASE *\ENDHEAD ISLOWE LDD ,U ISLOWZ CMPB #'a BLT ISLOWX CMPB #'z BGT ISLOWX LDX #1 RTS ISLOWX LDX #0 RTS *\END-ISLOWE\ *\END\ *\ISDIGI\ CHECK DIGIT *\ENDHEAD ISDIGI LDD ,U CMPB #'0 BLT ISDIGX CMPB #'9 BGT ISDIGX LDX #1 RTS ISDIGX LDX #0 RTS *\END-ISDIGI\ *\END\ *\ISSPAC\ SPACE,TAB,CR *\ENDHEAD ISSPAC LDD 0,U CMPB #32 BEQ ISSPAX CMPB #9 BEQ ISSPAX CMPB #13 BEQ ISSPAX LDX #0 RTS ISSPAX LDX #1 RTS *\END-ISSPAC\ *\END\ *\TOUPPE\ CONVERT UPPER CASE *\ENDHEAD TOUPPE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOUPX SUBB #32 TOUPX TFR D,X RTS *\END TOUPPE\ *\END\ *TOLOWE\ CONVERT LOWER CASE *\ENDHEAD TOLOWE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOLOWX ADDB #32 TOLOWX TFR D,X RTS *\END-TOLOWE\ *\END\ FOPEN LDX 2,U LDA 0,X ANDA #$5F CMPA #'W BNE ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #1 LBSR DSKFND CMPX #0 BNE ZWOPZN LDX #0 RTS ZWOPZN LDX 0,U LBSR DIROUT LDX 0,U RTS ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #2 LBSR DSKFND CMPX #0 BNE ROPZNZ LDX #0 RTS ROPZNZ LDX 0,U LBSR DIRIN LDX 0,U RTS FCLOSE LDD 0,U STB FILTYP LBSR CLOSE RTS DELFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FLKILL PULS U LDX #1 RTS FDFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FINDFL PULS U LDX #1 TST FLFLFD BNE FDFILX LDX #0 FDFILX RTS GETS LBSR GETLIN LDX 0,U LDY #THELIN GETSZX LDA ,Y+ STA ,X+ BNE GETSZX RTS *\\GETCHAR\\ GET INPUT STDIN GETCHA PSHS U LBSR ZGETC PULS U BEQ GETCHA TFR A,B CLRA TFR D,X RTS *\\NWCHAR\\CHECK FOR CHAR * NO WAIT * CALLING SEQUENCE: * C=NWCHAR(X); * WHERE X=0 OR 1 * X=1 ECHO CHARACTER * X=0 NO ECHO * USE GETCHAR TO WAIT FOR CHAR NWCHAR PSHS U JSR [POLCAT] BEQ NWCHAB PULS U LDX 0,U BEQ NWCHAA PSHS A,U JSR [PUTCAT] PULS A,U NWCHAA TFR A,B TFR D,X RTS NWCHAB PULS U LDX #0 RTS *\\PRTTOG\\ SET PRINTER ON OR OFF PRTTOG LDD 0,U STB PRTFLG,PCR RTS *\\PUTCHA\\ PUT CHAR TO STD OUT PUTCHA EQU * LDD 0,U TFR B,A LBSR ZPUTC TST PRTFLG BNE PXTCHR RTS PXTCHR LDD 0,U TFR B,A LBSR PROUT RTS PUTC LDD 2,U TFR B,A CMPA #10 BEQ PUTCA LBSR SYSOUT PUTCA LDX #1 RTS GETC LBSR SYSIN BEQ GETCB GETCA LDX #-1 RTS GETCB TFR A,B CLRA TFR D,X RTS ZLINEI LBSR GETLIN DEC BUFPNT+1 RTS ZGNCHR LBSR GNCHAR CMPA #$0D BNE ZZGNCH CLRA ZZGNCH RTS * FILE1 FDB SYSIN FCB FOR INPUT FILE INFILN FCB 1 FILE INPUT DEVICE FILE2 FDB SYSOUT FCB FOR OUTPUT FILE OUTFLN FCB 2 FILE OUTPUT DEVICE STDIN FDB ZGETC FCB FOR KEYBOARD FCB 3 INPUT DEVICE STDOUT FDB ZPUTC FCB FOR DISPLAY FCB 4 OUTPUT DEVICE PRINT FDB PROUT FCB FOR PRINTER FCB 4 * SUBROUTINE TO SET UP DEFAULT I/O * * ENTER HERE TO OPEN A FILE * B=FILE NUMBER, A='I FOR INPUT 'O FOR OUTPUT OPEN STB FILTYP SET FILE NUMBER LBSR OPNFIL RTS * ZERROR LEAX ERMSG,PCR LBSR OUTSTZ BRA ALLDON * ZWARMS EQU * ALLDON LBSR CLEARS CLEAR SCREEN JMP $C002 RETURN TO BASIC * * PEEK FUNCTION * * CALLING SEQ.- I=PEEK(MADR); * INPUT MADR= ADDRESS OF MEMORY TO EXAMINE * OUTPUT - THE CONTENT OF THE EXAMINED MEMORY * PEEK LDX [0,U] RTS * * POKE FUNCTION * * CALLING SEQ.= POKE(MADR,VAL); * INPUT: * MADR= MEMORY ADR TO FILL * VAL= VALUE TO PLACE IN MEMORY * POKE LDX 2,U LDD 0,U STB 0,X RTS * * RENAME FUNCTION * * RENAME(OLD,NEW) * INPUT: * OLD = CURRENT FILENAME SR * NEW = NEW FILENAME STR * RENAME LDA DEFDRV STA DRIVE LDX 2,U PSHU X LBSR FILMNM BEQ RENAMC LEAU 2,U LDA DRIVE PSHU A LDX 1,U PSHU X LBSR FILMNM BEQ RENAMB LEAU 2,U PULU A CMPA DRIVE BNE RENAMC PSHS U JSR FNDF PULS U TST FILSEC BNE RENAMD LDX 2,U PSHU X LBSR FILMNM LEAU 2,U PSHS U JSR FNDF PULS U TST FILSEC BEQ RENAMD LDX 0,U PSHU X LBSR FILMNM LEAU 2,U LDX #DFILNM LDY AFN LDB #11 RENAML LDA ,X+ STA ,Y+ DECB BNE RENAML LDB #3 STB FDCODE PSHS U JSR SVERF PULS U LDX #1 RENAMX RTS RENAMB PULU A RENAMC LDB #1 PRINOA PSHU A PRINOB CLR 1,U PRINOC ASL 4,U ROL 3,U ROL 2,U ROL 1,U DECB BNE PRINOC LDB 1,U CLRA ADDB #$30 LBSR OUTBYT LDB #3 DEC ,U BNE PRINOB LEAU 5,U LBRA PRINB PRIOL LDX 5,U LDD ,--X STX 5,U PSHU D LDB #3 LDA #8 BRA PRINOA ILLFOR FCC ' *** ILLEGAL FORMAT ****' FCB 0 *\END-PRINTF\ *\END\ *\OUTBYT\ OUTPUT A BYTE *\PUTCHA *\ENDHEAD OUTBYT PSHU A CMPA #0 BNE OUTBYA LEAU 1,U LDX #0 RTS OUTBYA LDB 0,U PSHU D LBSR PUTCHA LEAU 2,U LDA 0,U+ RTS *\END-OUTBYT\ *\END\ *\OUTSTR\ OUTPUT STRING *\OUTBYT *\ENDHEAD OUTSTR PULU Y OUTSA LDA 0,Y+ LBSR OUTBYT BNE OUTSA RTS *\END-OUTSTR\ *\END\ *\NL\ SEND CR LF *\OUTBYT *\ENDHEAD NL LDA #10 LBSR OUTBYT LDA #13 LBSR OUTBYT RTS *\END-NL\ *\END\ *\OL\ OUTPUT LINE *\NL *ENDHEAD OL LBSR OT LBSR NL RTS *\END-OL\ *\END\ *\OT\ OUTPUT TEXT *\OUTSTR *\ENDHEAD OT LBSR OUTSTR RTS *\END-OT\ *\END\ *\STREQ\ COMPARE 2 STRINGS *\ENDHEAD STREQ LEAU -2,U LDX #0 STX 0,U LDX 4,U LDY 2,U LDB #0 STREQA LDA B,Y BEQ STREQC CMPA B,X BEQ STREQB LDX #0 RTS STREQB INCB BRA STREQA STREQC CLRA TFR D,X CMPB #0 LEAU 6,U RTS *\END-STREQ\ *\END\ *\OUTDEC\ *\CCDIV *\CCMOD *\OUTBYT *\ENDHEAD OUTDEC LEAU -5,U LDX #0 STX 1,U LDX #10000 STX 3,U LDD 5,U BPL OUTDEA COMA COMB ADDD #1 STD 5,U LDA #'- LBSR OUTBYT OUTDEA LDX 3,U CMPX #1 BLT OUTDEX LDD 5,U LDX 3,U LBSR CCDIV TFR X,D ADDB #'0 STB 0,U CMPB #'0 BNE OUTDEB LDX 3,U CMPX #1 BEQ OUTDEB LDX 1,U BEQ OUTDED OUTDEB LDX #1 STX 1,U LDA 0,U LBSR OUTBYT OUTDED LDD 5,U LDX 3,U LBSR CCMOD STX 5,U LDD 3,U LDX #10 LBSR CCDIV STX 3,U BRA OUTDEA OUTDEX LEAU 5,U RTS *\END-OUTDEC\ *\END\ *\OUTHEX -- OUTPUT HEX *\OUTBYT *\ENDHEAD OUTHEX LDA ,X PSHU A LSRA LSRA LSRA LSRA CMPA #10 BLT OUTHX1 ADDA #$37 BRA OUTHX2 OUTHX1 ADDA #$30 OUTHX2 LBSR OUTBYT PULU A ANDA #$0F CMPA #10 BLT OUTHX3 ADDA #$37 BRA OUTHX4 OUTHX3 ADDA #$30 OUTHX4 LBSR OUTBYT RTS *\END-OUTHEX\ *\END\ *\OUTADR\ OUT 2 HEX BYTES *\OUTHEX\ *\ENDHEAD\ OUTADR PSHU X LBSR OUTHEX PULU X LEAX 1,X LBSR OUTHEX RTS *\END\ *\SCANF\ FORMAT INPUT *\OL *\OT *\ENDHEAD SCANF LDD [0,S] ANDB #31 SUBB #2 LEAX B,U PSHU X LDX ,X PSHU X CLRB LDX 0,U SCANA LDA 0,X+ BEQ SCANG CMPA #'% BNE SCANA LDA 0,X CMPA #'% BNE SCANAA LEAX 1,X BRA SCANA SCANAA INCB BRA SCANA SCANG PSHU B SCANB LDX 1,U LDA ,X+ BEQ SCANX CMPA #'% BNE SCANBD TST 0,U BEQ SCANBD LDA ,X+ STX 1,U LDX 3,U LEAX -2,X STX 3,U LDX ,X DEC 0,U PSHU X CMPA #'D LBEQ INPUTD CMPA #'d LBEQ INPUTD CMPA #'S BEQ INPUTS CMPA #'s BEQ INPUTS CMPA #'H BEQ INPUTL CMPA #'h BEQ INPUTL CMPA #'C BEQ INPUTC CMPA #'c BEQ INPUTC CMPA #'O LBEQ INPOCT CMPA #'o LBEQ INPOCT CMPA #'X LBEQ INPHEX CMPA #'x LBEQ INPHEX SCANBD LDX 3,U PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OT SCANX LEAU 5,U RTS INPUTL PSHU X NEW 5-18-81 LEAX 0,U NEW 5-18-81 PSHU X NEW 5-18-81 BSR PDECP NEW 5-18-81 PULU D NEW 5-18-81 STB [,U++] NEW 5-18-81 LBRA SCANB INPUTS LBSR ZGNCHR CMPA #EOL BEQ INPUSI LDX 0,U INPUSS STA ,X+ STX 0,U LBSR ZGNCHR CMPA #EOL BEQ INPUSX CMPA #32 BNE INPUSS INPUSX LDX 0,U CLR ,X+ LEAU 2,U LBRA SCANB INPUSI LBSR ZLINEI BRA INPUTS INPUTC LBSR ZGNCHR CMPA #EOL BEQ INPUCI CMPA #32 NEW 5-18-81 BEQ INPUTC NEW 5-18-81 PULU X STA ,X LBRA SCANB INPUCI LBSR ZLINEI BRA INPUTC INPUTD BSR PDECP NEW 5-18-81 LBRA SCANB NEW 5-18-81 PDECP LDD #0 NEW 5-18-81 PSHU D INPUDY LBSR ZGNCHR CMPA #EOL BEQ INPUDI BRA INPADA INPUDA LBSR ZGNCHR INPADA LDB #1 PSHU B CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX CMPA #'- BNE INPUDB LDA #-1 STA 0,U INPUDL LBSR ZGNCHR INPUDB CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX PSHU A LDX 2,U LDD #10 LBSR CCMULT PULU A SUBA #'0 LEAX A,X STX 1,U BRA INPUDL INPUDX CLRA LDB 0,U+ SEX LDX 0,U++ LBSR CCMULT STX [,U++] RTS INPUDI LBSR ZLINEI BRA INPUDY INPHEX LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLHH LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPOCT LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLOO LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPCHL LEAX ,U PSHS X LBSR ZGNCHR CMPA #EOL BNE INPCHB LBSR ZLINEI INPCHA LBSR ZGNCHR INPCHB CMPA #EOL BEQ INPCHC CMPA #32 BEQ INPCHC LDX ,S STA ,X+ STX ,S BRA INPCHA INPCHC CLR ,X LEAS 2,S RTS INPLOO LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGP LDA ,X+ BEQ INPLGS SUBA #'0 CMPA #7 BLE INPLGQ CLRA INPLGQ PSHU A LDB #3 PSHS Y LDY 16,U INPLGR ANDCC #$FE ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPLGR LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGP INPLGS LEAU 17,U RTS INPLGH BSR IN#asm * ***************************************************** * DUGGER'S GROWING SYSTEMS - 6809 C RUNTIME PACKAGE * * WRITTEN BY B W DUGGER 7/83 VERSION 1.2 * * ***************************************************** OPT NOL * * EXTERNAL EQUATES FILTYP EQU $6F FILE TYPE 0,-2=DISPLAY,PRINTER >0=FILE # IERR EQU $70 INPUT ERROR - $FF=EOF,0=OK EEOF EQU $FF FINDFL EQU $C65F CHECK IF EXIST FLFLFD EQU $0973 FIND FILE FLAG FLKILL EQU $C6CF KILL FILE ENTRY POLCAT EQU $A000 POLE KEYS PUTCAT EQU $A002 ECHO KEY EOL EQU 0 PITCH EQU $8C SOUND PITCH BUFPNT EQU $A6 COMMAND BUFFER POINTER DFILNM EQU $094C FILSPC SET FILE NAME HERE THELIN EQU $02DD COLOR INPUT TERMINAL LINE ADR DKTYPE EQU $0957 FILE TYPE+ASCII FLAG DEFDRV EQU $095A DEFAULT DRIVE JXADDR EQU $836C PUT ADDRESS ONTO STACK CHROUT EQU $A002 DISPLAY CHAR CHRIN EQU $A176 GET CHAR. FROM DEVICE LINPUT EQU $A390 LINE INPUT CLRSCN EQU $A928 CLEAR SCREEN SOUND EQU $A951 SOUND GENERATOR DCOPC EQU $C006 DEVICE CONTROL POINTER DKOPEN EQU $C468 OPEN DISK FILE FILSPC EQU $C88A GET FILE SPEC ITEMS DKCLS EQU $CA53 CLOSE DISK FILE DKCLC EQU $CA3B CLOSE ALL FILES BASPNT EQU $A6 FILSEC EQU $0973 FDCODE EQU $EA DRIVE EQU $EB FNDF EQU $C65F AFN EQU $0974 SVERF EQU $D5FF FILSPEC EQU $0973 * *\\CINT\\ INITIALZATION ROUTINE CINT LDU #$6FFF SET U STACK LBSR MAIN GOTO MAIN ROUTINE LBRA ZWARMS RETURN SYSTEM *\\CCOR\\ LOGICAL OR CCOR PSHU X ORA ,U+ ORB ,U+ TFR D,X RTS *\\CCAND\\ LOGICAL AND CCAND PSHU X ANDA ,U+ ANDB ,U+ TFR D,X RTS *\\CCXOR\\ LOGICAL XOR CCXOR PSHU X EORA ,U+ EORB ,U+ TFR D,X RTS *\\CCASL\\ ARITHMETIC SHIFT LEFT CCASL EXG D,X CCASLA LSLA LSLB BCC CCASLB ORA #1 CCASLB LEAX -1,X CMPX #0 BNE CCASLA TFR D,X RTS *\\CCASR\\ ARITHMETIC SHIFT RIGHT CCASR EXG D,X CCASRA LSRB ASRA BCC CCASRB ORB #128 CCASRB LEAX -1,X CMPX #0 BNE CCASRA TFR D,X RTS *\\CCCOM\\ COMPLEMENT CCCOM TFR X,D COMA COMB TFR D,X RTS *\\CCNEG\\ NEGATE OR 2'S COMPLEMENT CCNEG BSR CCCOM LEAX 1,X RTS *\\CCNEGD\\ NEGATE D REGISTER CCNEGD COMA COMB ADDD #1 RTS *\\CCMULT\\ INTEGER MULTIPLY CCMULT PSHU X PSHU D LDD #0 PSHU D PSHU D LDA 5,U LDB 7,U MUL STD 2,U LDA 5,U LDB 6,U MUL ADDD 1,U STD 1,U LDB 7,U LDA 4,U MUL ADDD 1,U STD 1,U LDX 2,U LEAU 8,U RTS *\\CCDIV\\ INTEGER DIVIDE CCDIV LEAU -1,U CLR 0,U PSHU X PSHU D LDX #0 PSHU X BSR FIXNEG STD 2,U LDD 4,U BSR FIXNEG STD 4,U LDX #16 DIV1 ASL 3,U ROL 2,U ROL 1,U ROL 0,U LDD 0,U CMPD 4,U BLO DIV2 SUBD 4,U STD 0,U INC 3,U DIV2 LEAX -1,X BNE DIV1 LDD 2,U ASR 6,U BCC DIV3 BSR FIXNE1 DIV3 TFR D,X LDD 0,U LEAU 7,U RTS FIXNEG CMPD #0 BEQ CCDIVZ BGT CCDIVK FIXNE1 BSR CCNEGD INC 6,U CCDIVK RTS CCDIVZ LDX #0 LEAU 7,U LEAS 2,S RTS *\\CCMOD\\ MODULE DIVIDE RETURN REMAINDER CCMOD LBSR CCDIV EXG X,D RTS *\PRINTF\ FORMAT PRINT ROUTINE PRINTF LDD [0,S] FORMAT PRINT ROUTINE ANDB #31 DETERMINE NUMBER OF BYTES SUBB #2 LEAX B,U FORMAT STRING STACK ADR PSHU X SAVE VAR POSITIONING LDX ,X FORMAT STRING ADR PSHU X SAVE FOR ANALYSIS CLRB LDX 0,U PRINA LDA 0,X+ BEQ PRING CMPA #'% BNE PRINA LDA 0,X CMPA #'% BNE PRINAA LEAX 1,X BRA PRINA PRINAA INCB BRA PRINA PRING PSHU B PRINB LDX 1,U PICKUP NEXT FIELD LDA ,X+ CHECK IF FINIS BEQ PRINX YES CMPA #'% BNE PRINCS PRINT AS SINGLE CHAR TST 0,U BEQ PRINBD BAD FORMAT LDA ,X+ PICKUP NEXT FIELD CMPA #'% CHECK FOR % PRINTING BEQ PRINCS PRINT AS SINGLE CHAR STX 1,U LDX 3,U VAR ADR LEAX -2,X POSITION TO VAR STX 3,U SAVE NEW POSITION LDX ,X DEC 0,U DECR VAR COUNT CMPA #'D BEQ PRIND PRINT DECIMAL CMPA #'d BEQ PRIND CMPA #'S BEQ PRINS PRINT STRING CMPA #'s BEQ PRINS CMPA #'C BEQ PRINC PRINT SINGLE CHAR CMPA #'c BEQ PRINC CMPA #'O LBEQ PRINO CMPA #'o LBEQ PRINO CMPA #'X LBEQ PRIXN CMPA #'x LBEQ PRIXN PRINBD LDX 1,U PRINT BAD FORMAT PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OL LEAU 5,U RTS PRIND PSHU X LBSR OUTDEC LEAU 2,U BRA PRINB PRINX LEAU 5,U RTS PRINS PSHU X LBSR OT LBRA PRINB PRINC PSHU X LBSR PUTCHA LEAU 2,U BRA PRINB PRINCS CMPA #'\ BNE PRINCK LDA 0,X+ LBEQ PRINBD CMPA #'\ BEQ PRINCK CMPA #'n BEQ PRINH CMPA #'N BEQ PRINH CMPA #'t TOP OF FORM BEQ PRINCL CMPA #'T BEQ PRINCL BRA PRINCL PRINCJ STX 1,U LBSR NL LBRA PRINB PRINCL LDA #12 PRINCK STX 1,U CMPA #10 BEQ PRINGG TFR A,B LBSR OUTBYT LBRA PRINB PRINBS LDX 1,U LEAX 1,X STX 1,U LBSR NL LBRA PRINB PRINGG LBSR NL LBRA PRINB PRINH LDA #10 LBRA PRINCK PRILX LDX 5,U LDD ,--X STX 5,U PSHU B LEAX ,U LBSR OUTHEX LEAU 1,X PULU X PRIXN PSHU X LEAX ,U LBSR OUTADR LEAU 2,U LBRA PRINB PRINO PSHU A PSHU X PSHU A LDA #6 20 DIM PRIME(4095) 50 COUNT = 0 60 FOR I = 1 TO 4095 70 PRIME(I) = 1 80 NEXT I 90 FOR I = 1 TO 4095 100 IF PRIME(I) = 0 THEN 180 110 J = I + I + 3 120 K = I + J 130 IF K > 4095 THEN 170 140 PRIME(K) = 0 150 K = K + J 160 GOTO 130 170 COUNT = COUNT + 1 180 NEXT I 190 PRINT COUNT;" PRIMES" 200 END = 1 TO 4095 70 PRIME(I) = 1 80 NEXT I 90 FOR I = 1 TO 4095 100 IF PRIME(I) = 0 THEN 180 110 J = I + I + 3 120 K = I + J 130 IF K > 4095 THEN 170 140 PRIME(K) = 0 150 K = K + J 160 GOTO 130 170 COUNT = COUNT + 1 180ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/* PRINT A FILE ROUTINE */ #define EOF -1 #define EOL 13 main() @ int i,j,k,l,m,nn,fp; char instr[16],inbuf[80],c; j=k=l=0; while(1) @ PRINTF("\N*****LIST A FILE*****"); PRINTF("\NEITHER CONTINUOUS OR PAGE"); PRINTF("\NC OR P ?"); c=GETCHAR(); if(c=='C') @ PRINTF("\NSLOW,MED,FAST S,M,F ?"); c=GETCHAR(); if(c=='S')nn=10000; else if(c=='M')nn=5000; else nn=1000; l=1; $ PRINTF("\N(HIT ANY CHAR) TO CONTINUE OR STOP."); PRINTF("\NHIT $ TO QUIT"); printf("\NINPUT FILE NAME?= "); scanf("%s",instr); fp=fopen(instr,"r",1); if(fp!=0)break; $ while((i=getc(fp))!=EOF) @ if(i==EOL) @ if(j>31)++k; inbuf[j]=0; j=0; printf("\n%s",inbuf); if(l==0) @ if(k++>=14) @ k=0; c=GETCHAR(); if(c=='$')break; $ $ else @ c=NWCHAR(0); if(c!=0) @ if(c=='$')break; c=getchar(); $ m=0; /* CHANGE FOLLOWING TO SPEEDUP OR SLOW DOWN VIEW RATE */ while(m++3B{]ÿ666†Æ6oAhDiCiBiAZ&õæAOË03ÆjÄ&å3Eþè®E샯E6Ɔ Ð *** ILLEGAL FORMAT ****6�&3AŽ9æÄ6A3B¦À97 ¦ ÿá&ù9† {ØÿÙ† ÿÔ9ÿï9ÿá93^ޝĮD®BƦ¥' ¡…'Ž9\ ñOÁ3F93[ޝAŽ'¯CìE* CSÃíE†-ÿ‡®CŒ-;ìE®Cý´Ë0çÄÁ0& ®CŒ'®A' ޝ{SA¦ÄÿZìE®Cýå¯EìCŽ ý„¯C ¾3E9¦„6DDDD� -‹7 ‹0ÿ-7„� -‹7 ‹0ÿ96ÿÔ70ÿÍ9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®{ÎA¦€'d�%&PmÄ'L¦€¯A®C0¯C®„jÄ6�D'•�d'��S'N�s'J�H'7�h'3�C'd�c'`�O'ã�o'Ý�X'¿�x'¹®C6þ¹0�þg6þ°3E960Ä6�I7çÑÿ„{Iõ�'®Ä§€¯Äè�'� &ñ®Äo€3BÿcÍ ÚÏ�' � 'õ7§„ÿL¶ é�ÿBÌ6®�'D ¥Æ6� '+�''�-&†ÿ§ÄŽ� '�'6®BÌ ü{Ä7€00†¯A áOæÀ®Áûí¯Ñ9\ °3\0Ä63Q�&‰®DìBí„3FþÕ3\0Ä63Q�1®DìBí„3Fþ½0Ä4*�& �' � '®ä§€¯ä ío„2b9®OÌí„í{?0Ħ€'(€0�/O6Æ4 ®Èþi#i"i!i¤Z&ó¦#«À§#5 Ô3È9�þW®OÌí„í0Ħ€'/€0� /�/€ €6Æ4 ®È~i#i"i!i¤Z&ó¦#«À§#5 Í3È9{º­ìÄÁ`/À ÁA-ÁZ.Ž9Ž9ìÄÁA-ÁZ.Ž9Ž9ìÄÁa-Áz.Ž9Ž9ìÄÁ0-Á9.Ž9Ž9ìÄÁ ' Á 'Á 'Ž9Ž9ìÄ�ÂŒ'À 9ìÄ�´Œ'{5Ë 9®B¦„„_�W& ®D6 ¢3B†ÚŒ&Ž9®Ä ®Ä9®D6 ‚3B†ºŒ&Ž9®Äâ®Ä9ìÄ÷ol9®Ä6 Y3B4@½ÆÏ5@Ž9®Ä6 D3B4@½{°Æ_5@Ž} s&Ž9V®ÄŽݦ §€&ú94@Û5@'÷‰O94@­Ÿ '5@®Ä'4B­Ÿ 5B‰95@Ž9ìÄç�œ9ìĘŠ}¢&9ìĘŸ9ìB˜� '©Ž9{+–'Žÿÿ9‰O9Üz§96� &O9Äа˜º×o«90�6+ »~À®Ô9®BìÄç„9¶ Z—ë®B6k'b3B–ë6®A6\'Q3B7‘ë&K4@½Æ_5@} ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉÁ  ÉÉÇ Ä ÄÂÉÂ"ÉÁ%É'()*+,?ÉÉÿÿÿÁÂ5É98É:;<ÉÿÿÃÿÿÿÿES SRCÿ\STLIB TXTÿ/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿPRIME TXTÿ åPRIME BIN!*LIB INCÿ#BPRIME TXTÿ*LISTIT TXTÿLISTIT BIN$ßCLIBR LIBÿINCLIB TXTÿ&ùPRIME SRCÿ.5UPC BIN FPPRT TXTÿÂFPOINT TXTÿýULIB INCÿ2UPPRIME TXTÿ3åADDSEQ BIN%STRIPIT BIN4,DGSCC BIN6 UPPRIME BIN7)PRIMES SRCÿ\STLIB TXTÿ/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{¦s&A®B6?3B4@½Æ_5@} s',®Ä6*3BŽ L¾ tÆ ¦€§ Z&ùÆ×ê4@½Õÿ5@Ž973BŽ ö®ÄŽ LÆ † §€Z&ûŽ L¶ Z—ë¦!�/',�:'(¦ '�:'2�/'.�.':§{!€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,!�0%€0—ë1" Ʀ¤�4,�0% €0—ë ÊŽ T ±Ž Ó†Iþî9Ìÿý W†Oþà9�' � 'l�è!& ¦¦Ÿ¦9�¦€�&ø9o�{œ&4ïÌd—Œ½©Q59�79o�;4�à5‚4Æþ×o5 é4æ�þ‚×o5 4æ�þy×o5 n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5{@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'90�"6ùŠÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXISTS - KILL FILE( ’Y/N)? ERROR %D%S\N primesÿk é4æ�þ‚×o5 4æ�þy×o5 n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5{@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'90�"6ùŠÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXISTS - KILL FILE(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#asm LIBS INCLIB.TXT #endasm while(k<=SIZE) @prime[k]=0; k=k+j; $ ++count; $ ++i; $ printf("%D%S\N",count," primes"); ++l; $ $ @ if(prime[i]!=0) ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{3R3ÈŸ0Èk60Èk60Èk6Ž¯Ñ¯Ñ¯ÑŽŒ'=0� w63B0� „63B0� •63B0Ä6 �çÑ0Äæ„O6ŽCŽ£Á&0Œ'‚0� k6Ð{{3B0Ä6 LçÑ0Äæ„O6ŽSŽ£Á&0Œ' 0Èc6Ž'¯Ñ60Äæ„O6ŽMŽ£Á&0Œ' 0Èc6Žˆ¯Ñ 0Èc6Žè¯Ñ0Èg6ޝÑ0�{ö 6N3B0� 6C3B0� !683B0� +60ÈS6‚3D0Èa60ÈS60� 6Ž6þ3F¯Ñ0Èa®„6ŽŽ£Á'0Œ'þ¹0Èm60Èc®„6{q¸3B¯Ñ6Ž;Ž£Á'0Œ'¨0Èm®„6Ž Ž£Á&0Œ'h0Èk®„6ŽŽ£Á,0Œ' 0Èi6®„0¯Ñ0A60Èm®„70‹6Žç{ìÑ0Èk6ޝÑ0� N60C6G3D0Èg®„6ŽŽ£Á&0Œ'_0Èi6®„0¯Ñ06ŽŽ£Á.0Œ'70Èi6ޝÑ0Ä6wçÑ0Äæ„O6Ž{g$Ž£Á&0Œ'»’0Ä6Ž6Q3BçÑ0Äæ„O6ŽŽ£Á'0Œ'-0Äæ„O6Ž$Ž£Á&0Œ'e0Ä6ôçÑ0È{âe6ޝÑ0Èe6®„0¯Ñ060Èe®„Ž£Á/0Œ'ÿÖ 0A60Èm6®„0¯Ñ070‹60Èo®„çÑþ*0Äæ„O6Ž$Ž£Á&0Œ'\0{]Ä6mçÑ3Èo9Îoÿü�ô6ªÀêÀ96¤ÀäÀ96¨ÀèÀ9HX$Š0Œ&ó9TG$Ê€0Œ&ó9CS9�÷09CSÃ966Ì66¦EæG=íB¦{ØEæF=ãAíAæG¦D=ãAíA®B3H93_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$�ìÄ3G9ƒ'.�…lF9Ž3G2b9ÿ¦9ìôÄÀ0Å{S6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®A¦€'f�%&vmÄ'B¦€�%'l¯A®C0¯C®„jÄ�D'?�d';�S'C�s'?�C'C�c'?�O'®�o'¨�X'–�x'�®A60�Ë{Î6 3E9653B ”3E96ÿ‰63B €�\&&¦€'ÿÆ�\'�n'8�N'4�t'�T' ¯A½ÿX† ¯A� '‰‹ÿH®A0¯A¡ÿ<›ÿ6† ÿÛ®E샯E6{I0Ä"3760Ä>3Bÿ666†Æ6oAhDiCiBiAZ&õæAOË03ÆjÄ&å3Eþè®E샯E6Ɔ Ð *** ILLEGAL FORMAT ****6�&3AŽ9æÄ6{ÄA3B¦À97 ¦ ÿá&ù9† ÿÙ† ÿÔ9ÿï9ÿá93^ޝĮD®BƦ¥' ¡…'Ž9\ ñOÁ3F93[ޝAŽ'¯CìE* CSÃíE†-ÿ‡®CŒ-;ìE®Cý´Ë0ç{?ÄÁ0& ®CŒ'®A' ޝA¦ÄÿZìE®Cýå¯EìCŽ ý„¯C ¾3E9¦„6DDDD� -‹7 ‹0ÿ-7„� -‹7 ‹0ÿ96ÿÔ70ÿÍ9ìôÄÀ0Å6®„6_®Ä¦€'{º�%&ø¦„�%&0 î\ ë6®A¦€'d�%&PmÄ'L¦€¯A®C0¯C®„jÄ6�D'•�d'��S'N�s'J�H'7�h'3�C'd�c'`�O'ã�o'Ý�X'¿�x'¹®C6þ¹0�þg6{5þ°3E960Ä6�I7çÑÿ„õ�'®Ä§€¯Äè�'� &ñ®Äo€3BÿcÍ ÚÏ�' � 'õ7§„ÿL¶ é�ÿBÌ6®�'D ¥Æ6� '+�''�-&†ÿ§Ä{°Ž� '�'6®BÌ ü7€00†¯A áOæÀ®Áûí¯Ñ9\ °3\0Ä63Q�&‰®DìBí„3FþÕ3\0Ä63Q�1®DìBí„3Fþ½0Ä4*�& �' � '®ä{+§€¯ä ío„2b9®OÌí„í0Ħ€'(€0�/O6Æ4 ®Èþi#i"i!i¤Z&ó¦#«À§#5 Ô3È9�þW®OÌí„í0Ħ€'/€0� /�/€ €6Æ4 ®È~i#i"i!i{¦¤Z&ó¦#«À§#5 Í3È9­ìÄÁ`/À ÁA-ÁZ.Ž9Ž9ìÄÁA-ÁZ.Ž9Ž9ìÄÁa-Áz.Ž9Ž9ìÄÁ0-Á9.Ž9Ž9ìÄÁ ' Á 'Á 'Ž9Ž9ìÄ{!�ÂŒ'À 9ìÄ�´Œ'Ë 9®B¦„„_�W& ®D6 ¢3B†ÚŒ&Ž9®Ä ®Ä9®D6 ‚3B†ºŒ&Ž9®Äâ®Ä9ìÄ÷ol9®Ä6 Y3B4@½Æ{œÏ5@Ž9®Ä6 D3B4@½Æ_5@Ž} s&Ž9V®ÄŽݦ §€&ú94@Û5@'÷‰O94@­Ÿ '5@®Ä'4B­Ÿ 5B‰95@Ž9ìÄç�›9ìĘŠ}¡&9ìÄ{˜Ÿ9ìB˜� '©Ž9–'Žÿÿ9‰O9Üz§96� &O9Äа˜º×o«90�5+ »~À®Ô9®BìÄç„9¶ Z—ë®B6k'b3B–ë6®A6{’\'Q3B7‘ë&K4@½Æ_5@} s&A®B6?3B4@½Æ_5@} s',®Ä6*3BŽ L¾ tÆ ¦€§ Z&ùÆ×ê4@½Õÿ5@Ž973BŽ ö®ÄŽ LÆ † §€Z&ûŽ L¶ Z—ë¦!�/',�{ :'(¦ '�:'2�/'.�.':§€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,!�0%€0—ë1" Ʀ¤�4,�0% €0—ë ÊŽ T ±Ž Ó†Iþî9Ìÿý W†Oþà9�' � 'l�æ!&{ˆ ¦¦Ÿ¦9�¦€�&ø9o�&4ïÌd—Œ½©Q59�79o�;4�à5‚4Æþ×o5 é4æ�þ‚×o5 4æ�þy×o5 n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@{½Ê;5@94@½Äh5@94@½ƒl5@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'90�"6ùŠÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE{~ EXIST - KILL FILE(Y/N)? ERROR \N*****LIST A FILE*****\NEITHER CONTINUOUS OR PAGE\NC OR P ?\NSLOW,MED,FAST S,M,F ?Uù\N(HIT ANY CHAR) TO CONTINUE OR STOP.\NHIT $ TO QUIT\NINPUT FILE NAME?= %sr\n%sÿkÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ OPT NOL * ***************************************************** * DUGGER'S GROWING SYSTEMS - 6809 C RUNTIME PACKAGE * * WRITTEN BY B W DUGGER 7/83 VERSION 1.2 * * ***************************************************** * * EXTERNAL EQUATES FILTYP EQU $6F FILE TYPE 0,-2=DISPLAY,PRINTER >0=FILE # IERR EQU $70 INPUT ERROR - $FF=EOF,0=OK EEOF EQU $FF FINDFL EQU $C65F CHECK IF EXIST FLFLFD EQU $0973 FIND FILE FLAG FLKILL EQU $C6CF KILL FILE ENTRY POLCAT EQU $A000 POLE KEYS PUTCAT EQU $A002 ECHO KEY EOL EQU 0 PITCH EQU $8C SOUND PITCH BUFPNT EQU $A6 COMMAND BUFFER POINTER DFILNM EQU $094C FILSPC SET FILE NAME HERE THELIN EQU $02DD COLOR INPUT TERMINAL LINE ADR DKTYPE EQU $0957 FILE TYPE+ASCII FLAG DEFDRV EQU $095A DEFAULT DRIVE JXADDR EQU $836C PUT ADDRESS ONTO STACK CHROUT EQU $A002 DISPLAY CHAR CHRIN EQU $A176 GET CHAR. FROM DEVICE LINPUT EQU $A390 LINE INPUT CLRSCN EQU $A928 CLEAR SCREEN SOUND EQU $A951 SOUND GENERATOR DCOPC EQU $C006 DEVICE CONTROL POINTER DKOPEN EQU $C468 OPEN DISK FILE FILSPC EQU $C88A GET FILE SPEC ITEMS DKCLS EQU $CA53 CLOSE DISK FILE DKCLC EQU $CA3B CLOSE ALL FILES BASPNT EQU $A6 FILSEC EQU $0973 FDCODE EQU $EA DRIVE EQU $EB FNDF EQU $C65F AFN EQU $0974 SVERF EQU $D5FF FILSPEC EQU $0973 *\\CINT\\ INITIALZATION ROUTINE CINT LDU #$6FFF SET U STACK LBSR MAIN GOTO MAIN ROUTINE LBRA ZWARMS RETURN SYSTEM *\\CCOR\\ LOGICAL OR CCOR PSHU X ORA ,U+ ORB ,U+ TFR D,X RTS *\\CCAND\\ LOGICAL AND CCAND PSHU X ANDA ,U+ ANDB ,U+ TFR D,X RTS *\\CCXOR\\ LOGICAL XOR CCXOR PSHU X EORA ,U+ EORB ,U+ TFR D,X RTS *\\CCASL\\ ARITHMETIC SHIFT LEFT CCASL EXG D,X CCASLA LSLA LSLB BCC CCASLB ORA #1 CCASLB LEAX -1,X CMPX #0 BNE CCASLA TFR D,X RTS *\\CCASR\\ ARITHMETIC SHIFT RIGHT CCASR EXG D,X CCASRA LSRB ASRA BCC CCASRB ORB #128 CCASRB LEAX -1,X CMPX #0 BNE CCASRA TFR D,X RTS *\\CCCOM\\ COMPLEMENT CCCOM TFR X,D COMA COMB TFR D,X RTS *\\CCNEG\\ NEGATE OR 2'S COMPLEMENT CCNEG BSR CCCOM LEAX 1,X RTS *\\CCNEGD\\ NEGATE D REGISTER CCNEGD COMA COMB ADDD #1 RTS *\\CCMULT\\ INTEGER MULTIPLY CCMULT PSHU X PSHU D LDD #0 PSHU D PSHU D LDA 5,U LDB 7,U MUL STD 2,U LDA 5,U LDB 6,U MUL ADDD 1,U STD 1,U LDB 7,U LDA 4,U MUL ADDD 1,U STD 1,U LDX 2,U LEAU 8,U RTS *\\CCDIV\\ INTEGER DIVIDE CCDIV LEAU -1,U CLR 0,U PSHU X PSHU D LDX #0 PSHU X BSR FIXNEG STD 2,U LDD 4,U BSR FIXNEG STD 4,U LDX #16 DIV1 ASL 3,U ROL 2,U ROL 1,U ROL 0,U LDD 0,U CMPD 4,U BLO DIV2 SUBD 4,U STD 0,U INC 3,U DIV2 LEAX -1,X BNE DIV1 LDD 2,U ASR 6,U BCC DIV3 BSR FIXNE1 DIV3 TFR D,X LDD 0,U LEAU 7,U RTS FIXNEG CMPD #0 BEQ CCDIVZ BGT CCDIVK FIXNE1 BSR CCNEGD INC 6,U CCDIVK RTS CCDIVZ LDX #0 LEAU 7,U LEAS 2,S RTS *\\CCMOD\\ MODULE DIVIDE RETURN REMAINDER CCMOD LBSR CCDIV EXG X,D RTS *\PRINTF\ FORMAT PRINT ROUTINE PRINTF LDD [0,S] FORMAT PRINT ROUTINE ANDB #31 DETERMINE NUMBER OF BYTES SUBB #2 LEAX B,U FORMAT STRING STACK ADR PSHU X SAVE VAR POSITIONING LDX ,X FORMAT STRING ADR PSHU X SAVE FOR ANALYSIS CLRB LDX 0,U PRINA LDA 0,X+ BEQ PRING CMPA #'% BNE PRINA LDA 0,X CMPA #'% BNE PRINAA LEAX 1,X BRA PRINA PRINAA INCB BRA PRINA PRING PSHU B PRINB LDX 1,U PICKUP NEXT FIELD LDA ,X+ CHECK IF FINIS BEQ PRINX YES CMPA #'% BNE PRINCS PRINT AS SINGLE CHAR TST 0,U BEQ PRINBD BAD FORMAT LDA ,X+ PICKUP NEXT FIELD CMPA #'% CHECK FOR % PRINTING BEQ PRINCS PRINT AS SINGLE CHAR STX 1,U LDX 3,U VAR ADR LEAX -2,X POSITION TO VAR STX 3,U SAVE NEW POSITION LDX ,X DEC 0,U DECR VAR COUNT CMPA #'D BEQ PRIND PRINT DECIMAL CMPA #'d BEQ PRIND CMPA #'S BEQ PRINS PRINT STRING CMPA #'s BEQ PRINS CMPA #'C BEQ PRINC PRINT SINGLE CHAR CMPA #'c BEQ PRINC CMPA #'O LBEQ PRINO CMPA #'o LBEQ PRINO CMPA #'X LBEQ PRIXN CMPA #'x LBEQ PRIXN PRINBD LDX 1,U PRINT BAD FORMAT PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OL LEAU 5,U RTS PRIND PSHU X LBSR OUTDEC LEAU 2,U BRA PRINB PRINX LEAU 5,U RTS PRINS PSHU X LBSR OT LBRA PRINB PRINC PSHU X LBSR PUTCHA LEAU 2,U BRA PRINB PRINCS CMPA #'\ BNE PRINCK LDA 0,X+ LBEQ PRINBD CMPA #'\ BEQ PRINCK CMPA #'n BEQ PRINH CMPA #'N BEQ PRINH CMPA #'t TOP OF FORM BEQ PRINCL CMPA #'T BEQ PRINCL BRA PRINCL PRINCJ STX 1,U LBSR NL LBRA PRINB PRINCL LDA #12 PRINCK STX 1,U CMPA #10 BEQ PRINGG TFR A,B LBSR OUTBYT LBRA PRINB PRINBS LDX 1,U LEAX 1,X STX 1,U LBSR NL LBRA PRINB PRINGG LBSR NL LBRA PRINB PRINH LDA #10 LBRA PRINCK PRILX LDX 5,U LDD ,--X STX 5,U PSHU B LEAX ,U LBSR OUTHEX LEAU 1,X PULU X PRIXN PSHU X LEAX ,U LBSR OUTADR LEAU 2,U LBRA PRINB PRINO PSHU A PSHU X PSHU A LDA #6 LDB #1 PRINOA PSHU A PRINOB CLR 1,U PRINOC ASL 4,U ROL 3,U ROL 2,U ROL 1,U DECB BNE PRINOC LDB 1,U CLRA ADDB #$30 LBSR OUTBYT LDB #3 DEC ,U BNE PRINOB LEAU 5,U LBRA PRINB PRIOL LDX 5,U LDD ,--X STX 5,U PSHU D LDB #3 LDA #8 BRA PRINOA ILLFOR FCC ' *** ILLEGAL FORMAT ****' FCB 0 *\END-PRINTF\ *\END\ *\OUTBYT\ OUTPUT A BYTE *\PUTCHA *\ENDHEAD OUTBYT PSHU A CMPA #0 BNE OUTBYA LEAU 1,U LDX #0 RTS OUTBYA LDB 0,U PSHU D LBSR PUTCHA LEAU 2,U LDA 0,U+ RTS *\END-OUTBYT\ *\END\ *\OUTSTR\ OUTPUT STRING *\OUTBYT *\ENDHEAD OUTSTR PULU Y OUTSA LDA 0,Y+ LBSR OUTBYT BNE OUTSA RTS *\END-OUTSTR\ *\END\ *\NL\ SEND CR LF *\OUTBYT *\ENDHEAD NL LDA #10 LBSR OUTBYT LDA #13 LBSR OUTBYT RTS *\END-NL\ *\END\ *\OL\ OUTPUT LINE *\NL *ENDHEAD OL LBSR OT LBSR NL RTS *\END-OL\ *\END\ *\OT\ OUTPUT TEXT *\OUTSTR *\ENDHEAD OT LBSR OUTSTR RTS *\END-OT\ *\END\ *\STREQ\ COMPARE 2 STRINGS *\ENDHEAD STREQ LEAU -2,U LDX #0 STX 0,U LDX 4,U LDY 2,U LDB #0 STREQA LDA B,Y BEQ STREQC CMPA B,X BEQ STREQB LDX #0 RTS STREQB INCB BRA STREQA STREQC CLRA TFR D,X CMPB #0 LEAU 6,U RTS *\END-STREQ\ *\END\ *\OUTDEC\ *\CCDIV *\CCMOD *\OUTBYT *\ENDHEAD OUTDEC LEAU -5,U LDX #0 STX 1,U LDX #10000 STX 3,U LDD 5,U BPL OUTDEA COMA COMB ADDD #1 STD 5,U LDA #'- LBSR OUTBYT OUTDEA LDX 3,U CMPX #1 BLT OUTDEX LDD 5,U LDX 3,U LBSR CCDIV TFR X,D ADDB #'0 STB 0,U CMPB #'0 BNE OUTDEB LDX 3,U CMPX #1 BEQ OUTDEB LDX 1,U BEQ OUTDED OUTDEB LDX #1 STX 1,U LDA 0,U LBSR OUTBYT OUTDED LDD 5,U LDX 3,U LBSR CCMOD STX 5,U LDD 3,U LDX #10 LBSR CCDIV STX 3,U BRA OUTDEA OUTDEX LEAU 5,U RTS *\END-OUTDEC\ *\END\ *\OUTHEX -- OUTPUT HEX *\OUTBYT *\ENDHEAD OUTHEX LDA ,X PSHU A LSRA LSRA LSRA LSRA CMPA #10 BLT OUTHX1 ADDA #$37 BRA OUTHX2 OUTHX1 ADDA #$30 OUTHX2 LBSR OUTBYT PULU A ANDA #$0F CMPA #10 BLT OUTHX3 ADDA #$37 BRA OUTHX4 OUTHX3 ADDA #$30 OUTHX4 LBSR OUTBYT RTS *\END-OUTHEX\ *\END\ *\OUTADR\ OUT 2 HEX BYTES *\OUTHEX\ *\ENDHEAD\ OUTADR PSHU X LBSR OUTHEX PULU X LEAX 1,X LBSR OUTHEX RTS *\END\ *\SCANF\ FORMAT INPUT *\OL *\OT *\ENDHEAD SCANF LDD [0,S] ANDB #31 SUBB #2 LEAX B,U PSHU X LDX ,X PSHU X CLRB LDX 0,U SCANA LDA 0,X+ BEQ SCANG CMPA #'% BNE SCANA LDA 0,X CMPA #'% BNE SCANAA LEAX 1,X BRA SCANA SCANAA INCB BRA SCANA SCANG PSHU B SCANB LDX 1,U LDA ,X+ BEQ SCANX CMPA #'% BNE SCANBD TST 0,U BEQ SCANBD LDA ,X+ STX 1,U LDX 3,U LEAX -2,X STX 3,U LDX ,X DEC 0,U PSHU X CMPA #'D LBEQ INPUTD CMPA #'d LBEQ INPUTD CMPA #'S BEQ INPUTS CMPA #'s BEQ INPUTS CMPA #'H BEQ INPUTL CMPA #'h BEQ INPUTL CMPA #'C BEQ INPUTC CMPA #'c BEQ INPUTC CMPA #'O LBEQ INPOCT CMPA #'o LBEQ INPOCT CMPA #'X LBEQ INPHEX CMPA #'x LBEQ INPHEX SCANBD LDX 3,U PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OT SCANX LEAU 5,U RTS INPUTL PSHU X NEW 5-18-81 LEAX 0,U NEW 5-18-81 PSHU X NEW 5-18-81 BSR PDECP NEW 5-18-81 PULU D NEW 5-18-81 STB [,U++] NEW 5-18-81 LBRA SCANB INPUTS LBSR ZGNCHR CMPA #EOL BEQ INPUSI LDX 0,U INPUSS STA ,X+ STX 0,U LBSR ZGNCHR CMPA #EOL BEQ INPUSX CMPA #32 BNE INPUSS INPUSX LDX 0,U CLR ,X+ LEAU 2,U LBRA SCANB INPUSI LBSR ZLINEI BRA INPUTS INPUTC LBSR ZGNCHR CMPA #EOL BEQ INPUCI CMPA #32 NEW 5-18-81 BEQ INPUTC NEW 5-18-81 PULU X STA ,X LBRA SCANB INPUCI LBSR ZLINEI BRA INPUTC INPUTD BSR PDECP NEW 5-18-81 LBRA SCANB NEW 5-18-81 PDECP LDD #0 NEW 5-18-81 PSHU D INPUDY LBSR ZGNCHR CMPA #EOL BEQ INPUDI BRA INPADA INPUDA LBSR ZGNCHR INPADA LDB #1 PSHU B CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX CMPA #'- BNE INPUDB LDA #-1 STA 0,U INPUDL LBSR ZGNCHR INPUDB CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX PSHU A LDX 2,U LDD #10 LBSR CCMULT PULU A SUBA #'0 LEAX A,X STX 1,U BRA INPUDL INPUDX CLRA LDB 0,U+ SEX LDX 0,U++ LBSR CCMULT STX [,U++] RTS INPUDI LBSR ZLINEI BRA INPUDY INPHEX LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLHH LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPOCT LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLOO LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPCHL LEAX ,U PSHS X LBSR ZGNCHR CMPA #EOL BNE INPCHB LBSR ZLINEI INPCHA LBSR ZGNCHR INPCHB CMPA #EOL BEQ INPCHC CMPA #32 BEQ INPCHC LDX ,S STA ,X+ STX ,S BRA INPCHA INPCHC CLR ,X LEAS 2,S RTS INPLOO LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGP LDA ,X+ BEQ INPLGS SUBA #0 CMPA #7 BLE INPLGQ CLRA INPLGQ PSHU A LDB #3 PSHS Y LDY 16,U INPLGR ANDCC #$FE ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPLGR LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGP INPLGS LEAU 17,U RTS INPLGH BSR INPLHH LBRA SCANB INPLHH LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGI LDA ,X+ BEQ INPLGM SUBA #'0 CMPA #9 BLE INPLGK CMPA #$19 BLE INPLGJ SUBA #$20 INPLGJ SUBA #7 INPLGK PSHU A LDB #4 PSHS Y LDY 16,U INPGL ANDCC #$7E ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPGL LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGI INPLGM LEAU 17,U RTS *\END-SCANF\ *\END\ *\EXIT\ GOTO DOS *\ENDHEAD EXIT LBRA ZWARMS *\END-EXIT\ *\END\ *\ISALPHA\ CHECK FOR ALPHABETIC *\ENDHEAD ISALPH LDD ,U CMPB #96 BLE ISALPB SUBB #32 ISALPB CMPB #'A BLT ISALPX CMPB #'Z BGT ISALPX LDX #1 RTS ISALPX LDX #0 RTS *\END-ISALPH\ *\END\ *\ISUPPE\ UPPER CASE ALPHABETIC *\ENDHEAD ISUPPE LDD ,U CMPB #'A BLT ISUPPX CMPB #'Z BGT ISUPPX LDX #1 RTS ISUPPX LDX #0 RTS *\END-ISUPPE\ *\END\ *\ISLOWE\ CHECK LOWER CASE *\ENDHEAD ISLOWE LDD ,U ISLOWZ CMPB #'a BLT ISLOWX CMPB #'z BGT ISLOWX LDX #1 RTS ISLOWX LDX #0 RTS *\END-ISLOWE\ *\END\ *\ISDIGI\ CHECK DIGIT *\ENDHEAD ISDIGI LDD ,U CMPB #'0 BLT ISDIGX CMPB #'9 BGT ISDIGX LDX #1 RTS ISDIGX LDX #0 RTS *\END-ISDIGI\ *\END\ *\ISSPAC\ SPACE,TAB,CR *\ENDHEAD ISSPAC LDD 0,U CMPB #32 BEQ ISSPAX CMPB #9 BEQ ISSPAX CMPB #13 BEQ ISSPAX LDX #0 RTS ISSPAX LDX #1 RTS *\END-ISSPAC\ *\END\ *\TOUPPE\ CONVERT UPPER CASE *\ENDHEAD TOUPPE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOUPX SUBB #32 TOUPX TFR D,X RTS *\END TOUPPE\ *\END\ *TOLOWE\ CONVERT LOWER CASE *\ENDHEAD TOLOWE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOLOWX ADDB #32 TOLOWX TFR D,X RTS *\END-TOLOWE\ *\END\ FOPEN LDX 2,U LDA 0,X ANDA #$5F CMPA #'W BNE ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #1 LBSR DSKFND CMPX #0 BNE ZWOPZN LDX #0 RTS ZWOPZN LDX 0,U LBSR DIROUT LDX 0,U RTS ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #2 LBSR DSKFND CMPX #0 BNE ROPZNZ LDX #0 RTS ROPZNZ LDX 0,U LBSR DIRIN LDX 0,U RTS FCLOSE LDD 0,U STB FILTYP LBSR CLOSE RTS DELFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FLKILL PULS U LDX #1 RTS FDFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FINDFL PULS U LDX #1 TST FLFLFD BNE FDFILX LDX #0 FDFILX RTS GETS LBSR GETLIN LDX 0,U LDY #THELIN GETSZX LDA ,Y+ STA ,X+ BNE GETSZX RTS *\\GETCHAR\\ GET INPUT STDIN GETCHA PSHS U LBSR ZGETC PULS U BEQ GETCHA TFR A,B CLRA TFR D,X RTS *\\NWCHAR\\CHECK FOR CHAR * NO WAIT * CALLING SEQUENCE: * C=NWCHAR(X); * WHERE X=0 OR 1 * X=1 ECHO CHARACTER * X=0 NO ECHO * USE GETCHAR TO WAIT FOR CHAR NWCHAR PSHS U JSR [POLCAT] BEQ NWCHAB PULS U LDX 0,U BEQ NWCHAA PSHS A,U JSR [PUTCAT] PULS A,U NWCHAA TFR A,B TFR D,X RTS NWCHAB PULS U LDX #0 RTS *\\PRTTOG\\ SET PRINTER ON OR OFF PRTTOG LDD 0,U STB PRTFLG,PCR RTS *\\PUTCHA\\ PUT CHAR TO STD OUT PUTCHA EQU * LDD 0,U TFR B,A LBSR ZPUTC TST PRTFLG BNE PXTCHR RTS PXTCHR LDD 0,U TFR B,A LBSR PROUT RTS PUTC LDD 2,U TFR B,A CMPA #10 BEQ PUTCA LBSR SYSOUT PUTCA LDX #1 RTS GETC LBSR SYSIN BEQ GETCB GETCA LDX #-1 RTS GETCB TFR A,B CLRA TFR D,X RTS ZLINEI LBSR GETLIN DEC BUFPNT+1 RTS ZGNCHR LBSR GNCHAR CMPA #$0D BNE ZZGNCH CLRA ZZGNCH RTS * FILE1 FDB SYSIN FCB FOR INPUT FILE INFILN FCB 1 FILE INPUT DEVICE FILE2 FDB SYSOUT FCB FOR OUTPUT FILE OUTFLN FCB 2 FILE OUTPUT DEVICE STDIN FDB ZGETC FCB FOR KEYBOARD FCB 3 INPUT DEVICE STDOUT FDB ZPUTC FCB FOR DISPLAY FCB 4 OUTPUT DEVICE PRINT FDB PROUT FCB FOR PRINTER FCB 4 * SUBROUTINE TO SET UP DEFAULT I/O * * ENTER HERE TO OPEN A FILE * B=FILE NUMBER, A='I FOR INPUT 'O FOR OUTPUT OPEN STB FILTYP SET FILE NUMBER LBSR OPNFIL RTS * ZERROR LEAX ERMSG,PCR LBSR OUTSTZ BRA ALLDON * ZWARMS EQU * ALLDON LBSR CLEARS CLEAR SCREEN JMP $C002 RETURN TO BASIC * * PEEK FUNCTION * * CALLING SEQ.- I=PEEK(MADR); * INPUT MADR= ADDRESS OF MEMORY TO EXAMINE * OUTPUT - THE CONTENT OF THE EXAMINED MEMORY * PEEK LDX [0,U] RTS * * POKE FUNCTION * * CALLING SEQ.= POKE(MADR,VAL); * INPUT: * MADR= MEMORY ADR TO FILL * VAL= VALUE TO PLACE IN MEMORY * POKE LDX 2,U LDD 0,U STB 0,X RTS * * RENAME FUNCTION * * RENAME(OLD,NEW) * INPUT: * OLD = CURRENT FILENAME SR * NEW = NEW FILENAME STR * RENAME LDA DEFDRV STA DRIVE LDX 2,U PSHU X LBSR FILMNM BEQ RENAMC LEAU 2,U LDA DRIVE PSHU A LDX 1,U PSHU X LBSR FILMNM BEQ RENAMB LEAU 2,U PULU A CMPA DRIVE BNE RENAMC PSHS U JSR FNDF PULS U TST FILSEC BNE RENAMD LDX 2,U PSHU X LBSR FILMNM LEAU 2,U PSHS U JSR FNDF PULS U TST FILSEC BEQ RENAMD LDX 0,U PSHU X LBSR FILMNM LEAU 2,U LDX #DFILNM LDY AFN LDB #11 RENAML LDA ,X+ STA ,Y+ DECB BNE RENAML LDB #3 STB FDCODE PSHS U JSR SVERF PULS U LDX #1 RENAMX RTS RENAMB PULU A RENAMC LEAU 2,U RENAMD LDX #0 BRA RENAMX * * PLACE FILE FROM STRING * INTO TRS DOS DISK FILENAME * STRING * FILMNM(STRING) * INPUT: * STRING= FILENAME STRINGADR * OUTPUT: * STATUS= 0-BAD 1-GOOD * * FILMNM LDY 0,U LDX #DFILNM LDB #11 LDA #$20 FILZZM STA ,X+ DECB BNE FILZZM LDX #DFILNM LDA DEFDRV STA DRIVE LDA 1,Y CMPA #'/ BEQ FALMNM CMPA #': BEQ FALMNM FLLMNM LDA 0,Y+ BEQ FXLMNM CMPA #': BEQ FBLMNM CMPA #'/ BEQ FBLMNM CMPA #'. BEQ FCLMNM STA 0,X+ BRA FLLMNM FXLMNM LDA DFILNM+8 CMPA #$20 BNE FGLMNM LDD #$5458 STD DFILNM+8 STA DFILNM+10 FGLMNM LDX #1 FHLMNM RTS FALMNM LDA 0,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE LEAY 2,Y BRA FLLMNM FBLMNM LDA ,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE BRA FXLMNM FCLMNM LDX #DFILNM+8 BRA FLLMNM FKLMNM LDX #0 BRA FHLMNM * * MAIN PROCESSOR * * REDIRECT OUTPUT TO PRINTER * RE-DIRECT INPUT DIRIN TFR X,D LDA #'I LBSR OPEN RTS * RE-DIRECT OUTPUT DIROUT LDD #$03FF STD DKTYPE TFR X,D LDA #'O OPEN TEXTFILE FOR OUTPUT LBSR OPEN RTS * GNCHAR BSR GCHAR CHECK NEXT CHAR. BEQ GCHAR DON'T PASS EOL CMPA #$D BEQ GCHAR INC BUFPNT+1,PCR BUMP POINTER TO NEXT CHAR BNE GCHAR INC BUFPNT GCHAR LDA [BUFPNT] RTS * * * OUTPUT STRING TO DISPLAY OUTST1 BSR ZPUTC OUTSTZ LDA ,X+ CMPA #4 BNE OUTST1 RTS * * EXTERNALLY REFERENCED PROCEDURES * * OUTPUT CHARACTER TO DISPLAY ZPUTC CLR FILTYP CMPA #7 BELL CHAR? BNE ZPUTC1 PSHS CC,X ANDCC #$EF INSURE IRQ ENABLED! LDD #$6405 PITCH:DURATION STA PITCH JSR SOUND PULS CC,X RTS * OUTPUT CHARACTER TO DEVICE SET ZPUTC1 BSR ZPZTCH RTS ZGETC CLR FILTYP FROM KEYBOARD BSR ZGZTCH PSHS A BSR ZPUTC ECHO THE INPUT PULS A,PC * * PRINTER OUTPUT PROUT PSHS B LDB #-2 STB FILTYP PULS B BRA ZPUTC1 * * FILE INPUT SYSIN PSHS B LDB INFILN,PCR STB FILTYP PULS B BRA ZGZTCH * * FILE OUTPUT SYSOUT PSHS B LDB OUTFLN,PCR STB FILTYP PULS B BRA ZPZTCH * FMS JMP ,X * * GET FILE NAME AND DRIVE GETSPC PSHS U JSR FILSPC PULS U RTS * * OUTPUT A CHARACTER ZPZTCH PSHS U JSR [CHROUT] PULS U RTS * * GET A CHARACTER ZGZTCH PSHS U JSR CHRIN TST IERR PULS U RTS * * CLOSE FILE NUMBER SET IN FILTYP CLOSE PSHS U JSR DKCLS PULS U RTS * * CLOSE ALL OPEN FILES CLSALL PSHS U JSR DKCLC PULS U RTS * * OPEN FILE IN COMMAND LINE WITH X ÿY& • 1024,&H7FFF& ‡ #¬2,""&&,‚&5y€ T³0 ¥ 34&Dz€ S³1 ¥ 18&h{‡ #¬2,"Track: ";T;" Sector: ";S&}|ß DR,T,S,DH$,DL$&ɆDE$(0)³ÿŽ(DH$,64):DE$(1)³ÿ�(DH$,64):DE$(2)³ÿŽ(DL$,64):DE$(3)³ÿ�(DL$,64)&׋€ J³0 ¥ 0&æ�JJ$³DE$(J)&òŽJJ³J­64'�‡ #¬2, "ADR 0 1 2 3 4 5 6 7"'Dš‡ #¬2, "--- -- -- -- -- -- -- -- --"'R¤€ K³0 ¥ 7'{®B³K­8:X³B«JJ:�¦ 4000:‡ #¬2, HH$;":";'ĸ€ L³0 ¥ 7:X³ÿŠ(ÿ�(JJ$,B«L«1,1)):�¦ 4000:‡ #¬2, " ";HH$;:‹ L:‡ #¬2,""'Ì‹ K'ãÌ‹ J:‡ #¬2,"":‹ S,T'éçŠ( :ƒCONVERT X TO 2 HEX BYTES(0ªHH$³ÿœ(X):… ÿ‡(HH$)³1 § HH$³"0"«HH$(6´�(Uˆ:ƒCONVERT GRANULE # TO T,S(p’GG³G:… GG²33 § GG³GG«2(”œT³ÿ�(GG®2):S³1:… T«T´²GG § S³10(šº�(¹ì:ƒCONVERT SECTOR OFFSET TO(Ãí:ƒT,S(ÌñG³SG)öG1³ÿ�(SS®9):… G1²³G § �¦ 5000:‡ #¬2, "*** ERROR":�)… G1³0 § 5150)0 € J³1 ¥ G1:G³FT(G):‹ J)F�¦ 5000::ƒGET T,S)X(S³S«SS¬9­G1:�G³G:… GG²33 § GG³GG«2(”œT³ÿ�(GG®2):S³1:… T«T´²GG § S³10(šº�(¹ì:ƒCONVERT SECTOR OFFSET TO(Ãí:ƒT,S(ÌñG³SG)öG1³ÿ�(SS®9):… G1²³G § �¦ 5000:‡ #¬2, "*** ERRO *\\CCMULT\\ INTEGER MULTIPLY CCMULT PSHU X PSHU D LDD #0 PSHU D PSHU D LDA 5,U LDB 7,U MUL STD 2,U LDA 5,U LDB 6,U MUL ADDD 1,U STD 1,U LDB 7,U LDA 4,U MUL ADDD 1,U STD 1,U LDX 2,U LEAU 8,U RTS *\\CCDIV\\ INTEGER DIVIDE CCDIV LEAU -1,U CLR 0,U PSHU X PSHU D LDX #0 PSHU X BSR FIXNEG STD 2,U LDD 4,U BSR FIXNEG STD 4,U LDX #16 DIV1 ASL 3,U ROL 2,U ROL 1,U ROL 0,U LDD 0,U CMPD 4,U BLO DIV2 SUBD 4,U STD 0,U INC 3,U DIV2 LEAX -1,X BNE DIV1 LDD 2,U ASR 6,U BCC DIV3 BSR FIXNE1 DIV3 TFR D,X LDD 0,U LEAU 7,U RTS FIXNEG CMPD #0 BEQ CCDIVZ BGT CCDIVK FIXNE1 BSR CCNEGD INC 6,U CCDIVK RTS CCDIVZ LDX #0 LEAU 7,U LEAS 2,S RTS *\\CCMOD\\ MODULE DIVIDE RETURN REMAINDER CCMOD LBSR CCDIV EXG X,D RTS *\PRINTF\ FORMAT PRINT ROUTINE PRINTF LDD [0,S] FORMAT PRINT ROUTINE ANDB #31 DETERMINE NUMBER OF BYTES SUBB #2 LEAX B,U FORMAT STRING STACK ADR PSHU X SAVE VAR POSITIONING LDX ,X FORMAT STRING ADR PSHU X SAVE FOR ANALYSIS CLRB LDX 0,U PRINA LDA 0,X+ BEQ PRING CMPA #'% BNE PRINA LDA 0,X CMPA #'% BNE PRINAA LEAX 1,X BRA PRINA PRINAA INCB BRA PRINA PRING PSHU B PRINB LDX 1,U PICKUP NEXT FIELD LDA ,X+ CHECK IF FINIS BEQ PRINX YES CMPA #'% BNE PRINCS PRINT AS SINGLE CHAR TST 0,U BEQ PRINBD BAD FORMAT LD*COLOR COMPUTER-C COMPILER REV 1.2 NAM DGSC ORG $0F00 *#define SIZE 4094 * /* Prime number program in C */ *char prime[4095]; *int count,i,j,k,l; *main() MAIN EQU * * @ * l=0; LDX #0 STX L,PCR * while(l<10) CC3 EQU * LDX L,PCR PSHU X LDX #10 TFR X,D LDX #0 CMPD ,U++ BLE *+4 LEAX 1,X CMPX #0 LBEQ CC4 * @ * count = i = 0; LDX #0 STX I,PCR STX COUNT,PCR * while(i<=SIZE)@prime[i++]=1;$ CC5 EQU * LDX I,PCR PSHU X LDX #4094 TFR X,D LDX #0 CMPD ,U++ BLT *+4 LEAX 1,X CMPX #0 LBEQ CC6 LEAX PRIME,PCR PSHU X LDX I,PCR LEAX 1,X STX I,PCR LEAX -1,X PULU D LEAX D,X PSHU X LDX #1 TFR X,D STB [,U++] LBRA CC5 CC6 EQU * * i=0; LDX #0 STX I,PCR * while(i<=SIZE) CC7 EQU * LDX I,PCR PSHU X LDX #4094 TFR X,D LDX #0 CMPD ,U++ BLT *+4 LEAX 1,X CMPX #0 LBEQ CC8 * @ if(prime[i]!=0) LEAX PRIME,PCR PSHU X LDX I,PCR PULU D LEAX D,X LDB ,X CLRA TFR D,X PSHU X LDX #0 TFR X,D LDX #0 CMPD ,U++ BEQ *+4 LEAX 1,X CMPX #0 LBEQ CC9 * @ j=i+i+3; k = i+j; LDX I,PCR PSHU X LDX I,PCR PULU D LEAX D,X PSHU X LDX #3 PULU D LEAX D,X STX J,PCR LDX I,PCR PSHU X LDX J,PCR PULU D LEAX D,X STX K,PCR * while(k<=SIZE) CC10 EQU * LDX K,PCR PSHU X LDX #4094 TFR X,D LDX #0 CMPD ,U++ BLT *+4 LEAX 1,X CMPX #0 LBEQ CC11 * @prime[k]=0; LEAX PRIME,PCR PSHU X LDX K,PCR PULU D LEAX D,X PSHU X LDX #0 TFR X,D STB [,U++] * k=k+j; $ LDX K,PCR PSHU X LDX J,PCR PULU D LEAX D,X STX K,PCR LBRA CC10 CC11 EQU * * ++count; LDX COUNT,PCR LEAX 1,X STX COUNT,PCR * $ * ++i; CC9 EQU * LDX I,PCR LEAX 1,X STX I,PCR * $ LBRA CC7 CC8 EQU * * printf("%D%S\N",count," primes"); LEAX CC2+0,PCR PSHU X LDX COUNT,PCR PSHU X LEAX CC2+7,PCR PSHU X LBSR PRINTF LEAU 6,U * ++l; LDX L,PCR LEAX 1,X STX L,PCR * $ LBRA CC3 CC4 EQU * * $ RTS CC2 FCC '%D%S\N' FCB 0 FCC ' primes' FCB 0 PRIME RMB 4095 COUNT RMB 2 I RMB 2 J RMB 2 K RMB 2 L RMB 2 *0 ERRORS IN COMPILATION END CINT ,PCR PSHU X LBSR PRINTF LEAU 6,U * ++l; LDX L,PCR LEAX 1,X STX L,PCR * $ LBRA CC3 CC4 EQU * * $ RTS CC2 FCC '%D%S\N' FCB 0 FCC ' primes' FCB 0 PRIME RMB 4095 COUNT RMB 2 I RMB 2 J RMB 2 NAM CLIBR OPT NOG,S *OPT NOL * ***************************************************** * DUGGER'S GROWING SYSTEMS - 6809 C RUNTIME PACKAGE * * WRITTEN BY B W DUGGER 7/83 VERSION 1.2 * * ***************************************************** * * EXTERNAL EQUATES FILTYP EQU $6F FILE TYPE 0,-2=DISPLAY,PRINTER >0=FILE # IERR EQU $70 INPUT ERROR - $FF=EOF,0=OK EEOF EQU $FF FINDFL EQU $C65F CHECK IF EXIST FLFLFD EQU $0973 FIND FILE FLAG FLKILL EQU $C6CF KILL FILE ENTRY POLCAT EQU $A000 POLE KEYS PUTCAT EQU $A002 ECHO KEY EOL EQU 0 PITCH EQU $8C SOUND PITCH BUFPNT EQU $A6 COMMAND BUFFER POINTER DFILNM EQU $094C FILSPC SET FILE NAME HERE THELIN EQU $02DD COLOR INPUT TERMINAL LINE ADR DKTYPE EQU $0957 FILE TYPE+ASCII FLAG DEFDRV EQU $095A DEFAULT DRIVE JXADDR EQU $836C PUT ADDRESS ONTO STACK CHROUT EQU $A002 DISPLAY CHAR CHRIN EQU $A176 GET CHAR. FROM DEVICE LINPUT EQU $A390 LINE INPUT CLRSCN EQU $A928 CLEAR SCREEN SOUND EQU $A951 SOUND GENERATOR DCOPC EQU $C006 DEVICE CONTROL POINTER DKOPEN EQU $C468 OPEN DISK FILE FILSPC EQU $C88A GET FILE SPEC ITEMS DKCLS EQU $CA53 CLOSE DISK FILE DKCLC EQU $CA3B CLOSE ALL FILES BASPNT EQU $A6 FILSEC EQU $0973 FDCODE EQU $EA DRIVE EQU $EB FNDF EQU $C65F AFN EQU $0974 SVERF EQU $D5FF FILSPEC EQU $0973 *\\CINT\\ INITIALZATION ROUTINE CINT LDU #$6FFF SET U STACK LBSR MAIN GOTO MAIN ROUTINE LBRA ZWARMS RETURN SYSTEM *\\CCOR\\ LOGICAL OR CCOR PSHU X ORA ,U+ ORB ,U+ TFR D,X RTS *\\CCAND\\ LOGICAL AND CCAND PSHU X ANDA ,U+ ANDB ,U+ TFR D,X RTS *\\CCXOR\\ LOGICAL XOR CCXOR PSHU X EORA ,U+ EORB ,U+ TFR D,X RTS *\\CCASL\\ ARITHMETIC SHIFT LEFT CCASL EXG D,X CCASLA LSLA LSLB BCC CCASLB ORA #1 CCASLB LEAX -1,X CMPX #0 BNE CCASLA TFR D,X RTS *\\CCASR\\ ARITHMETIC SHIFT RIGHT CCASR EXG D,X CCASRA LSRB ASRA BCC CCASRB ORB #128 CCASRB LEAX -1,X CMPX #0 BNE CCASRA TFR D,X RTS *\\CCCOM\\ COMPLEMENT CCCOM TFR X,D COMA COMB TFR D,X RTS *\\CCNEG\\ NEGATE OR 2'S COMPLEMENT CCNEG BSR CCCOM LEAX 1,X RTS *\\CCNEGD\\ NEGATE D REGISTER CCNEGD COMA COMB ADDD #1 RTS *\\CCMULT\\ INTEGER MULTIPLY CCMULT PSHU X PSHU D LDD #0 PSHU D PSHU D LDA 5,U LDB 7,U MUL STD 2,U LDA 5,U LDB 6,U MUL ADDD 1,U STD 1,U LDB 7,U LDA 4,U MUL ADDD 1,U STD 1,U LDX 2,U LEAU 8,U RTS *\\CCDIV\\ INTEGER DIVIDE CCDIV LEAU -1,U CLR 0,U PSHU X PSHU D LDX #0 PSHU X BSR FIXNEG STD 2,U LDD 4,U BSR FIXNEG STD 4,U LDX #16 DIV1 ASL 3,U ROL 2,U ROL 1,U ROL 0,U LDD 0,U CMPD 4,U BLO DIV2 SUBD 4,U STD 0,U INC 3,U DIV2 LEAX -1,X BNE DIV1 LDD 2,U ASR 6,U BCC DIV3 BSR FIXNE1 DIV3 TFR D,X LDD 0,U LEAU 7,U RTS FIXNEG CMPD #0 BEQ CCDIVZ BGT CCDIVK FIXNE1 BSR CCNEGD INC 6,U CCDIVK RTS CCDIVZ LDX #0 LEAU 7,U LEAS 2,S RTS *\\CCMOD\\ MODULE DIVIDE RETURN REMAINDER CCMOD LBSR CCDIV EXG X,D RTS *\PRINTF\ FORMAT PRINT ROUTINE PRINTF LDD [0,S] FORMAT PRINT ROUTINE ANDB #31 DETERMINE NUMBER OF BYTES SUBB #2 LEAX B,U FORMAT STRING STACK ADR PSHU X SAVE VAR POSITIONING LDX ,X FORMAT STRING ADR PSHU X SAVE FOR ANALYSIS CLRB LDX 0,U PRINA LDA 0,X+ BEQ PRING CMPA #'% BNE PRINA LDA 0,X CMPA #'% BNE PRINAA LEAX 1,X BRA PRINA PRINAA INCB BRA PRINA PRING PSHU B PRINB LDX 1,U PICKUP NEXT FIELD LDA ,X+ CHECK IF FINIS BEQ PRINX YES CMPA #'% BNE PRINCS PRINT AS SINGLE CHAR TST 0,U BEQ PRINBD BAD FORMAT LDA ,X+ PICKUP NEXT FIELD CMPA #'% CHECK FOR % PRINTING BEQ PRINCS PRINT AS SINGLE CHAR STX 1,U LDX 3,U VAR ADR LEAX -2,X POSITION TO VAR STX 3,U SAVE NEW POSITION LDX ,X DEC 0,U DECR VAR COUNT CMPA #'D BEQ PRIND PRINT DECIMAL CMPA #'d BEQ PRIND CMPA #'S BEQ PRINS PRINT STRING CMPA #'s BEQ PRINS CMPA #'C BEQ PRINC PRINT SINGLE CHAR CMPA #'c BEQ PRINC CMPA #'O LBEQ PRINO CMPA #'o LBEQ PRINO CMPA #'X LBEQ PRIXN CMPA #'x LBEQ PRIXN PRINBD LDX 1,U PRINT BAD FORMAT PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OL LEAU 5,U RTS PRIND PSHU X LBSR OUTDEC LEAU 2,U BRA PRINB PRINX LEAU 5,U RTS PRINS PSHU X LBSR OT LBRA PRINB PRINC PSHU X LBSR PUTCHA LEAU 2,U BRA PRINB PRINCS CMPA #'\ BNE PRINCK LDA 0,X+ LBEQ PRINBD CMPA #'\ BEQ PRINCK CMPA #'n BEQ PRINH CMPA #'N BEQ PRINH CMPA #'t TOP OF FORM BEQ PRINCL CMPA #'T BEQ PRINCL BRA PRINCL PRINCJ STX 1,U LBSR NL LBRA PRINB PRINCL LDA #12 PRINCK STX 1,U CMPA #10 BEQ PRINGG TFR A,B LBSR OUTBYT LBRA PRINB PRINBS LDX 1,U LEAX 1,X STX 1,U LBSR NL LBRA PRINB PRINGG LBSR NL LBRA PRINB PRINH LDA #10 LBRA PRINCK PRILX LDX 5,U LDD ,--X STX 5,U PSHU B LEAX ,U LBSR OUTHEX LEAU 1,X PULU X PRIXN PSHU X LEAX ,U LBSR OUTADR LEAU 2,U LBRA PRINB PRINO PSHU A PSHU X PSHU A LDA #6 LDB #1 PRINOA PSHU A PRINOB CLR 1,U PRINOC ASL 4,U ROL 3,U ROL 2,U ROL 1,U DECB BNE PRINOC LDB 1,U CLRA ADDB #$30 LBSR OUTBYT LDB #3 DEC ,U BNE PRINOB LEAU 5,U LBRA PRINB PRIOL LDX 5,U LDD ,--X STX 5,U PSHU D LDB #3 LDA #8 BRA PRINOA ILLFOR FCC ' *** ILLEGAL FORMAT ****' FCB 0 *\END-PRINTF\ *\END\ *\OUTBYT\ OUTPUT A BYTE *\PUTCHA *\ENDHEAD OUTBYT PSHU A CMPA #0 BNE OUTBYA LEAU 1,U LDX #0 RTS OUTBYA LDB 0,U PSHU D LBSR PUTCHA LEAU 2,U LDA 0,U+ RTS *\END-OUTBYT\ *\END\ *\OUTSTR\ OUTPUT STRING *\OUTBYT *\ENDHEAD OUTSTR PULU Y OUTSA LDA 0,Y+ LBSR OUTBYT BNE OUTSA RTS *\END-OUTSTR\ *\END\ *\NL\ SEND CR LF *\OUTBYT *\ENDHEAD NL LDA #10 LBSR OUTBYT LDA #13 LBSR OUTBYT RTS *\END-NL\ *\END\ *\OL\ OUTPUT LINE *\NL *ENDHEAD OL LBSR OT LBSR NL RTS *\END-OL\ *\END\ *\OT\ OUTPUT TEXT *\OUTSTR *\ENDHEAD OT LBSR OUTSTR RTS *\END-OT\ *\END\ *\STREQ\ COMPARE 2 STRINGS *\ENDHEAD STREQ LEAU -2,U LDX #0 STX 0,U LDX 4,U LDY 2,U LDB #0 STREQA LDA B,Y BEQ STREQC CMPA B,X BEQ STREQB LDX #0 RTS STREQB INCB BRA STREQA STREQC CLRA TFR D,X CMPB #0 LEAU 6,U RTS *\END-STREQ\ *\END\ *\OUTDEC\ *\CCDIV *\CCMOD *\OUTBYT *\ENDHEAD OUTDEC LEAU -5,U LDX #0 STX 1,U LDX #10000 STX 3,U LDD 5,U BPL OUTDEA COMA COMB ADDD #1 STD 5,U LDA #'- LBSR OUTBYT OUTDEA LDX 3,U CMPX #1 BLT OUTDEX LDD 5,U LDX 3,U LBSR CCDIV TFR X,D ADDB #'0 STB 0,U CMPB #'0 BNE OUTDEB LDX 3,U CMPX #1 BEQ OUTDEB LDX 1,U BEQ OUTDED OUTDEB LDX #1 STX 1,U LDA 0,U LBSR OUTBYT OUTDED LDD 5,U LDX 3,U LBSR CCMOD STX 5,U LDD 3,U LDX #10 LBSR CCDIV STX 3,U BRA OUTDEA OUTDEX LEAU 5,U RTS *\END-OUTDEC\ *\END\ *\OUTHEX -- OUTPUT HEX *\OUTBYT *\ENDHEAD OUTHEX LDA ,X PSHU A LSRA LSRA LSRA LSRA CMPA #10 BLT OUTHX1 ADDA #$37 BRA OUTHX2 OUTHX1 ADDA #$30 OUTHX2 LBSR OUTBYT PULU A ANDA #$0F CMPA #10 BLT OUTHX3 ADDA #$37 BRA OUTHX4 OUTHX3 ADDA #$30 OUTHX4 LBSR OUTBYT RTS *\END-OUTHEX\ *\END\ *\OUTADR\ OUT 2 HEX BYTES *\OUTHEX\ *\ENDHEAD\ OUTADR PSHU X LBSR OUTHEX PULU X LEAX 1,X LBSR OUTHEX RTS *\END\ *\SCANF\ FORMAT INPUT *\OL *\OT *\ENDHEAD SCANF LDD [0,S] ANDB #31 SUBB #2 LEAX B,U PSHU X LDX ,X PSHU X CLRB LDX 0,U SCANA LDA 0,X+ BEQ SCANG CMPA #'% BNE SCANA LDA 0,X CMPA #'% BNE SCANAA LEAX 1,X BRA SCANA SCA#ASM LIBS INCLIB.TXT #ENDASM CMPRE BRA FCMPRX FCMPRG LEAY -1,Y BRA FCMPRC * * FPOINT STORE (FPSTR) * CALLING: FPSTR(X,Y) * WHERE: Y IS STORE IN X * X=Y * FPSTR LDX 0,U LDY 2,U LDD 0,X STD 0,Y LDD 2,X STD 2,Y LDA 4,X STA 4,Y RTS #endasm MPAÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#DEFINE SIZE 4094 /* PRIME NUMBER PROGRAM IN C */ CHAR PRIME[4095]; INT COUNT,I,J,K,L; MAIN() @ L=0; WHILE(L<10) @ COUNT = I = 0; WHILE(I<=SIZE)@PRIME[I++]=1;$ I=0; WHILE(I<=SIZE) @ IF(PRIME[I]!=0) @ J=I+I+3; K = I+J; WHILE(K<=SIZE) @PRIME[K]=0; K=K+J; $ ++COUNT; $ ++I; $ PRINTF("%D%S\N",COUNT," PRIMES"); ++L; $ $ @ IF(PRIME[I]!=0) ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{0� j63B0� †6û3B0� Š60� ¦6D3D0� |6ß3B0� �60� ž6(3D0� 60� m6Ž6¨3F¯� c0� y60� U6Ž6Ž3F¯� Kޝ{{� F®� >6"3Bç� /6ŽçŽ£Á'0Œ'n®� 6ŽŽ£Á,0Œ'æ�ôO6®�í6À3Dæ�ÞO6Ž Ž£Á&0{öŒ'ޝ�À®�¼6Ž70‹¯�¯ÿf®�¦6 3B®�™63B9ÎoÿþË®6ªÀêÀ96¤ÀäÀ96¨ÀèÀ9HX$Š0Œ&ó9TG$Ê€0Œ{q&ó9CS9�÷09CSÃ966Ì66¦EæG=íB¦EæF=ãAíAæG¦D=ãAíA®B3H93_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$�{ììÄ3G9ƒ'.�…lF9Ž3G2b9ÿ¦9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®A¦€'f�%&vmÄ'B¦€�%'l¯A®C0¯C®„jÄ�D'?�d';�S'C�s'?{g�C'C�c'?�O'®�o'¨�X'–�x'�®A60�Ë6 3E9653B ”3E96ÿ‰6×3B €�\&&¦€'ÿÆ�\'�n'8�N'4�t'�T' ¯A½ÿX† ¯{âA� '‰‹ÿH®A0¯A¡ÿ<›ÿ6† ÿÛ®E샯E60Ä"3760Ä>3Bÿ666†Æ6oAhDiCiBiAZ&õæAOË03ÆjÄ&å3Eþè®E샯E6Ɔ Ð{] *** ILLEGAL FORMAT ****6�&3AŽ9æÄ63B¦À97 ¦ ÿá&ù9† ÿÙ† ÿÔ9ÿï9ÿá93^ޝĮD®BƦ¥' ¡…'Ž9\ ñOÁ3F93[Ž{دAŽ'¯CìE* CSÃíE†-ÿ‡®CŒ-;ìE®Cý´Ë0çÄÁ0& ®CŒ'®A' ޝA¦ÄÿZìE®Cýå¯EìCŽ ý„¯C ¾3E9¦„6DDDD� -‹7 ‹0ÿ-7„� -‹{S7 ‹0ÿ96ÿÔ70ÿÍ9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®A¦€'d�%&PmÄ'L¦€¯A®C0¯C®„jÄ6�D'•�d'��S'N�s'J�H'7�h'3�C'{Îd�c'`�O'ã�o'Ý�X'¿�x'¹®C6þ¹0�þg6þ°3E960Ä6�I7çÑÿ„¯�'®Ä§€¯Ä¢�'� &ñ®Äo€3Bÿc‡ Ú‰�' � 'õ7§„ÿLp {Ié�ÿBÌ6h�'D _Æ6� '+�''�-&†ÿ§ÄH� '�'6®BÌ ü7€00†¯A áOæÀ®Áûí¯Ñ9 °3\0Ä63Q�&‰®DìBí„3FþÕ3\0Ä63Q{Ä�1®DìBí„3Fþ½0Ä4ä�&ÖÚ�' � '®ä§€¯ä ío„2b9®OÌí„í0Ħ€'(€0�/O6Æ4 ®Èþi#i"i!i¤Z&ó¦#«À§#5 Ô3È9�þW®OÌ{?í„í0Ħ€'/€0� /�/€ €6Æ4 ®È~i#i"i!i¤Z&ó¦#«À§#5 Í3È9gìÄÁ`/À ÁA-ÁZ.Ž9Ž9ìÄÁA-ÁZ.Ž9Ž9ìÄÁa-Áz.Ž9Ž{º9ìÄÁ0-Á9.Ž9Ž9ìÄÁ ' Á 'Á 'Ž9Ž9ìÄ�ÂŒ'À 9ìÄ�´Œ'Ë 9®B¦„„_�W&®D݆çŒ&Ž9®Ä®Ä9®DÁ†ËŒ&{5Ž9®Äó®Ä9ìÄ÷o}9™®ÄŽݦ §€&ú94@5@'÷‰O94@­Ÿ '5@®Ä'4B­Ÿ 5B‰95@Ž9ìĘÔ9ìĘî9ìB˜� 'øŽ9å'Žÿ{°ÿ9‰O9+z§9…� &O9‘�}e‡×oú90�„z  ~ÀÆ Ž L† §€Z&ûŽ LƦ '�/' �.'§€Z&ïÆŽ T¦ '§€Z&÷9Á'û†T· T†X· U{+†T· V9†IÿŸ9Ìÿý W†Oÿ‘9�' � 'l�éT& ¦¦Ÿ¦9�¦€�&ø9o�&4ïÌd—Œ½©Q59�79o�;4�à5‚4Æþ×o5 é4æ�ÿ3×o5 4æ�ÿ*×o5{¦ n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'9{!0�"6ú�ÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXIST - KILL FILE(Y/N)? ERROR \NSTRIP SEQUENCE NUMBER OFF TRS SOURCE\NINPUT"œ FILE =%S\NOUTPUT FILE =%SRWÿ/94@½Ê;5@94@½Äh5@94@½ƒl5@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'9{!0�"6ú�ÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXIST - KILL FILE(Y/N)? ERROR \NSTRIP SEQUENCE NUMBER OFF TRS SOURCE\NINPUTÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ+–<Ðè_ÿ7ˆ_ÿ—«Ü‚'ؽ‡‚ƒ Ï)׫ÖÜ‚“aƒÝ‚–§š¨'?Ü‚ƒÝ‚ 6׫ 2¦„�+&0¦„�+&0†—« †—«Ü‚'½‡‚ƒ–¬' ¦„�]'½ –«…& Ü‚'½‡‚ƒ–«�ÿ&–ª�ÿ&†—« Ü‚‘‚&†—« † —«–«…'� &«�'B–¾½6v½5HÌ8e_‹ÝžŽ%|ÓÝÃÝžŽ%jÓÝ ÃÝžŽ%XÓÝ"ÃÝÓ Ýž Ÿ$ž Ÿ&ÞžŸ*žŸ,žŸ.žŸð½½A½†½$a½ƒ½ú½b½7ð½$¬½-~7  ä&QŽÛ†½!¿' †½5½´½!÷ åŽà†½!¿'† çŽä½!˜'½è àŽé½!˜'½û ÓŽò½!˜'½q ƽÁ Á9"charint#asm#include#define3\Ü0&3D9žÚ½ºž¯Ä®Äœ0,î½(䎯BìB'î“íB®ÄÜ0‹¦„®Ä0¯Ä�'½ >®B'ž0¬Ä,Ù†'½ >½ ‹ Á†'½ >½ ‹Ž[½!" ± FCB 03^žì&3B9žŸôžôœ*,ó¦ �'+½¹½(òžôì íĦ �&¦ �'ìÄãÄíÄ®Ä&޽"½ ‹žô0ŸôÿÀžà' žòŒ'ŽÕ½ ¹½ ‹½$[žâ½"Ží½ |½ ‹9MISSING CLOSING BRACKET ERRORS IN COMPILATION3\½ÿ%ؽ ‹½ ‹½ ‹Ž˜½ ½ ‹ŽÔ½ ½ ‹½ ‹Žõ½ Ž4½4HžŸî½9½Ò�Y&  Ž4½4HžŸì½9½Ò�Y&žŸìŽ!½ Ž4½4H½9½Ò�&ž¯Ä 0Ľ##¯B'ۮğؽ³ŸÚ½ÿ3D9** COLOR COMPUTER C COMPILER ** BY B W DUGGER 02/82 (C)1982 DUGGER'S GROWING SYSTEMSINCLUDE C-TEXT ON OUTPUT? DEFINE GLOBALS? STARTING LABEL NUMBER? † 6½ b9½ÿžŸèŽ˽ Ž4½4H½9½Ò�&9Žņø½!¿' ø9Ž4†W½4 Ÿè&Žݽ ¹ ¿½ÿ9žŸæžæ&3½ÿžä&,Žê½ Ž4½4H½9½Ò& ä Ž4†R½4 Ÿæ&Žݽ ɽÿ9PRINTOUTPUT FILENAME? OPEN FAILUREINPUT FILENAME? ½!÷žÔ0‰4†I½4 Ÿê&޽ ¹½ÿ9INCLUDE OPEN FAILURE žè'½4?963S½š'3N9ž¯KŽ£½!˜'† †§I0Ľr&½·0Ľ<'0ĽŽ¥½!˜'½Y¯K'†§I †§I0Ä6¦K6¦È6®O½—ާ½!˜&ÿ™3N9*[,6ž63S½š' ÜÜ£M½) 3È9Ž£½!˜'† †§I0Ľr&½·0Ľj'0ĽŽ¥½!˜'&½Y¯K'†§I¦O�&,ìKãKíK#†§IޝK¦O�& ¦I�'ž¯K ޝKÜÜ£KÝÜìMãKíM0Ä6¦K6¦È6žÜ½Ž§½!˜'ÿ`ÿX3^Ž—½!˜'3Bž90Ľ##& Ž™½ ¹ž¯Ä®ÄŒ, Ž«½ ¹ìÄCSíÄŽ—½®Ä3B9]MUST BE CONSTANT NEGATIVE SIZE ILLEGAL3U0B½r& ŽÒ½ ¹½ÿ3K90B½<¯Ä''®Ä¦ �'0B½ *®Ä® Œ&0B½ ®Ä†§ 0B6†6†6޽—Žé½!˜&Žë½ ¹0B½¹½ ¦½ ‹žŸÞŽþ½!˜&>0B½r' ÜÞÃÝÞ Ž½ ¹½o½!÷Ì4ÓÔ6Žþ½!1&ާ½!˜&޽ ¹½š'ºžŸ,žŸÜžÞ'0ŽÛ†½!¿' ޽,½´ çŽà†½!¿' ޽,½´ ÒŽ ½ ¹½½Œ'ž½) ½(žŸÜžŸ,3K9ILLEGAL FUNC OR DECLAR(MISSING OPEN PAREN)ILLEGAL ARG NAMEEXPECTED COMMAWRONG #ARGS63TžÞ'yŽ£½!˜'Ž¯Ä Ž¯Ä0C½r&ް½ ¹0C½j'0C½Ž¥½!˜'½�]'½š'ôޝĽ7ßìB6ìO6ÜÞƒ½ÜÞƒÝÞ½š&ާ½!˜&޽ ¹ÿƒ3N9ILLEGAL NAME½Ò&žä'9ŽÛ†½!¿' †½©½´9Žà†½!¿'† 뎂½!˜'½Õ9Ž„†½!{ޝ�±®�­6Ž Ž£Á/0Œ'Gޝ�ˆ¯�‚®�€6ŽþŽ£Á-0Œ'"0� c6®�^0¯�X070‹6ŽçÑÿÂŽ¯�?®�;6Ž{{þŽ£Á-0Œ'·0� 6®�70‹æ„O6ŽŽ£Á'0Œ'®�ô6®�î70‹6Ž70‹¯�ß®�Ù6®�Õ70‹¯�Ï®�Ë6ŽþŽ{ö£Á-0Œ',0� ª6®�©70‹6ŽçÑ®�˜6®��70‹¯�Šÿ¸®�}0¯�w®�u0¯�oÿ-0� X6®�`60� S6ð3F®�W0¯�Qþ�9Îoÿþ�{qô6ªÀêÀ96¤ÀäÀ96¨ÀèÀ9HX$Š0Œ&ó9TG$Ê€0Œ&ó9CS9�÷09CSÃ966Ì66¦EæG=íB¦EæF=ãAíAæG¦D=ãAíA®B3{ìH93_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$�ìÄ3G9ƒ'.�…lF9Ž3G2b9ÿ¦9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�{g%&0 î\ ë6®A¦€'f�%&vmÄ'B¦€�%'l¯A®C0¯C®„jÄ�D'?�d';�S'C�s'?�C'C�c'?�O'®�o'¨�X'–�x'�®A60�Ë6 3E9653B ”3E9{â6ÿ‰63B €�\&&¦€'ÿÆ�\'�n'8�N'4�t'�T' ¯A½ÿX† ¯A� '‰‹ÿH®A0¯A¡ÿ<›ÿ6† ÿÛ®E샯E60Ä"3760Ä>3B{]ÿ666†Æ6oAhDiCiBiAZ&õæAOË03ÆjÄ&å3Eþè®E샯E6Ɔ Ð *** ILLEGAL FORMAT ****6�&3AŽ9æÄ6A3B¦À97 ¦ ÿá&ù9† {ØÿÙ† ÿÔ9ÿï9ÿá93^ޝĮD®BƦ¥' ¡…'Ž9\ ñOÁ3F93[ޝAŽ'¯CìE* CSÃíE†-ÿ‡®CŒ-;ìE®Cý´Ë0çÄÁ0& ®CŒ'®A' ޝ{SA¦ÄÿZìE®Cýå¯EìCŽ ý„¯C ¾3E9¦„6DDDD� -‹7 ‹0ÿ-7„� -‹7 ‹0ÿ96ÿÔ70ÿÍ9ìôÄÀ0Å6®„6_®Ä¦€'�%&ø¦„�%&0 î\ ë6®{ÎA¦€'d�%&PmÄ'L¦€¯A®C0¯C®„jÄ6�D'•�d'��S'N�s'J�H'7�h'3�C'd�c'`�O'ã�o'Ý�X'¿�x'¹®C6þ¹0�þg6þ°3E960Ä6�I7çÑÿ„{Iõ�'®Ä§€¯Äè�'� &ñ®Äo€3BÿcÍ ÚÏ�' � 'õ7§„ÿL¶ é�ÿBÌ6®�'D ¥Æ6� '+�''�-&†ÿ§ÄŽ� '�'6®BÌ ü{Ä7€00†¯A áOæÀ®Áûí¯Ñ9\ °3\0Ä63Q�&‰®DìBí„3FþÕ3\0Ä63Q�1®DìBí„3Fþ½0Ä4*�& �' � '®ä§€¯ä ío„2b9®OÌí„í{?0Ħ€'(€0�/O6Æ4 ®Èþi#i"i!i¤Z&ó¦#«À§#5 Ô3È9�þW®OÌí„í0Ħ€'/€0� /�/€ €6Æ4 ®È~i#i"i!i¤Z&ó¦#«À§#5 Í3È9{º­ìÄÁ`/À ÁA-ÁZ.Ž9Ž9ìÄÁA-ÁZ.Ž9Ž9ìÄÁa-Áz.Ž9Ž9ìÄÁ0-Á9.Ž9Ž9ìÄÁ ' Á 'Á 'Ž9Ž9ìÄ�ÂŒ'À 9ìÄ�´Œ'{5Ë 9®B¦„„_�W& ®D6 ¢3B†ÚŒ&Ž9®Ä ®Ä9®D6 ‚3B†ºŒ&Ž9®Äâ®Ä9ìÄ÷ol9®Ä6 Y3B4@½ÆÏ5@Ž9®Ä6 D3B4@½{°Æ_5@Ž} s&Ž9V®ÄŽݦ §€&ú94@Û5@'÷‰O94@­Ÿ '5@®Ä'4B­Ÿ 5B‰95@Ž9ìÄç�›9ìĘŠ}¡&9ìĘŸ9ìB˜� '©Ž9{+–'Žÿÿ9‰O9Üz§96� &O9Äа˜º×o«90�5+ »~À®Ô9®BìÄç„9¶ Z—ë®B6k'b3B–ë6®A6\'Q3B7‘ë&K4@½Æ_5@} {¦s&A®B6?3B4@½Æ_5@} s',®Ä6*3BŽ L¾ tÆ ¦€§ Z&ùÆ×ê4@½Õÿ5@Ž973BŽ ö®ÄŽ LÆ † §€Z&ûŽ L¶ Z—ë¦!�/',�:'(¦ '�:'2�/'.�.':§{!€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,!�0%€0—ë1" Ʀ¤�4,�0% €0—ë ÊŽ T ±Ž Ó†Iþî9Ìÿý W†Oþà9�' � 'l�è!& ¦¦Ÿ¦9�¦€�&ø9o�{œ&4ïÌd—Œ½©Q59�79o�;4�à5‚4Æþ×o5 é4æ�þ‚×o5 4æ�þy×o5 n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5{@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'90�"6ùŠÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXIST - KILL FILE(Y’/N)? ERROR %D%S\N PRIMESÿk5 é4æ�þ‚×o5 4æ�þy×o5 n„4@½ÈŠ5@94@­Ÿ 5@94@½¡v p5@94@½ÊS5@94@½Ê;5@94@½Äh5@94@½ƒl5{@94@ŽÝŸ¦½£�5@94@½©(5@964@½Æ_5@} s&7Ž�'9Ž97Ž�'90�"6ùŠÿ¹Žݦ„Ž„_�N&94@½ÆÏ5@Ž9FILE EXIST - KILL FILE(Y>®Ä®„½"Ž$í½!"3BŽ93Bž9®Ä®„½"½ ‹3Bž963[ÌíAíC®C'&ž¯CŽ1#½!˜'ž¯CŽ1%½!˜' ìACSËíAž¯C Ö½Ò½ê&3Gž9½Ò½ê'½§Ä®CŽ ½4“6æBÀ0OãÁíC ÝìAƒ,ìCCSËíCìC®Eí„3Gž963]ÌíAŽ#Õ½!˜&3Ež9½ì§Ä�''¦AæÄíA ïìA®Cí„3Ež9'6ŽÙ½!˜&3Bž9Ü0®Ä턽Ò�"'9�'5ž0œ$-Ž$D½ ¹ŽÙ½!˜&½ì&ó3Bž9½ì6ž0Ü0‹7§„ž00Ÿ0 À½ìž0Ü0‹†§„ž00Ÿ03Bž9STRING SPACE EXHAUSTED†*½ >9½$[Ž$t½ |½ ‹Ž$–½!"9COLOR COMPUTER-C COMPILER REV 1.2 NAM DGSC ORG $0F00Ž$³½!"9 END CINT6¦ �'6¦ �&0Ž%½!)®Ä0„½¹Ž$í½!"Ž'å½!"Ž$ò½!"3B9,PCR TFR D,XŽ%½!)®Ä0„½¹Ž$í½!"3B9 LDB LDX LDA NDA „ FANDB Ä FANDCCÊASL H ]ASLA H »ASLB X »ASR G ]ASRA G »ASRB W »BCC $ ¾BCS % ¾BEQ ' ¾BGE , ¾BGT . ¾BHI " ¾BHS $ ¾BITA … FBITB Å FBLE / ¾BLO % ¾BLS # ¾BLT - ¾BMI + ¾BNE & ¾BPL *BRA ¾BRN ! ¾BSR � ¾BVC ( ¾BVS ) ¾CLR O ]CLRA O »CLRB _ »CMPA � FCMPB Á FCMPD ƒ“CMPS ŒµCMPU ƒµCMPX Œ FCMPY Œ“COM C ]COMA C »COMB S »CWAI <ÊDAA  »DEC J ]DECA J »DECB Z »(END  ENDC £ ENDM È ENDR ÙEORA ˆ FE6Ž'½!)®Áì “Ü½"Ž'$½!)½ ‹9 LEAX ,U6¦ �'!¦ �&Ž'i½!"Ž'~½!)®Ä0„½¹Ž$í½!) Ž'x½!)®Ä0„½¹Ž$í½!)½ ‹3B9 TFR X,D STB STX STB Á&Ž'i½!"Ž'ª½!"ÜÜÃÝÜ9Ž'¶½!"ÜÜÃÝÜ9 STB [,U++] STX [,U++]Á&Ž'Ô½!"9Ž'ܽ!"9 LDX ,X LDB ,X CLRA TFR D,XŽ'ü½!"9 EXG D,XŽ(½!)9Ž'½!)9 LDX #Ž('½!"žÜ0ŸÜ9 PSHU XŽ(<½!"žÜ0ŸÜ9 PULU DŽ'i½!"Ž(W½!"Ž(_½!"9 PULU X PSHU D6Ž(x½!)®Á½¹½ ‹9 LBSR Ž(†½!"9 RTSŽ(˜½!"žÜ0ŸÜ9 JSR 0,U++6Ž(¶½!)®Ä½º½ ‹3B9 LBRA 6Ž(Û½!"Ž(Ô½!)®Á½º½ ‹9 LBEQ CMPX #0Ž(ë½!)9 FCC 'Ž(ù½!)9 R¿' ½ôŽŸò9އ†½!¿' ½ZŽŸò9Ž�†½!¿' ½§½´ŽŸò9Ž”†½!¿' ½¸½´ŽŸò9Žš†½!¿' ½н´ŽŸò9Ž£½!˜'9Žä½!˜' ½èŽŸò9½*¹½´ŽŸò9@ifwhilereturnbreakcontinue;$else#endasmŽ£½!˜&Žý ¹9MISSING SEMICOLONžà0ŸàŽ¥½!˜& žä'9½½ îžà0Ÿà93Xž,¯FžÜ¯D½³¯B½"µ½½®D½) ŸÜ®FŸ,ާ†½!¿&®B½º½ ¦½ ‹3H9½³¯Ä½(£®B½º½ ¦½ ‹½½®D½) ŸÜ®FŸ,®Ä½º½ ¦½ ‹ Ï3XÜ,íÄÜÜíB½³¯D½³¯F0Ľ2®D½º½ ¦½ ‹®F½"µ½½®D½(£®F½º½ ¦½ ‹®ÄŸ,®B½) ŸÜ½„3H9½š&½*¹ž½) ½(93^½‘¯Ä' ®½) ®Ä®½(£3B93^½‘¯Ä' ®½) ®Ä®½(£3B9žŸð½1ެ½!˜&žä& Ž4½ |½ ‹ æ½ÿžŸð96ž6½!÷®B&½(žÔ0‰46Žþ½!1&!½š&½*¹®B&½(D½(ìÄÃíÄŽ§½!˜&ÏŽþ½®B'½(g ½(‹ÜÜãĽ) ŸÜ3D9½½û' ½Ò½û'½ì ó½Ò½û& ½Ò'½ì î½!÷9½!÷Ì4ÓÔ6Ž£½!1&½Ò'ž9ž9ŽÁ½ ¹½o9ILLEGAL SYMBOL NAMEALREADY DEFINEMISSING BRACKETMUST BE 1 VALUE6ŽÕ½ ¹½$[®Á½ |½ ‹96®Ä½!˜&Žä½ ¹½$[®Ä½ |½ ‹3B9Žô½ ¹963^ž¯Äž*¬Ä'®B6®B†½!X'®Ä3D9ÌãÄíÄ ßž3D963^ž¯Äž,¬Ä'®B6®B†½!X'®Ä3D9®Ä0¯Ä à3Dž963^®F½<Ÿô&Ež*œ- Žî½ ¹3Hž9ž*¯ÄŸô®F¦„0§Ô¯F®Ä0¯Ä½û&ëžô¦E§ ¦D§ †§ ìBí ÌÓ*Ý*žô3H9GLOBAL TABLE OVERFLOW63^®F½jŸô'3Hžô9ž,œ - Ž]½ ¹3Hž9ž,¯ÄŸô®F®Ä¦€§ ¯F¯Ä½û&ížô¦E§ ¦D§ †§ ìBí ž,0Ÿ,3Hžô9LOCAL TABLE OVERFLOW63]½!÷½Ò½Í&ž3E9ž¯A½Ò½û'ìAãC½짤®A0¯A åìCãAo„Ž3E9žØ0ŸØ96Žʽ |®Ä½"3B9CC„�A-�Z/�_' �a-�z/ž9Ž9„�0-�9.Ž9ž9޽Í&½ê&ž963^ž¯Ä†½4]ìBãĦ„�' ½4]®Ä0¯Ä é3D963^ž.œ"& Žm½ ¹3D9ž¯Ä®ÄŒ,ìBãÄ섞.í¤1"®Ä0¯ÄŸ. ß3D9TOO MANY ACTIVE WHILES½‘'Ü.ƒÝ.9ž.œ& ލ½ ¹ž9Ü.ƒ9NO ACTIVE WHILES6®Ä¦ �a-�z.€ ½ >&ï3B9žÔ¦‰4„9½Ò&†9žÔ¦‰5„9½Ò&9žÔ¦‰40ŸÔ„9žŸÔŸ49½Ò&žä'†9½1½Ç ì½ì9½Ò&½1žä'ž9½ì93\žæ&½†žä'3D9žê&žæ¯Ä½ÿ®Ä½4t¯BŒ/Œ'žÔŒO,ìBžÔç‰40ŸÔ ÚžÔo‰4®BŒ,®Ä½4?žê'žŸê žŸæžÔ'�žî'žð' ½$[Ž4½ |½ ‹žŸÔ3D96žÖ§‰„žÖŒO,0ŸÖ¦À93Tžð&3L9žŸÔŸÖ½Ò'M� '½Ò� &† ½±½Ò� '� &Þ½ì ð½Ò�"&/½Ò½±½ì½Ò�"'½Ò&ŽÕ½ ¹ ½ì½± ä½ì†"½± ¡½Ò�'&,½±½ì½Ò�''�&ŽP½ ¹ ½ì½± å½ì†'½±ÿn½Ò�/&5½Û�*&.½½½Ò�*&½Û�/'½Ò&½1 ½žä'á½½ÿ2½Ò½û'uޝJ½Ò½û'®JŒ,0ãJ½Ò§¤®J0¯J½ì Û0ãJo„1½ݯJ'®JÜ0‹¦„§I®J0¯J�'þÙ½± 垯J0ãJ¦„§I®J0¯J�'þº½± å½ì½±þ¬†½±žÖŒO-Žc½ ¹žŸÔŽ4Ž„¦ §€&ú3L9MISSING APOSTROPHELINE TOO LONG3U0B½r& ½·½ÿ3K91B¦ ½Ä&ù½Ò� '� &½ì ð½ì½Ä&øž2œ&-޳½ ¹3K9MACRO TABLE FULL6ž2Ü0‹¦Ä§„ž20œ&,Ÿ2¦À963^ž¯Ä®Äœ2,N®B6ÜãB†½!X'®ÄÜ0‹¦„®Ä0¯Ä�&ð®Ä3D9®ÄÜ0‹¦„®Ä0¯Ä�&î®ÄÜ0‹¦„®Ä0¯Ä�&î ¬3Dž96�&3Až9žè'žè½4iŒ.½-Ž j½ ¹ ¦Ä½4]¦À9OUTPUT FILE ERROR6®Ä¦ ½ >&ù3B9žè& † ½ >† ½ >9† ½ >9† ½ >9† ½ >Ž ²½!)9 EQU *~7²^½$[Ž4½ |½ ‹½$[ž¯Ä®ÄœÔ,®Ä¦‰4� &½   † ½ >®Ä0¯Äÿ݆^½ >½ ‹½$[Ž!½ |®B½ |Ž!½ |½ ‹žâ0Ÿâ3D9 *****½!)½ ‹967½ |963^ž¯Ä®D®BƦ¥' ¡…'ž3F9\ ðOÁ3F966®C®AÆáÄ, ¦¥¡…&�'\ ï6¦…½û'3Fž9æÄ¦¥½û'3Fž9OæÀ3E96½!÷žÔ0‰46®B½!1Œ' ÓÔÝÔ3Bž93Bž966½!÷žÔ0‰46®C¦B½!XŒ'ÓÔÝÔ½Ò½û'½ ó3Cž93Cž9½Ò& ½1½Çžä'ñ½Ò� &½ì å½Ò� &½ì Ù963[ޝAŽ'¯CìE* CSËíE†-½ >®CŒ-;®E®C½4¾Ë0çÄÁ0& ®CŒ'®A' ž¯A¦Ä½ >®E®C½5íE®CŽ ½4¾íC ¾3G96®Äì&®„½'' ®½'„3B96®Äì„' ì&®„½$½ ®Äì½'Â3B96Žé½½*¹Žþ½®Ä½(½3B96®Ä½##'½( 8®Ä½#£'½( ,®Ä½#×' ½( žÚ½º†+½ >®Ä®„½"Ž$í½!"3BŽ93Bž9®Ä®„½"½ ‹3Bž963[ÌíAíC®C'&ž¯CŽ1#½!˜'ž¯CŽ1%½!˜' ìACSËíAž¯C Ö½Ò½ê&3Gž9½Ò½ê'½§Ä®CŽ ½4“6æBÀ0OãÁíC ÝìAƒ,ìCCSËíCìC®Eí„3Gž963]ÌíAŽ#Õ½!˜&3Ež9½ì§Ä�''¦AæÄíA ïìA®Cí„3Ež9'6ŽÙ½!˜&3Bž9Ü0®Ä턽Ò�"'9�'5ž0œ$-Ž$D½ ¹ŽÙ½!˜&½ì&ó3Bž9½ì6ž0Ü0‹7§„ž00Ÿ0 À½ìž0Ü0‹†§„ž00Ÿ03Bž9STRING SPACE EXHAUSTED†*½ >9½$[Ž$t½ |½ ‹Ž$–½!"9COLOR COMPUTER-C COMPILER REV 1.2 NAM DGSC ORG $0F00Ž$³½!"9 END CINT6¦ �'6¦ �&0Ž%½!)®Ä0„½¹Ž$í½!"Ž'å½!"Ž$ò½!"3B9,PCR TFR D,XŽ%½!)®Ä0„½¹Ž$í½!"3B9 LDB LDX LDA NDA „ FANDB Ä FANDCCÊASL H ]ASLA H »ASLB X »ASR G ]ASRA G »ASRB W »BCC $ ¾BCS % ¾BEQ ' ¾BGE , ¾BGT . ¾BHI " ¾BHS $ ¾BITA … FBITB Å FBLE / ¾BLO % ¾BLS # ¾BLT - ¾BMI + ¾BNE & ¾BPL *BRA ¾BRN ! ¾BSR � ¾BVC ( ¾BVS ) ¾CLR O ]CLRA O »CLRB _ »CMPA � FCMPB Á FCMPD ƒ“CMPS ŒµCMPU ƒµCMPX Œ FCMPY Œ“COM C ]COMA C »COMB S »CWAI <ÊDAA  »DEC J ]DECA J »DECB Z »(END  ENDC £ ENDM È ENDR ÙEORA ˆ FE6Ž'½!)®Áì “Ü½"Ž'$½!)½ ‹9 LEAX ,U6¦ �'!¦ �&Ž'i½!"Ž'~½!)®Ä0„½¹Ž$í½!) Ž'x½!)®Ä0„½¹Ž$í½!)½ ‹3B9 TFR X,D STB STX STB Á&Ž'i½!"Ž'ª½!"ÜÜÃÝÜ9Ž'¶½!"ÜÜÃÝÜ9 STB [,U++] STX [,U++]Á&Ž'Ô½!"9Ž'ܽ!"9 LDX ,X LDB ,X CLRA TFR D,XŽ'ü½!"9 EXG D,XŽ(½!)9Ž'½!)9 LDX #Ž('½!"žÜ0ŸÜ9 PSHU XŽ(<½!"žÜ0ŸÜ9 PULU DŽ'i½!"Ž(W½!"Ž(_½!"9 PULU X PSHU D6Ž(x½!)®Á½¹½ ‹9 LBSR Ž(†½!"9 RTSŽ(˜½!"žÜ0ŸÜ9 JSR 0,U++6Ž(¶½!)®Ä½º½ ‹3B9 LBRA 6Ž(Û½!"Ž(Ô½!)®Á½º½ ‹9 LBEQ CMPX #0Ž(ë½!)9 FCC 'Ž(ù½!)9 RMB Ž)½!)9 FDB 63^ìB“ÜíÄ&®B3D9Ž)3½!)®Ä½"Ž):½!"®B3D9 LEAU ,UŽ)D½!"9 TFR X,D LEAX D,XŽ)_½!"9 LEAX D,XŽ)p½!"9 PSHU X SUBD 0,U++ TFR D,XŽ)–½(g9CCMULTŽ)¤½(g9CCDIVŽ)±½(g9CCMODŽ)¾½(g9CCORŽ)ʽ(g9CCXORŽ)×½(g9CCANDŽ)ä½(g9CCASRŽ)ñ½(g9CCASLŽ)þ½(g9CCNEGŽ* ½(g9CCCOMŽ*½!"9 LEAX 1,XŽ*)½!"9 LEAX -1,X BNE BEQ BLE BLT BGE BGT BLS BLO BHS BHI 6Ž*н!)®Á½!)Ž*ª½!"žÜ0ŸÜ9 TFR X,D LDX #0 CMPD ,U++ *+4 LEAX 1,X3\0Ľ*Ê'0Ľ"˜3D963Z®F½+¯DŽ1½!˜'-®D& ½53HŽ9®Fì'½(0Ľ*Ê'0Ľ"˜®F½"�3HŽ9®D3H963Z®F½+V¯D½!÷½Ò�#'®D3H9®D'®F½"˜Ž1½!˜'½(0Ľ+V'0Ľ"˜½(/½)· á3Hž963Z®F½+�¯D½!÷½Ò�^'®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ+�'0Ľ"˜½(/½)à á3Hž963Z®F½+ä¯D½!÷½Ò�&'®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ+ä'0Ľ"˜½(/½)Ð á3Hž963Z®F½2X¯D½!÷žÔ0‰46Ž1 ½!1&3^Ž1½!1&®D3H9®D'®F½"˜Ž1 ½!˜'½(0Ľ2X'0Ľ"˜Ž*4½*p áŽ1½!˜'½(0Ľ2X'0Ľ"˜Ž*:½*pÿÁ3Hž963Z®F½,Ú¯D½!÷žÔ0‰46Ž1½!1&3^Ž1½!1&®D3H9®D'®F½"˜Ž1½!˜'½(0Ľ,Ú'0Ľ"˜½(/½)Ý ßŽ1½!˜'½(0Ľ,Ú'0Ľ"˜½(/½)êÿ¿3Hž963Z®F½-u¯D½!÷½Ò�+' �-'®D3H9®D'®F½"˜Ž1#½!˜'0½(0Ľ-u'0Ľ"˜®F®„Ÿô'žô¦ �& ¦ �&½)=½(/½)X ÈŽ1%½!˜'1½(0Ľ-u'0Ľ"˜®F®„Ÿô'žô¦ �& ¦ �&½)=½(/½)iÿ�3H963Z®F½.¯D½!÷½Ò�*' �/' �%'®D3H9®D'®F½"˜Ž£½!˜'½(0Ľ.'0Ľ"˜½(/½)� áŽ1'½!˜'½(0Ľ.'0Ľ"˜½(/½)�ÿÁŽ1)½!˜'½(0Ľ.'0Ľ"˜½(/½)ªÿ¡3Hž963\Ž1+½!˜'G®D½.¯B&½53Fž9®D®'½(®D½"˜½*®D®„¯Ä®Ä¦ �& ¦ �&½*®D½"�3Fž9Ž1.½!˜'C®D½.¯B&½53Fž9®D®'½(®D½"˜½*"®D®„¯Ä®Ä¦ �& ¦ �&½*"®D½"�3Fž9Ž1%½!˜'®D½.¯B®B'®D½"˜½)÷|Ž£½!˜'4®D½.¯B®B'®D½"˜®DÌí®D®„¯Ä' ®Äæ O®Dí®D̯„3Fž9Ž1 ½!˜'=®D½.¯B®B& Ž11½ ¹$®D®'½( ®D®„¯Ä½¹Ž$í½!"®Äì O®Dí3Fž9®D½/ù¯BŽ1+½!˜'N®B&½5ÿâ®D®'½(®D½"˜½*®D®„¯Ä®Ä¦ �& ¦ �&½*®D½"�½*"®Ä¦ �& ¦ �&½*"ÿžŽ1.½!˜'N®B&½5ÿŒ®D®'½(®D½"˜½*"®D®„¯Ä®Ä¦ �& ¦ �&½*"®D½"�½*®Ä¦ �& ¦ �&½*ÿH®B3F963\®D½1A¯B®D®„¯Ä½!÷½Ò�['�('µŽ¥½!˜'n®Ä&Ž0ó½ ¹½oŽ—½3Fž9®Ä¦ �&®D½"˜®Ä¦ �' Ž0ó½ ¹ž¯B½(½*¹Ž—½®Ä¦ �&½)=½(/½)X®DÌí„®Äì O®D힯BÿŠŽé½!˜'2®Ä&ž½®Ä¦ �' ®D½"˜ž½®Ä½ÌíB®Dí„ÿP®B3F9®Ä&ÿô®Ä¦ �&½( ®Ä½¹Ž$í½!"ÿFÿØCAN NOT SUBSCRIPT=#^&==!=<><<>><=>=+-/%++--ILLEGAL ADDRESS63QŽé½!˜'®O½*ʯĎþ½®Ä3È90D½r'¬0D½j¯M'5½'ìM®Oí„®Mì O®Oí®M¦ �&Ì®Oí®M¦ �&3Èž93Èž90D½<¯M'?®M¦ �'7ìM®Oí„Ì®Oí®M¦ �'3Èž9½( ®M½¹Ž$í½!"®Mì ®Oí3Èž90D6†6†6ž½—¯MìM®Oí„Ì®Oí3Èž90B½"Î'Ì®Oí„í3Èž9Ž2E½ ¹½(ž½"½ ‹½o3Èž9INVALID EXPRESSION63Z®F½,^¯D½!÷žÔ0‰46Ž1½!1^Ž1½!1&3^Ž1½!1&3^Ž1 ½!1&®D3H9®D'®F½"˜Ž1½!˜'F½(0Ľ,^'0Ľ"˜®F®„Ÿô'¦ �& Ž*^½*pÿҮğô'žô¦ �' Ž*^½*pÿ»Ž*F½*pÿ²Ž1 ½!˜'F½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*j½*pÿ‚®ÄŸô'¦ �& Ž*j½*p3ÿmŽ*R½*pÿdžÔ0‰46Ž1½!1'U3^Ž1½!1&K½½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*X½*pÿ0ÄŸô'žô¦ �& Ž*X½*pÿŽ*@½*pþÿžÔ0‰46Ž1½!1'U3^Ž1½!1&K½½(0Ľ,^'0Ľ"˜®F®„Ÿô'žô¦ �& Ž*d½*pþº®ÄŸô'žô¦ �& Ž*d½*pþ£Ž*L½*pþš3Hž9�W&f†Õ&Ž9³Ž9O†¾&Ž9�Ž9÷o_96oˆ7Žݦ §€&ú9 ø'½6J½6"9� 'ñŽ9Þ'Žÿÿ9� &O‰O9ìÁCS9�ùÃ966 Ì66¦EæG=íB¦EæF=ãAíAæG¦D=ãAíA®B3H9!3_oÄ66Ž6�3íBìD�-íDŽhCiBiAiÄìÄ£D%£DíÄlC0&çìBgF$6�Ž®Ä3G9ƒ' .6ÿ|lF9Ì3G2b9ÿ�96U6a6?6"6JŽ5?¿7hŽ5B¿7j¿7lŽ5E¿7nŽ6m¿5.9÷oT9Ž7Zª nö~ÀÆ Ž L† §€Z&ûŽ L~8 '�/' �.'§€Z&ïÆŽ T¦ '§€Z&÷9Á'û†T· T†X· U†T· V9Ž5E¿7j9Ž59¿7h†Iö5;ÿŽ9Ž5<¿7jÌÿý W†Oö5>ÿy9�' � '|§&|¦¦Ÿ¦9�0¦„DDDD�¦„„‹�‰@ �¦€�&ø9o�&�D4ïÌd·Œ½©Q5 :�L9o�S4�Ú5‚4Æþ÷o5 ç4ö5;÷o5 64ö5>÷o5 n„4_›5„4Æ›5…4@�í½ÈŠ�ï5@94@�á­Ÿ �â5@94@�Ô½¡v�Ö5@}p94@�ŽÊS�Ç5@94@�¹½Ê;�»5@94@�­½Äh�¯5@94@�¡½ƒl�£5@594@�“½£��•5@94@�‡½©(�‰5@964@½7ˆ5@} s&7Ž�'9Ž97Ž�'9Ž76ê ÿ¹Žݦ„„_�N&94@½7‘5@Ž9FILE EXISTS -KILL FILE(Y/N)? PCDTXT ERROR  AT ½6o½Æ_~6v½6o½ÆÏ~6vÿÜè'é½ÀŽ4½4H~5s–é666½ ½ é'é3\½ ½Ž7ݽ4H7—é¶7Ý�X'9~wÿÿ¦A�&†§M0C69Üè'ÜâTÝâ~¯¶ Z·ë¦!�/',�:'(¦ '�:'3�/'/�.'<§€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,#�0%€0·ë1" Ŧ¤�4,�0% €0·ë ÈŽ T ¯Ž Ñÿë¦!�/',�:'(¦ '�:'3�/'/�.'<§€ ì¶ T� & ÌTXý T· VŽ9¦¤�4,#�0%€0·ë1" Ŧ¤�4,�0% €0·ë ÈŽ T ¯Ž Ñ PSHS U JSR FNDF PULS U TST FILSEC BEQ RENAMD LDX 0,U PSHU X LBSR FILMNM LEAU 2,U LDX #DFILNM LDY AFN LDB #11 RENAML LDA ,X+ STA ,Y+ DECB BNE RENAML LDB #3 STB FDCODE PSHS U JSR SVERF PULS U LDX #1 RENAMX RTS RENAMB PULU A RENAMC LEAU 2NAA INCB BRA SCANA SCANG PSHU B SCANB LDX 1,U LDA ,X+ BEQ SCANX CMPA #'% BNE SCANBD TST 0,U BEQ SCANBD LDA ,X+ STX 1,U LDX 3,U LEAX -2,X STX 3,U LDX ,X DEC 0,U PSHU X CMPA #'D LBEQ INPUTD CMPA #'d LBEQ INPUTD CMPA #'S BEQ INPUTS CMPA #'s BEQ INPUTS CMPA #'H BEQ INPUTL CMPA #'h BEQ INPUTL CMPA #'C BEQ INPUTC CMPA #'c BEQ INPUTC CMPA #'O LBEQ INPOCT CMPA #'o LBEQ INPOCT CMPA #'X LBEQ INPHEX CMPA #'x LBEQ INPHEX SCANBD LDX 3,U PSHU X LBSR OT LEAX ILLFOR,PCR PSHU X LBSR OT SCANX LEAU 5,U RTS INPUTL PSHU X NEW 5-18-81 LEAX 0,U NEW 5-18-81 PSHU X NEW 5-18-81 BSR PDECP NEW 5-18-81 PULU D NEW 5-18-81 STB [,U++] NEW 5-18-81 LBRA SCANB INPUTS LBSR ZGNCHR CMPA #EOL BEQ INPUSI LDX 0,U INPUSS STA ,X+ STX 0,U LBSR ZGNCHR CMPA #EOL BEQ INPUSX CMPA #32 BNE INPUSS INPUSX LDX 0,U CLR ,X+ LEAU 2,U LBRA SCANB INPUSI LBSR ZLINEI BRA INPUTS INPUTC LBSR ZGNCHR CMPA #EOL BEQ INPUCI CMPA #32 NEW 5-18-81 BEQ INPUTC NEW 5-18-81 PULU X STA ,X LBRA SCANB INPUCI LBSR ZLINEI BRA INPUTC INPUTD BSR PDECP NEW 5-18-81 LBRA SCANB NEW 5-18-81 PDECP LDD #0 NEW 5-18-81 PSHU D INPUDY LBSR ZGNCHR CMPA #EOL BEQ INPUDI BRA INPADA INPUDA LBSR ZGNCHR INPADA LDB #1 PSHU B CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX CMPA #'- BNE INPUDB LDA #-1 STA 0,U INPUDL LBSR ZGNCHR INPUDB CMPA #32 BEQ INPUDX CMPA #EOL BEQ INPUDX PSHU A LDX 2,U LDD #10 LBSR CCMULT PULU A SUBA #'0 LEAX A,X STX 1,U BRA INPUDL INPUDX CLRA LDB 0,U+ SEX LDX 0,U++ LBSR CCMULT STX [,U++] RTS INPUDI LBSR ZLINEI BRA INPUDY INPHEX LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLHH LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPOCT LEAU -4,U LEAX ,U PSHU X LEAU -15,U BSR INPCHL LBSR INPLOO LDX 4,U LDD 2,U STD ,X LEAU 6,U LBRA SCANB INPCHL LEAX ,U PSHS X LBSR ZGNCHR CMPA #EOL BNE INPCHB LBSR ZLINEI INPCHA LBSR ZGNCHR INPCHB CMPA #EOL BEQ INPCHC CMPA #32 BEQ INPCHC LDX ,S STA ,X+ STX ,S BRA INPCHA INPCHC CLR ,X LEAS 2,S RTS INPLOO LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGP LDA ,X+ BEQ INPLGS SUBA #0 CMPA #7 BLE INPLGQ CLRA INPLGQ PSHU A LDB #3 PSHS Y LDY 16,U INPLGR ANDCC #$FE ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPLGR LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGP INPLGS LEAU 17,U RTS INPLGH BSR INPLHH LBRA SCANB INPLHH LDX 15,U LDD #0 STD ,X STD 2,X LEAX ,U INPLGI LDA ,X+ BEQ INPLGM SUBA #'0 CMPA #9 BLE INPLGK CMPA #$19 BLE INPLGJ SUBA #$20 INPLGJ SUBA #7 INPLGK PSHU A LDB #4 PSHS Y LDY 16,U INPGL ANDCC #$7E ROL 3,Y ROL 2,Y ROL 1,Y ROL ,Y DECB BNE INPGL LDA 3,Y ADDA ,U+ STA 3,Y PULS Y BRA INPLGI INPLGM LEAU 17,U RTS *\END-SCANF\ *\END\ *\EXIT\ GOTO DOS *\ENDHEAD EXIT LBRA ZWARMS *\END-EXIT\ *\END\ *\ISALPHA\ CHECK FOR ALPHABETIC *\ENDHEAD ISALPH LDD ,U CMPB #96 BLE ISALPB SUBB #32 ISALPB CMPB #'A BLT ISALPX CMPB #'Z BGT ISALPX LDX #1 RTS ISALPX LDX #0 RTS *\END-ISALPH\ *\END\ *\ISUPPE\ UPPER CASE ALPHABETIC *\ENDHEAD ISUPPE LDD ,U CMPB #'A BLT ISUPPX CMPB #'Z BGT ISUPPX LDX #1 RTS ISUPPX LDX #0 RTS *\END-ISUPPE\ *\END\ *\ISLOWE\ CHECK LOWER CASE *\ENDHEAD ISLOWE LDD ,U ISLOWZ CMPB #'a BLT ISLOWX CMPB #'z BGT ISLOWX LDX #1 RTS ISLOWX LDX #0 RTS *\END-ISLOWE\ *\END\ *\ISDIGI\ CHECK DIGIT *\ENDHEAD ISDIGI LDD ,U CMPB #'0 BLT ISDIGX CMPB #'9 BGT ISDIGX LDX #1 RTS ISDIGX LDX #0 RTS *\END-ISDIGI\ *\END\ *\ISSPAC\ SPACE,TAB,CR *\ENDHEAD ISSPAC LDD 0,U CMPB #32 BEQ ISSPAX CMPB #9 BEQ ISSPAX CMPB #13 BEQ ISSPAX LDX #0 RTS ISSPAX LDX #1 RTS *\END-ISSPAC\ *\END\ *\TOUPPE\ CONVERT UPPER CASE *\ENDHEAD TOUPPE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOUPX SUBB #32 TOUPX TFR D,X RTS *\END TOUPPE\ *\END\ *TOLOWE\ CONVERT LOWER CASE *\ENDHEAD TOLOWE LDD 0,U BSR ISLOWE CMPX #0 BEQ TOLOWX ADDB #32 TOLOWX TFR D,X RTS *\END-TOLOWE\ *\END\ FOPEN LDX 2,U LDA 0,X ANDA #$5F CMPA #'W BNE ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #1 LBSR DSKFND CMPX #0 BNE ZWOPZN LDX #0 RTS ZWOPZN LDX 0,U LBSR DIROUT LDX 0,U RTS ZOPNR LDY 4,U PSHU Y LBSR FILMNM LEAU 2,U LDA #2 LBSR DSKFND CMPX #0 BNE ROPZNZ LDX #0 RTS ROPZNZ LDX 0,U LBSR DIRIN LDX 0,U RTS FCLOSE LDD 0,U STB FILTYP LBSR CLOSE RTS DELFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FLKILL PULS U LDX #1 RTS FDFIL LDY 0,U PSHU Y LBSR FILMNM LEAU 2,U PSHS U JSR FINDFL PULS U LDX #1 TST FLFLFD BNE FDFILX LDX #0 FDFILX RTS GETS LBSR GETLIN LDX 0,U LDY #THELIN GETSZX LDA ,Y+ STA ,X+ BNE GETSZX RTS *\\GETCHAR\\ GET INPUT STDIN GETCHA PSHS U LBSR ZGETC PULS U BEQ GETCHA TFR A,B CLRA TFR D,X RTS *\= DEFAULT EXT OPNFIL PSHS U JSR DKOPEN PULS U RTS * * GET ADDRESS IN BASIC FORMAT (HEX OR DECIMAL) GETADR PSHS U JSR JXADDR PULS U RTS * * GET LINE OF INPUT GETLIN PSHS U LDX #THELIN STX BUFPNT JSR LINPUT PULS U RTS * * CLEAR SCREEN CLEARS PSHS U JSR CLRSCN PULS U RTS DSKFND PSHU A PSHS U JSR FINDFL PULS U TST FLFLFD BNE DSKAND FILE FOUND PULU A LDX #1 CMPA #2 BEQ DSKBND RTS DSKBND LDX #0 RTS DSKAND PULU A LDX #1 CMPA #1 BEQ DSKCND RTS DSKCND LEAX DELMSG,PCR PSHU X LBSR OT LBSR GETLIN LDX #THELIN LDA ,X LDX #0 ANDA #$5F CMPA #'N BNE DSKDND RTS DSKDND PSHS U JSR FLKILL KILL FILE PULS U LDX #1 RTS DELMSG FCC 'FILE EXISTS - KILL FILE(Y/N)? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB 0 * END OF LIB OT LBB GETLIN LDX #THELIN LDA ,X LDX #0 ANDA #$5F CMPA #'N BNE DSKDND RTS DSKDND PSHS U JSR FLKILL KILL FILE PULS U LDX #1 RTS DELMSG FCC 'FILE EXISTS - KILL FILE(Y/N)? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB 0 OPT LIS * END OF LIÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\NWCHAR\\CHECK FOR CHAR * NO WAIT * CALLING SEQUENCE: * C=NWCHAR(X); * WHERE X=0 OR 1 * X=1 ECHO CHARACTER * X=0 NO ECHO * USE GETCHAR TO WAIT FOR CHAR NWCHAR PSHS U JSR [POLCAT] BEQ NWCHAB PULS U LDX 0,U BEQ NWCHAA PSHS A,U JSR [PUTCAT] PULS A,U NWCHAA TFR A,B TFR D,X RTS NWCHAB PULS U LDX #0 RTS *\\PRTTOG\\ SET PRINTER ON OR OFF PRTTOG LDD 0,U STB PRTFLG,PCR RTS *\\PUTCHA\\ PUT CHAR TO STD OUT PUTCHA EQU * LDD 0,U TFR B,A LBSR ZPUTC TST PRTFLG BNE PXTCHR RTS PXTCHR LDD 0,U TFR B,A LBSR PROUT RTS PUTC LDD 2,U TFR B,A CMPA #10 BEQ PUTCA LBSR SYSOUT PUTCA LDX #1 RTS GETC LBSR SYSIN BEQ GETCB GETCA LDX #-1 RTS GETCB TFR A,B CLRA TFR D,X RTS ZLINEI LBSR GETLIN DEC BUFPNT+1 RTS ZGNCHR LBSR GNCHAR CMPA #$0D BNE ZZGNCH CLRA ZZGNCH RTS * FILE1 FDB SYSIN FCB FOR INPUT FILE INFILN FCB 1 FILE INPUT DEVICE FILE2 FDB SYSOUT FCB FOR OUTPUT FILE OUTFLN FCB 2 FILE OUTPUT DEVICE STDIN FDB ZGETC FCB FOR KEYBOARD FCB 3 INPUT DEVICE STDOUT FDB ZPUTC FCB FOR DISPLAY FCB 4 OUTPUT DEVICE PRINT FDB PROUT FCB FOR PRINTER FCB 4 * SUBROUTINE TO SET UP DEFAULT I/O * * ENTER HERE TO OPEN A FILE * B=FILE NUMBER, A='I FOR INPUT 'O FOR OUTPUT OPEN STB FILTYP SET FILE NUMBER LBSR OPNFIL RTS * ZERROR LEAX ERMSG,PCR LBSR OUTSTZ BRA ALLDON * ZWARMS EQU * ALLDON LBSR CLEARS CLEAR SCREEN JMP $C002 RETURN TO BASIC * * PEEK FUNCTION * * CALLING SEQ.- I=PEEK(MADR); * INPUT MADR= ADDRESS OF MEMORY TO EXAMINE * OUTPUT - THE CONTENT OF THE EXAMINED MEMORY * PEEK LDX [0,U] RTS * * POKE FUNCTION * * CALLING SEQ.= POKE(MADR,VAL); * INPUT: * MADR= MEMORY ADR TO FILL * VAL= VALUE TO PLACE IN MEMORY * POKE LDX 2,U LDD 0,U STB 0,X RTS * * RENAME FUNCTION * * RENAME(OLD,NEW) * INPUT: * OLD = CURRENT FILENAME SR * NEW = NEW FILENAME STR * RENAME LDA DEFDRV STA DRIVE LDX 2,U PSHU X LBSR FILMNM BEQ RENAMC LEAU 2,U LDA DRIVE PSHU A LDX 1,U PSHU X LBSR FILMNM BEQ RENAMB LEAU 2,U PULU A CMPA DRIVE BNE RENAMC PSHS U JSR FNDF PULS U TST FILSEC BNE RENAMD LDX 2,U PSHU X LBSR FILMNM LEAU 2,U PSHS U JSR FNDF PULS U TST FILSEC BEQ RENAMD LDX 0,U PSHU X LBSR FILMNM LEAU 2,U LDX #DFILNM LDY AFN LDB #11 RENAML LDA ,X+ STA ,Y+ DECB BNE RENAML LDB #3 STB FDCODE PSHS U JSR SVERF PULS U LDX #1 RENAMX RTS RENAMB PULU A RENAMC LEAU 2,U RENAMD LDX #0 BRA RENAMX * * PLACE FILE FROM STRING * INTO TRS DOS DISK FILENAME * STRING * FILMNM(STRING) * INPUT: * STRING= FILENAME STRINGADR * OUTPUT: * STATUS= 0-BAD 1-GOOD * * FILMNM LDY 0,U LDX #DFILNM LDB #11 LDA #$20 FILZZM STA ,X+ DECB BNE FILZZM LDX #DFILNM LDA DEFDRV STA DRIVE LDA 1,Y CMPA #'/ BEQ FALMNM CMPA #': BEQ FALMNM FLLMNM LDA 0,Y+ BEQ FXLMNM CMPA #': BEQ FBLMNM CMPA #'/ BEQ FBLMNM CMPA #'. BEQ FCLMNM STA 0,X+ BRA FLLMNM FXLMNM LDA DFILNM+8 CMPA #$20 BNE FGLMNM LDD #$5458 STD DFILNM+8 STA DFILNM+10 FGLMNM LDX #1 FHLMNM RTS FALMNM LDA 0,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE LEAY 2,Y BRA FLLMNM FBLMNM LDA ,Y CMPA #'4 BGE FKLMNM CMPA #'0 BLO FKLMNM SUBA #'0 STA DRIVE BRA FXLMNM FCLMNM LDX #DFILNM+8 BRA FLLMNM FKLMNM LDX #0 BRA FHLMNM * * MAIN PROCESSOR * * REDIRECT OUTPUT TO PRINTER * RE-DIRECT INPUT DIRIN TFR X,D LDA #'I LBSR OPEN RTS * RE-DIRECT OUTPUT DIROUT LDD #$03FF STD DKTYPE TFR X,D LDA #'O OPEN TEXTFILE FOR OUTPUT LBSR OPEN RTS * GNCHAR BSR GCHAR CHECK NEXT CHAR. BEQ GCHAR DON'T PASS EOL CMPA #$D BEQ GCHAR INC BUFPNT+1,PCR BUMP POINTER TO NEXT CHAR BNE GCHAR INC BUFPNT GCHAR LDA [BUFPNT] RTS * * * OUTPUT STRING TO DISPLAY OUTST1 BSR ZPUTC OUTSTZ LDA ,X+ CMPA #4 BNE OUTST1 RTS * * EXTERNALLY REFERENCED PROCEDURES * * OUTPUT CHARACTER TO DISPLAY ZPUTC CLR FILTYP CMPA #7 BELL CHAR? BNE ZPUTC1 PSHS CC,X ANDCC #$EF INSURE IRQ ENABLED! LDD #$6405 PITCH:DURATION STA PITCH JSR SOUND PULS CC,X RTS * OUTPUT CHARACTER TO DEVICE SET ZPUTC1 BSR ZPZTCH RTS ZGETC CLR FILTYP FROM KEYBOARD BSR ZGZTCH PSHS A BSR ZPUTC ECHO THE INPUT PULS A,PC * * PRINTER OUTPUT PROUT PSHS B LDB #-2 STB FILTYP PULS B BRA ZPUTC1 * * FILE INPUT SYSIN PSHS B LDB INFILN,PCR STB FILTYP PULS B BRA ZGZTCH * * FILE OUTPUT SYSOUT PSHS B LDB OUTFLN,PCR STB FILTYP PULS B BRA ZPZTCH * FMS JMP ,X * * GET FILE NAME AND DRIVE GETSPC PSHS U JSR FILSPC PULS U RTS * * OUTPUT A CHARACTER ZPZTCH PSHS U JSR [CHROUT] PULS U RTS * * GET A CHARACTER ZGZTCH PSHS U JSR CHRIN TST IERR PULS U RTS * * CLOSE FILE NUMBER SET IN FILTYP CLOSE PSHS U JSR DKCLS PULS U RTS * * CLOSE ALL OPEN FILES CLSALL PSHS U JSR DKCLC PULS U RTS * * OPEN FILE IN COMMAND LINE WITH X = DEFAULT EXT OPNFIL PSHS U JSR DKOPEN PULS U RTS * * GET ADDRESS IN BASIC FORMAT (HEX OR DECIMAL) GETADR PSHS U JSR JXADDR PULS U RTS * * GET LINE OF INPUT GETLIN PSHS U LDX #THELIN STX BUFPNT JSR LINPUT PULS U RTS * * CLEAR SCREEN CLEARS PSHS U JSR CLRSCN PULS U RTS DSKFND PSHU A PSHS U JSR FINDFL PULS U TST FLFLFD BNE DSKAND FILE FOUND PULU A LDX #1 CMPA #2 BEQ DSKBND RTS DSKBND LDX #0 RTS DSKAND PULU A LDX #1 CMPA #1 BEQ DSKCND RTS DSKCND LEAX DELMSG,PCR PSHU X LBSR OT LBSR GETLIN LDX #THELIN LDA ,X LDX #0 ANDA #$5F CMPA #'N BNE DSKDND RTS DSKDND PSHS U JSR FLKILL KILL FILE PULS U LDX #1 RTS DELMSG FCC 'FILE EXISTS - KILL FILE(Y/N)? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB 0 * END OF LIB MAIN EQU * END LDX #THELIN LDA ,X LDX #0 ANDA #$5F CMPA #'N BNE DSKDND RTS DSKDND PSHS U JSR FLKILL KILL FILE PULS U LDX #1 RTS DELMSG FCC 'FILE EXISTS - KILL FILE(Y/N)? ' FCB EOL ERMSG FCB $D,7 FCC 'ERROR ' FCB 4 PRTFLG FCB W FILENAME STR 010310* 010320RENAME LDA DEFDRV 010330 STA DRIVE 010340 LDX 2,U 010350 PSHU X 010360 LBSR FILMNM 010370 BEQ RENAMC 010380 LEAU 2,U 010390 LDA DRIVE 010400 PSHU A 010410 LDX 1,U 010420 PSHU X 010430 LBSR FILMNM 010440 BEQ RENAMB 010450 LEAU 2,U 010460 PULU A 010470 CMPA DRIVE 010480 BNE RENAMC 010490 PSHS U 010500 JSR FNDF 010510 PULS U 010520 TST FILSEC 010530 BNE RENAMD 010540 LDX 2,U 010550 PSHU X 010560 LBSR FILMNM 010570 LEAU 2,U 010580 PSHS U 010590 JSR FNDF 010600 PULS U 010610 TST FILSEC 010620 BEQ RENAMD 010630 LDX 0,U 010640 PSHU X 010650 LBSR FILMNM 010660 LEAU 2,U 010670 LDX #DFILNM 010680 LDY AFN 010690 LDB #11 010700RENAML LDA ,X+ 010710 STA ,Y+ 010720 DECB 010730 BNE RENAML 010740 LDB #3 010750 STB FDCODE 010760 PSHS U 010770 JSR SVERF 010780 PULS U 010790 LDX #1 010800RENAMX RTS 010810RENAMB PULU A 010820RENAMC LEAU 2,U 010830RENAMD LDX #0 010840 BRA RENAMX 010850* 010860* PLACE FILE FROM STRING 010870* INTO TRS DOS DISK FILENAME 010880* STRING 010890* FILMNM(STRING) 010900* INPUT: 010910* STRING= FILENAME STRINGADR 010920* OUTPUT: 010930* STATUS= 0-BAD 1-GOOD 010940* 010950* 010960FILMNM LDY 0,U 010970 LDX #DFILNM 010980 LDB #11 010990 LDA #$20 011000FILZZM STA ,X+ 011010 DECB 011020 BNE FILZZM 011030 LDX #DFILNM 011040 LDA DEFDRV 011050 STA DRIVE 011060 LDA 1,Y 011070 CMPA #'/ 011080 BEQ FALMNM 011090 CMPA #': 011100 BEQ FALMNM 011110FLLMNM LDA 0,Y+ 011120 BEQ FXLMNM 011130 CMPA #': 011140 BEQ FBLMNM 011150 CMPA #'/ 011160 BEQ FBLMNM 011170 CMPA #'. 011180 BEQ FCLMNM 011190 STA 0,X+ 011200 BRA FLLMNM 011210FXLMNM LDA DFILNM+8 011220 CMPA #$20 011230 BNE FGLMNM 011240 LDD #$5458 011250 STD DFILNM+8 011260 STA DFILNM+10 011270FGLMNM LDX #1 011280FHLMNM RTS 011290FALMNM LDA 0,Y 011300 CMPA #'4 011310 BGE FKLMNM 011320 CMPA #'0 011330 BLO FKLMNM 011340 SUBA #'0 011350 STA DRIVE 011360 LEAY 2,Y 011370 BRA FLLMNM 011380FBLMNM LDA ,Y 011390 CMPA #'4 011400 BGE FKLMNM 011410 CMPA #'0 011420 BLO FKLMNM 011430 SUBA #'0 011440 STA DRIVE 011450 BRA FXLMNM 011460FCLMNM LDX #DFILNM+8 011470 BRA FLLMNM 011480FKLMNM LDX #0 011490 BRA FHLMNM 011500* 011510* MAIN PROCESSOR 011520* 011530* REDIRECT OUTPUT TO PRINTER 011540* RE-DIRECT INPUT 011550DIRIN TFR X,D 011560 LDA #'I 011570 LBSR OPEN 011580 RTS 011590* RE-DIRECT OUTPUT 011600DIROUT LDD #$03FF 011610 STD DKTYPE 011620 TFR X,D 011630 LDA #'O OPEN TEXTFILE FOR OUTPUT 011640 LBSR OPEN 011650 RTS 011660* 011670GNCHAR BSR GCHAR CHECK NEXT CHAR. 011680 BEQ GCHAR DON'T PASS EOL 011690 CMPA #$D 011700 BEQ GCHAR 011710 INC BUFPNT+1,PCR BUMP POINTER TO NEXT CHAR 011720 BNE GCHAR 011730 INC BUFPNT 011740GCHAR LDA [BUFPNT] 011750 RTS 011760* 011770* 011780* OUTPUT STRING TO DISPLAY 011790OUTST1 BSR ZPUTC 011800OUTSTZ LDA ,X+ 011810 CMPA #4 011820 BNE OUTST1 011830 RTS 011840* 011850* EXTERNALLY REFERENCED PROCEDURES 011860* 011870* OUTPUT CHARACTER TO DISPLAY 011880ZPUTC CLR FILTYP 011890 CMPA #7 BELL CHAR? 011900 BNE ZPUTC1 011910 PSHS CC,X 011920 ANDCC #$EF INSURE IRQ ENABLED! 011930 LDD #((100)!<8)!+5 PITCH:DURATION 011940 STA PITCH 011950 JSR SOUND 011960 PULS CC,X 011970 RTS 011980* OUTPUT CHARACTER TO DEVICE SET 011990ZPUTC1 BSR ZPZTCH 012000 RTS 012010ZGETC CLR FILTYP FROM KEYBOARD 012020 BSR ZGZTCH 012030 PSHS A 012040 BSR ZPUTC ECHO THE INPUT 012050 PULS A,PC 012060* 012070* PRINTER OUTPUT 012080PROUT PSHS B 012090 LDB #-2 012100 STB FILTYP 012110 PULS B 012120 BRA ZPUTC1 012130* 012140* FILE INPUT 012150SYSIN PSHS B 012160 LDB INFILN,PCR 012170 STB FILTYP 012180 PULS B 012190 BRA ZGZTCH 012200* 012210* FILE OUTPUT 012220SYSOUT PSHS B 012230