+++ /dev/null
-00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000 FCC '(NUMBER)'\r01010 FCB 8\r01020 FCB MFORE\r01030 FDB QARROW-CFAOFF\r01040 FDB BIF+2\r01050 FDB 0\r01060 FDB PREF-CFAOFF\r01070 INUMB PSHS Y see fig-FORTH model\r01080 PULU Y adr\r01085 LDX <UP\r01090 INUMBL LDB ,Y+ ch\r01092 CLRA\r01094 PSHU D\r01096 LDD UBASE,X\r01100 PSHU D\r01110 DOCOL\r01120 FDB DIGIT\r01130 FDB ZBR\r01140 FDB INUMBE-*-2\r01150 FDB SWAP accm ms word\r01160 FDB BASE\r01180 FDB FETCH\r01190 FDB USTAR shift in base\r01200 FDB DROP ls word is digit\r01210 FDB ROT accm ls word\r01220 FDB BASE\r01230 FDB FETCH\r01240 FDB USTAR shift in base\r01250 FDB DADD accumulate\r01260 FDB XMACH adjust dpl\r01270 LDX <UP\r01280 LDD UDPL,X\r01290 BMI INUMBL\r01300 ADDD #1\r01310 STD UDPL,X\r01320 BRA INUMBL\r01330 INUMBE FDB XMACH\r01340 LEAY -1,Y back up\r01350 PSHU Y adr\r01355 PULS Y\r01360 NEXT\r01390 *\r01400 FCC 'NUMBER'\r01410 FCB 6\r01420 FCB MFORE\r01430 FDB INUMB-CFAOFF\r01440 FDB BIF+2\r01450 FDB MIN-CFAOFF\r01460 FDB OVER-CFAOFF\r01470 NUMBER PULU X\r01475 LEAX 1,X skip ct\r01480 LDB ,X <0?\r01490 SUBB #'-\r01500 BNE *+4\r01510 LEAX 1,X\r01520 CLRA\r01530 PSHU D\r01540 CLRB\r01550 PSHU D double 0\r01560 PSHU D\r01570 PSHU X adr\r01580 LDD #-1 clear DPL\r01590 NUMBA LDX <UP\r01600 STD UDPL,X\r01610 DOCOL\r01620 FDB INUMB\r01630 FDB XMACH\r01640 LDX ,U end ch\r01650 LDB ,X ascii NUL?\r01660 BEQ NUMBQ\r01670 CMPB #': double?\r01680 BEQ NUMBD\r01690 CMPB #'-\r01700 BLO NUMBE\r01710 CMPB #'/\r01720 BHI NUMBE\r01730 NUMBD LEAX 1,X past dec pt\r01740 STX ,U\r01750 LDD #0 set DPL\r01760 BRA NUMBA\r01770 NUMBE LDD #0\r01780 PSHU D\r01790 JMP ERROR\r01800 NUMBQ LEAU 2,U valid, drop\r01810 DOCOL\r01830 FDB ROT <0?\r01840 FDB TBR\r01850 FDB 2\r01860 FDB DMINUS\r01870 FDB SEMIS\r01890 *\r01900 FCC 'WORDPAD'\r01910 FCB 7\r01920 FCB MFORE\r01930 FDB NUMBER-CFAOFF\r01940 FDB BIF+2\r01950 FDB 0\r01960 FDB 0\r01970 WORDPD DOUCON\r01980 FCB UWP\r01990 *\r02000 FCC 'WORD'\r02010 FCB 4\r02020 FCB MFORE\r02030 FDB WORDPD-CFAOFF\r02040 FDB BIF+2\r02050 FDB WHILE-CFAOFF\r02060 FDB BCOMP-CFAOFF\r02070 WORD PSHS Y\r02075 LDY <UP\r02080 LDD UBLK,Y terminal?\r02090 BEQ WORDK buffer\r02100 PSHU D\r02110 DOCOL\r02120 FDB BLOCK\r02130 FDB XMACH\r02140 PULU D\r02150 BRA *+4 UTIB < 16!\r02160 WORDK LDD UTIB,Y\r02170 ADDD UIN,Y parse at\r02180 PULU X ch\r02190 TFR D,Y save\r02200 PSHU X,Y (swap)\r02205 DOCOL\r02210 FDB ENCLOS\r02215 FDB XMACH\r02220 PSHS Y start at\r02221 LDD 2,U symbol at\r02222 SUBD ,S++ delimiter count\r02223 ADDD ,U length\r02225 LDX <UP\r02226 ADDD UIN,X\r02227 STD UIN,X update\r02230 PULU D length\r02240 CMPD #NLMASK\r02250 BLS *+5 clip\r02260 LDD #NLMASK\r02270 LDY UWP,X\r02280 STB ,Y+ count\r02290 CLR B,Y trailing NUL\r02300 PSHU D,Y dest & ct\r02330 PULS Y\r02340 DOCOL\r02350 FDB CMOVE copy\r02360 FDB SEMIS\r02490 *\r02500 FCC 'BS'\r02510 FCB 2\r02520 FCB MFORE\r02530 FDB WORD-CFAOFF\r02540 FDB BIF+2\r02550 FDB BRANCH-CFAOFF\r02560 FDB 0\r02570 BS DOUCON\r02580 FCB UBS\r02590 *\r02600 FCC 'EXPECT'\r02610 FCB 6\r02620 FCB MFORE\r02630 FDB BS-CFAOFF\r02640 FDB BIF+2\r02650 FDB ERROR-CFAOFF\r02660 FDB FILL-CFAOFF\r02670 EXPECT PSHS Y\r02680 LDD ,U count\r02690 LDY 2,U buffer\r02700 SUBD #1 for NUL\r02710 BLT EXPE0+2\r02720 BEQ EXPE0\r02730 LEAX D,Y\r02740 STX ,U limit\r02750 EXPEL DOCOL\r02760 FDB KEY\r02770 FDB XMACH\r02780 LDB 1,U\r02790 LDX <UP\r02800 CMPB UBS+1,X\r02810 BNE EXPECR\r02820 CMPY 4,U beginning?\r02830 BLS EXPEM0\r02840 LEAY -1,Y\r02850 BRA EXPEM\r02860 EXPEM0 CLR 1,U to emit\r02870 BRA EXPEM\r02880 EXPECR CMPB #$0D\r02890 BNE EXPEPT\r02900 STY 2,U terminate\r02910 BRA EXPEM\r02913 EXPEPT CMPB #$20 printable?\r02916 BLO EXPEM0\r02920 STB ,Y+ store ch\r02930 EXPEM DOCOL\r02940 FDB EMIT\r02950 FDB XMACH\r02960 CMPY ,U\r02970 BLO EXPEL\r02980 EXPE0 CLR ,Y NUL term\r02990 LEAU 4,U\r03000 PULS Y\r03010 NEXT\r03090 *\r03600 TWID EQU 128 width of a terminal line\r03605 FCC 'QUERY'\r03610 FCB 5\r03620 FCB MFORE\r03630 FDB EXPECT-CFAOFF\r03640 FDB BIF+2\r03650 FDB LOOP-CFAOFF\r03660 FDB SWAP-CFAOFF\r03670 QUERY LDX <UP\r03680 LDD #0\r03690 STD UIN,X\r03700 LDD #TWID\r03710 LDX UTIB,X\r03720 PSHU D,X\r03730 DOCOL\r03740 FDB EXPECT\r03750 FDB SEMIS\r03790 *\r03795 FCC ''\r03800 FCB MIMM\r03810 FCB MFORE\r03820 FDB QUERY-CFAOFF\r03830 FDB BIF+2\r03840 FDB 0\r03850 FDB 0\r03860 NUBLK LDX <UP\r03870 LDD UBLK,X\r03880 BEQ NUBLT\r03890 ADDD #1\r03900 STD UBLK,X\r03910 LDD #0\r03920 STD UIN,X\r03930 LDD BPSCR+2 2^n\r03940 DECB\r03950 ANDB UBLK+1,X end of screen?\r03960 BNE NUBLT+2\r03970 DOCOL\r03980 FDB QEXEC\r03990 FDB XMACH\r04000 NUBLT PULS Y end interp\r04010 NEXT\r04090 *\r04100 FCC 'FIND'\r04110 FCB 4\r04120 FCB MFORE\r04130 FDB NUBLK-CFAOFF\r04140 FDB BIF+2\r04150 FDB EXPECT-CFAOFF\r04160 FDB HERE-CFAOFF\r04170 FIND LDD 2,U\r04180 ADDD #1 past ct\r04190 STD 2,U\r04200 LDD ,U\r04210 FINDL LDX 2,U\r04220 PSHU D,X\r04230 DOCOL\r04240 FDB PFIND\r04250 FDB XMACH\r04260 LDD ,U flag\r04270 BNE FINDF\r04290 LDX 4,U vocabulary\r04300 LDD GFAOFF-PFAOFF,X parent\r04305 CMPD 4,U root voc?\r04310 BEQ FINDF\r04315 LEAU 4,U\r04320 STD ,U\r04330 BRA FINDL\r04360 FINDF LDD [2,U]\r04365 LEAU 4,U entry\r04370 STD 2,U\r04380 NEXT\r04390 *\r04400 FCC '-DFIND'\r04410 FCB 6\r04420 FCB MFORE\r04430 FDB FIND-CFAOFF\r04440 FDB BIF+2\r04450 FDB 0\r04460 FDB 0\r04470 DDFIND DOCOL\r04480 FDB DROOT defs first\r04490 FDB ROOT context next\r04500 DFIND1 FDB BL\r04510 FDB WORD name in buf\r04520 FDB FETCH vocab2\r04530 FDB SWAP\r04540 FDB FETCH vocab1\r04550 FDB OVER\r04560 FDB OVER\r04570 FDB EQ same?\r04580 FDB ZBR\r04590 FDB 6\r04600 FDB DROP\r04610 FDB BRANCH\r04620 FDB DFIND2-*-2\r04630 FDB WORDPD buf\r04640 FDB SWAP\r04650 FDB FIND 1st\r04660 FDB OVER\r04670 FDB ZBR\r04680 FDB 6\r04690 FDB ROT\r04700 FDB DROP\r04710 FDB SEMIS\r04720 FDB DROP\r04730 FDB DROP\r04740 DFIND2 FDB WORDPD\r04750 FDB SWAP\r04760 FDB FIND 2nd\r04770 FDB SEMIS\r04790 *\r04800 FCC '-IFIND'\r04810 FCB 6\r04820 FCB MFORE\r04830 FDB DDFIND-CFAOFF\r04840 FDB BIF+2\r04850 FDB 0\r04860 FDB 0\r04870 DIFIND DOCOL\r04880 FDB ROOT context first\r04890 FDB DROOT defs next\r04900 FDB BRANCH\r04910 FDB DFIND1-*-2\r05190 *\r
\ No newline at end of file