From: Joel Matthew Rees Date: Fri, 12 Apr 2019 16:06:13 +0000 (+0900) Subject: line endings will now work for diff, etc. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6bfdb0795312adc928cdd0ee1187ba047a22a3e2;p=bif-6809%2Fbif-6809.git line endings will now work for diff, etc. --- diff --git a/cross_v/BIF.ASM b/cross_v/BIF.ASM index e247b53..aea8ae8 100644 --- a/cross_v/BIF.ASM +++ b/cross_v/BIF.ASM @@ -1 +1,319 @@ -00010 * The Kernel of BIF: A Dialect of FORTH 00015 * with a Binary Tree Dictionary 00020 * Copyright 1989 by Joel Matthew Rees 00025 * 00030 * BIF is architecturally derived from 00035 * the public domain fig-FORTH model. 00040 * 00050 * TITLE BIF kernel 16 Feb 89 00070 OPT MEX 00080 INCLUDE BIFU.INC 00090 ORG $1200 DEBIF: $3F00 00100 INCLUDE BIF.M 00110 INCLUDE BIFDP.ASM 00110 INCLUDE BIFST.ASM 00120 SETDP VDP COLD loads DP 01000 * 01001 FCC '@' name 01002 FCB 1 name length, usage (NFA) 01003 FCB MFORE type/allocation MODES 01004 FDB WARM-CFAOFF previous link in allocation 01005 FDB BIF+2 owning vocabulary 01006 FDB EQ-CFAOFF left link in tree 01007 FDB AND-CFAOFF right link in tree 01010 FETCH LDD [,U] from [tos] to stack 01011 STD ,U 01012 NEXT 01013 * 01014 FCC '!' 01015 FCB 1 01016 FCB MFORE 01017 FDB FETCH-CFAOFF 01030 FDB BIF+2 01040 FDB NUBLK-CFAOFF 01050 FDB STOCSP-CFAOFF 01060 STORE LDD 2,U from stack to [top] 01070 STD [,U] 01080 LEAU 4,U 01090 NEXT 01095 * 01100 FCC 'LIT' 01110 FCB MCOMP.OR.3 01120 FCB MFORE 01130 FDB STORE-CFAOFF 01140 FDB BIF+2 01150 FDB 0 * LIST-CFAOFF 01160 FDB 0 01170 LIT LDD ,Y++ push literal from code 01180 PSHU D 01190 NEXT 01200 * 01210 FCC 'DLIT' 01220 FCB MCOMP.OR.4 01230 FCB MFORE 01240 FDB LIT-CFAOFF 01250 FDB BIF+2 01260 FDB 0 01270 FDB 0 01280 * push double literal from code 01290 DLIT LDD ,Y++ 01300 LDX ,Y++ 01310 PSHU D,X 01320 NEXT 01330 * 01340 FCC 'EXECUTE' 01350 FCB MCOMP.OR.7 01360 FCB MFORE 01370 FDB DLIT-CFAOFF 01380 FDB BIF+2 01390 FDB 0 01400 FDB 0 01410 * EXECUTE cfa on stack 01420 EXEC LDX ,U++ 01430 BEQ *+4 01440 JMP ,X 01450 LDD #9 01460 PSHU D 01462 JMP ERROR 01464 * 01466 FCC '1BRANCH' 01468 FCB MCOMP.OR.7 01470 FCB MFORE 01472 FDB EXEC-CFAOFF 01474 FDB BIF+2 01476 FDB 0 01478 FDB 0 01480 TBR LDD ,U++ 01482 BNE BRANCH 01484 LEAY 2,Y 01486 NEXT 01488 * 01490 FCC 'BRANCH' 01500 FCB MCOMP.OR.6 01510 FCB MFORE 01520 FDB TBR-CFAOFF 01530 FDB BIF+2 01540 FDB 0 01550 FDB 0 01560 BRANCH LDD ,Y++ 01570 LEAY D,Y 01580 NEXT 01590 * 01600 FCC '0BRANCH' 01610 FCB MCOMP.OR.7 01620 FCB MFORE 01630 FDB BRANCH-CFAOFF 01640 FDB BIF+2 01650 FDB 0 01660 FDB 0 01670 ZBR LDD ,U++ 01680 BEQ BRANCH 01690 LEAY 2,Y 01700 NEXT 01710 * 01720 FCC '(LOOP)' 01730 FCB MCOMP.OR.6 01740 FCB MFORE 01750 FDB ZBR-CFAOFF 01760 FDB BIF+2 01770 FDB 0 01780 FDB 0 01790 XLOOP LDD #1 01800 ADDD ,S 01810 STD ,S 01820 SUBD 2,S 01830 BLT BRANCH 01840 XLOOPN LEAY 2,Y 01850 LEAS 4,S 01860 NEXT 01870 * 01880 FCC '(+LOOP)' 01890 FCB MCOMP.OR.7 01900 FCB MFORE 01910 FDB XLOOP-CFAOFF 01920 FDB BIF+2 01930 FDB 0 01940 FDB 0 01950 XPLOOP LDD ,U++ inc val 01960 BPL XLOOP+3 01970 ADDD ,S 01980 STD ,S 01990 SUBD 2,S 02000 BGT BRANCH 02010 BRA XLOOPN 02020 * 02030 FCC '(DO)' 02040 FCB 4 02050 FCB MFORE 02060 FDB XPLOOP-CFAOFF 02070 FDB BIF+2 02080 FDB 0 02090 FDB 0 02100 XDO PULU D,X 02110 PSHS D,X 02120 NEXT 02130 * 02140 FCC 'I' 02150 FCB 1 02160 FCB MFORE 02170 FDB XDO-CFAOFF 02180 FDB BIF+2 02190 FDB HLD-CFAOFF 02200 FDB IDDOT-CFAOFF 02210 I LDD ,S 02220 PSHU D 02222 NEXT 02224 * 02226 FCC 'J' 02228 FCB 1 02230 FCB MFORE 02232 FDB I-CFAOFF 02234 FDB BIF+2 02236 FDB IPCOM-CFAOFF 02238 FDB 0 02240 J LDD 4,S 02242 PSHU D 02244 NEXT 02246 * 02250 FCC 'DIGIT' 02260 FCB 5 02270 FCB MFORE 02280 FDB J-CFAOFF 02290 FDB BIF+2 02300 FDB DEC-CFAOFF 02310 FDB DLITER-CFAOFF 02320 DIGIT LDB 3,U 02330 CMPB #'9 02340 BLS DIGITX+4 02350 CMPB #'A 02360 BLO DIGITN 02370 CMPB #'Z 02380 BLS DIGITX+2 02390 CMPB #'a 02400 BLO DIGITN 02410 CMPB #'z 02420 BHI DIGITN 02430 DIGITX SUBB #'a-'Z-1 02440 SUBB #'A-'9-1 02450 SUBB #'0 02460 CMPB 1,U 02470 BHS DIGITN 02480 CLRA 02490 STD 2,U 02500 LDD #-1 02510 DIGITL STD ,U 02520 NEXT 02530 DIGITN LEAU 2,U 02540 LDD #0 02550 BRA DIGITL 02560 * 02570 FCC '(FIND)' 02580 FCB 6 02590 FCB MFORE 02600 FDB DIGIT-CFAOFF 02610 FDB BIF+2 02620 FDB IABORT-CFAOFF 02630 FDB XMACH-CFAOFF 02640 * search vocabulary adr2 for (adr1) 02650 PFIND LDD ,U valid? 02660 BEQ PFINDX 02670 PFINDL DOCOL 02680 FDB PREF 02690 FDB XMACH 02700 LEAU 2,U 02710 LDX [,U] NULL link? 02720 BEQ PFINDN 02730 LDB ,X 02740 ANDB #MHID smudged? 02750 BEQ PFINDY 02760 LEAX RTOFF,X deeper 02770 STX ,U 02780 BRA PFINDL 02790 PFINDY LDX #-1 02800 PFINDN LDD ,U 02810 STX ,U 02820 PFINDX STD 2,U 02830 NEXT 02990 * 03000 FCC 'ENCLOSE' 03010 FCB 7 03020 FCB MFORE 03030 FDB PFIND-CFAOFF 03040 FDB BIF+2 03050 FDB EMTBUF-CFAOFF 03060 FDB 0 03070 * adr1 c --- adr2 len 03080 ENCLOS LDX 2,U 03100 ENCLLD LDB ,X+ delimiter 03110 BEQ ENCL0 03120 CMPB 1,U 03130 BEQ ENCLLD 03133 ENCL0 LEAX -1,X 03140 STX 2,U 03150 ENCLLW LDB ,X+ scan word 03160 BEQ ENCLCA 03170 CMPB 1,U 03180 BNE ENCLLW 03190 ENCLCA TFR X,D length 03195 SUBD #1 03200 SUBD 2,U 03220 STD ,U 03230 NEXT 03240 * 03250 FCC 'LITERAL' 03260 FCB MIMM.OR.7 03270 FCB MFORE 03280 FDB ENCLOS-CFAOFF 03290 FDB BIF+2 03300 FDB LIT-CFAOFF 03310 FDB LOAD-CFAOFF 03320 * compile a literal 03330 LITER BSR LITERS 03340 LDD #LIT 03350 LITERB STD ,Y++ 03360 PULU D 03370 STD ,Y++ 03380 STY UDP,X 03390 PULS Y 03400 JMP HERERR 03405 * 03410 LITERS LDX R' 03150 FCB MCOMP|2 03160 FCB MFORE 03170 FDB LEAVE-CFAOFF 03180 FDB BIF+2 03190 FDB GT-CFAOFF 03200 FDB QDOT-CFAOFF 03210 TOR PULU D 03220 PSHS D 03230 NEXT 03240 * 03250 FCC 'R>' 03260 FCB MCOMP|2 03270 FCB MFORE 03280 FDB TOR-CFAOFF 03290 FDB BIF+2 03300 FDB R-CFAOFF 03310 FDB REPEAT-CFAOFF 03320 RFROM JMP ' 03683 FCB 1 03684 FCB MFORE 03685 FDB ZLESS-CFAOFF 03686 FDB BIF+2 03687 FDB 0 03688 FDB TOPRT-CFAOFF 03689 GT LDD 2,U 03690 CMPD ,U++ 03691 BGT TRUE 03692 BRA FALSE 03693 * 03700 FCC '+' 03710 FCB 1 03720 FCB MFORE 03730 FDB GT-CFAOFF 03740 FDB BIF+2 03750 FDB PAREN-CFAOFF 03760 FDB SLASH-CFAOFF 03770 ADD PULU D 03780 ADDTOP 03810 * 03820 FCC '-' 03830 FCB 1 03840 FCB MFORE 03850 FDB ADD-CFAOFF 03860 FDB BIF+2 03870 FDB 0 03880 FDB 0 03890 SUB LDD 2,U 03900 SUBD ,U++ 03910 STD ,U 03920 NEXT 03930 * 03940 FCC 'D+' 03950 FCB 2 03960 FCB MFORE 03970 FDB SUB-CFAOFF 03980 FDB BIF+2 03990 FDB CONST-CFAOFF 04000 FDB DABS-CFAOFF 04010 DADD LDD 6,U 04020 ADDD 2,U 04030 STD 6,U 04040 LDD 4,U 04050 ADCB 1,U 04060 ADCA ,U 04070 LEAU 4,U 04080 STD ,U 04090 NEXT 04100 * 04120 FCC 'D-' 04130 FCB 2 04140 FCB MFORE 04150 FDB DADD-CFAOFF 04160 FDB BIF+2 04170 FDB DCHS-CFAOFF 04180 FDB DDOT-CFAOFF 04190 DSUB LDD 6,U 04200 SUBD 2,U 04210 STD 6,U 04220 LDD 4,U 04230 SBCB 1,U 04240 SBCA ,U 04250 LEAU 4,U 04260 STD ,U 04270 NEXT 04280 * 04290 FCC 'MINUS' 04300 FCB 5 04310 FCB MFORE 04320 FDB DSUB-CFAOFF 04330 FDB BIF+2 04340 FDB 0 04350 FDB MOD-CFAOFF 04360 MINUS LDD #0 04370 SUBD ,U 04380 STD ,U 04390 NEXT 04400 * 04410 FCC 'DMINUS' 04420 FCB 6 04430 FCB MFORE 04440 FDB MINUS-CFAOFF 04450 FDB BIF+2 04460 FDB 0 04470 FDB 0 04480 DMINUS LDD #0 04490 SUBD 2,U 04500 STD 2,U 04510 LDD #0 04520 SBCB 1,U 04530 SBCA ,U 04570 STD ,U 04580 NEXT 04590 * 04600 FCC 'OVER' 04610 FCB 4 04620 FCB MFORE 04630 FDB DMINUS-CFAOFF 04640 FDB BIF+2 04650 FDB OR-CFAOFF 04660 FDB PFA-CFAOFF 04670 OVER LDD 2,U 04680 PSHU D 04690 NEXT 04700 * 04710 FCC 'DROP' 04720 FCB 4 04730 FCB MFORE 04740 FDB OVER-CFAOFF 04750 FDB BIF+2 04760 FDB DPL-CFAOFF 04770 FDB EMIT-CFAOFF 04780 DROP LEAU 2,U 04790 NEXT 04800 * 04810 FCC 'SWAP' 04820 FCB 4 04830 FCB MFORE 04840 FDB DROP-CFAOFF 04850 FDB BIF+2 04860 FDB ROT-CFAOFF 04870 FDB VAR-CFAOFF 04880 SWAP PULU D,X 04890 PSHU D 04900 PSHU X 04910 NEXT 04920 * 04930 FCC 'DUP' 04940 FCB 3 04940 FCB MFORE 04950 FDB SWAP-CFAOFF 04960 FDB BIF+2 04970 FDB 0 * DUMP-CFAOFF 04980 FDB ELSE-CFAOFF 04990 DUP LDD ,U 05000 PSHU D 05010 NEXT 05020 * 05030 FCC '+!' 05040 FCB 2 05050 FCB MFORE 05060 FDB DUP-CFAOFF 05070 FDB BIF+2 05080 FDB 0 05090 FDB 0 05100 ADDSTO PULU X 05110 LDD ,X 05120 ADDD ,U++ 05130 STD ,X 05140 NEXT 05150 * \ No newline at end of file +00010 * Include file for BIF +00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM) +00030 * +01000 FCC 'MOVE' +01010 FCB 4 +01020 FCB MFORE +01030 FDB PREF-CFAOFF +01040 FDB BIF+2 +01050 FDB MINUS-CFAOFF +01060 FDB NFA-CFAOFF +01070 MOVE LDD ,U++ count=0? +01080 BEQ MOVEX +01090 PSHS Y,U +01100 LDY ,U +01110 LDU 2,U +01120 MOVELP PULU X +01130 STX ,Y++ +01140 SUBD #1 +01150 BNE MOVELP +01160 PULS Y,U +01170 MOVEX LEAU 4,U +01180 NEXT +01190 * +01200 FCC 'CMOVE' +01210 FCB 5 +01220 FCB MFORE +01225 FDB MOVE-CFAOFF +01230 FDB BIF+2 +01240 FDB CFA-CFAOFF +01250 FDB COMP-CFAOFF +01260 CMOVE LDD #0 +01270 SUBD ,U++ +01280 PSHS A,Y +01290 PULU X,Y +01300 BEQ CMOVEX +01310 CMOVEL LDA ,Y+ +01320 STA ,X+ +01330 INCB +01340 BNE CMOVEL +01350 INC ,S +01360 BNE CMOVEL +01370 CMOVEX PULS A,Y +01380 NEXT +01390 * +01400 FCC 'U*' +01410 FCB 2 +01420 FCB MFORE +01430 FDB CMOVE-CFAOFF +01440 FDB BIF+2 +01450 FDB TOG-CFAOFF +01460 FDB UPDATE-CFAOFF +01470 USTAR LEAS -4,S +01480 LDA 1,U LEAST +01490 LDB 3,U +01500 MUL +01510 STD 2,S +01520 LDA ,U most +01530 LDB 2,U +01540 MUL +01550 STD ,S +01560 LDD 1,U inner +01570 MUL +01580 ADDD 1,S +01590 BCC *+4 +01600 INC ,S +01605 STD 1,S +01610 LDA ,U +01620 LDB 3,U +01630 MUL +01640 ADDD 1,S +01650 BCC *+4 +01660 INC ,S +01670 STD 1,S +01680 PULS D,X +01690 STD ,U +01700 STX 2,U +01710 NEXT +01720 * +01730 FCC 'U/' +01740 FCB 2 +01750 FCB MFORE +01760 FDB USTAR-CFAOFF +01770 FDB BIF+2 +01780 FDB 0 +01790 FDB 0 +01800 USLASH LDA #17 bit ct +01810 PSHS A +01820 LDD 2,U dividend +01830 USLDIV CMPD ,U divisor +01840 BHS USLSUB +01850 ANDCC #.NOT.1 +01860 BRA USLBIT +01870 USLSUB SUBD ,U +01880 ORCC #1 quotient, +01890 USLBIT ROL 5,U save it +01900 ROL 4,U +01910 DEC ,S more bits? +01920 BEQ USLR +01930 ROLB remainder +01940 ROLA +01950 BCC USLDIV +01960 BRA USLSUB +01970 USLR LEAS 1,S +01980 LEAU 2,U +01990 LDX 2,U +02000 STD 2,U +02010 STX ,U +02020 NEXT +02030 * +02200 FCC 'AND' +02210 FCB 3 +02220 FCB MFORE +02230 FDB USLASH-CFAOFF +02240 FDB BIF+2 +02250 FDB ABS-CFAOFF +02260 FDB BACK-CFAOFF +02270 AND PULU D +02280 ANDB 1,U +02290 ANDA ,U +02300 STD ,U +02310 NEXT +02320 * +02330 FCC 'OR' +02340 FCB 2 +02350 FCB MFORE +02360 FDB AND-CFAOFF +02370 FDB BIF+2 +02380 FDB OCT-CFAOFF +02390 FDB OUT-CFAOFF +02400 OR PULU D +02410 ORB 1,U +02420 ORA ,U +02430 STD ,U +02440 NEXT +02450 * +02460 FCC 'XOR' +02470 FCB 3 +02480 FCB MFORE +02490 FDB OR-CFAOFF +02500 FDB BIF+2 +02510 FDB 0 +02520 FDB 0 +02530 XOR PULU D +02540 EORB 1,U +02550 EORA ,U +02560 STD ,U +02570 NEXT +02580 * +02590 FCC 'SP@' +02600 FCB 3 +02610 FCB MFORE +02620 FDB XOR-CFAOFF +02630 FDB BIF+2 +02640 FDB SPSTO-CFAOFF +02660 FDB 0 +02670 SPFEH TFR U,X +02680 PSHU X +02690 NEXT +02700 * +02710 FCC 'SP!' +02720 FCB 3 +02730 FCB MFORE +02740 FDB SPFEH-CFAOFF +02750 FDB BIF+2 +02760 FDB 0 +02770 FDB 0 +02780 SPSTO LDX R' +03150 FCB MCOMP|2 +03160 FCB MFORE +03170 FDB LEAVE-CFAOFF +03180 FDB BIF+2 +03190 FDB GT-CFAOFF +03200 FDB QDOT-CFAOFF +03210 TOR PULU D +03220 PSHS D +03230 NEXT +03240 * +03250 FCC 'R>' +03260 FCB MCOMP|2 +03270 FCB MFORE +03280 FDB TOR-CFAOFF +03290 FDB BIF+2 +03300 FDB R-CFAOFF +03310 FDB REPEAT-CFAOFF +03320 RFROM JMP ' +03683 FCB 1 +03684 FCB MFORE +03685 FDB ZLESS-CFAOFF +03686 FDB BIF+2 +03687 FDB 0 +03688 FDB TOPRT-CFAOFF +03689 GT LDD 2,U +03690 CMPD ,U++ +03691 BGT TRUE +03692 BRA FALSE +03693 * +03700 FCC '+' +03710 FCB 1 +03720 FCB MFORE +03730 FDB GT-CFAOFF +03740 FDB BIF+2 +03750 FDB PAREN-CFAOFF +03760 FDB SLASH-CFAOFF +03770 ADD PULU D +03780 ADDTOP +03810 * +03820 FCC '-' +03830 FCB 1 +03840 FCB MFORE +03850 FDB ADD-CFAOFF +03860 FDB BIF+2 +03870 FDB 0 +03880 FDB 0 +03890 SUB LDD 2,U +03900 SUBD ,U++ +03910 STD ,U +03920 NEXT +03930 * +03940 FCC 'D+' +03950 FCB 2 +03960 FCB MFORE +03970 FDB SUB-CFAOFF +03980 FDB BIF+2 +03990 FDB CONST-CFAOFF +04000 FDB DABS-CFAOFF +04010 DADD LDD 6,U +04020 ADDD 2,U +04030 STD 6,U +04040 LDD 4,U +04050 ADCB 1,U +04060 ADCA ,U +04070 LEAU 4,U +04080 STD ,U +04090 NEXT +04100 * +04120 FCC 'D-' +04130 FCB 2 +04140 FCB MFORE +04150 FDB DADD-CFAOFF +04160 FDB BIF+2 +04170 FDB DCHS-CFAOFF +04180 FDB DDOT-CFAOFF +04190 DSUB LDD 6,U +04200 SUBD 2,U +04210 STD 6,U +04220 LDD 4,U +04230 SBCB 1,U +04240 SBCA ,U +04250 LEAU 4,U +04260 STD ,U +04270 NEXT +04280 * +04290 FCC 'MINUS' +04300 FCB 5 +04310 FCB MFORE +04320 FDB DSUB-CFAOFF +04330 FDB BIF+2 +04340 FDB 0 +04350 FDB MOD-CFAOFF +04360 MINUS LDD #0 +04370 SUBD ,U +04380 STD ,U +04390 NEXT +04400 * +04410 FCC 'DMINUS' +04420 FCB 6 +04430 FCB MFORE +04440 FDB MINUS-CFAOFF +04450 FDB BIF+2 +04460 FDB 0 +04470 FDB 0 +04480 DMINUS LDD #0 +04490 SUBD 2,U +04500 STD 2,U +04510 LDD #0 +04520 SBCB 1,U +04530 SBCA ,U +04570 STD ,U +04580 NEXT +04590 * +04600 FCC 'OVER' +04610 FCB 4 +04620 FCB MFORE +04630 FDB DMINUS-CFAOFF +04640 FDB BIF+2 +04650 FDB OR-CFAOFF +04660 FDB PFA-CFAOFF +04670 OVER LDD 2,U +04680 PSHU D +04690 NEXT +04700 * +04710 FCC 'DROP' +04720 FCB 4 +04730 FCB MFORE +04740 FDB OVER-CFAOFF +04750 FDB BIF+2 +04760 FDB DPL-CFAOFF +04770 FDB EMIT-CFAOFF +04780 DROP LEAU 2,U +04790 NEXT +04800 * +04810 FCC 'SWAP' +04820 FCB 4 +04830 FCB MFORE +04840 FDB DROP-CFAOFF +04850 FDB BIF+2 +04860 FDB ROT-CFAOFF +04870 FDB VAR-CFAOFF +04880 SWAP PULU D,X +04890 PSHU D +04900 PSHU X +04910 NEXT +04920 * +04930 FCC 'DUP' +04940 FCB 3 +04940 FCB MFORE +04950 FDB SWAP-CFAOFF +04960 FDB BIF+2 +04970 FDB 0 * DUMP-CFAOFF +04980 FDB ELSE-CFAOFF +04990 DUP LDD ,U +05000 PSHU D +05010 NEXT +05020 * +05030 FCC '+!' +05040 FCB 2 +05050 FCB MFORE +05060 FDB DUP-CFAOFF +05070 FDB BIF+2 +05080 FDB 0 +05090 FDB 0 +05100 ADDSTO PULU X +05110 LDD ,X +05120 ADDD ,U++ +05130 STD ,X +05140 NEXT +05150 * diff --git a/cross_v/BIF1B.ASM b/cross_v/BIF1B.ASM index 8f4fec7..7ba4407 100644 --- a/cross_v/BIF1B.ASM +++ b/cross_v/BIF1B.ASM @@ -1 +1,243 @@ -00010 * Include file for BIF 00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM) 00030 * 05160 FCC 'TOGGLE' 05170 FCB 6 05180 FCB MFORE 05190 FDB ADDSTO-CFAOFF 05200 FDB BIF+2 05210 FDB TIB-CFAOFF 05220 FDB TYPE-CFAOFF 05230 TOG PULU D,X 05240 EORB ,X 05250 STB ,X 05260 NEXT 05270 * 05280 FCC 'C@' 05290 FCB 2 05300 FCB MFORE 05310 FDB TOG-CFAOFF 05320 FDB BIF+2 05330 FDB BUFFER-CFAOFF 05340 FDB DADD-CFAOFF 05350 CFEH LDB [,U] 05360 CLRA 05370 STD ,U 05380 NEXT 05390 * 05400 FCC 'C!' 05410 FCB 2 05420 FCB MFORE 05430 FDB CFEH-CFAOFF 05440 FDB BIF+2 05450 FDB 0 05460 FDB 0 05470 CSTO LDB 3,U 05480 STB [,U] 05490 LEAU 4,U 05500 NEXT 05510 * 05520 FCC 'ROT' 05530 FCB 3 05540 FCB MFORE 05550 FDB CSTO-CFAOFF 05560 FDB BIF+2 05570 FDB RFROM-CFAOFF 05580 FDB SMUDGE-CFAOFF 05590 ROT PSHS Y 05600 PULU D,X,Y 05610 PSHU D,X 05620 PSHU Y 05630 PULS Y 05640 NEXT 05650 * 05660 FCC 'BACK' back ref 05670 FCB MCOMP.OR.4 05680 FCB MFORE 05690 FDB ROT-CFAOFF 05700 FDB BIF+2 05710 FDB BPBUF-CFAOFF 05720 FDB BEGIN-CFAOFF 05730 BACK LDX ' 07010 FCB MIMM.OR.3 07020 FCB MFORE 07030 FDB TICK-CFAOFF 07040 FDB BIF+2 07050 FDB PLOOP-CFAOFF 07060 FDB DOT-CFAOFF 07065 * --> see fig-FORTH model 07070 NEXSCR DOCOL 07080 FDB QLOAD 07090 FDB ZERO 07100 FDB IN 07110 FDB STORE 07120 FDB BPSCR 07130 FDB BLK 07140 FDB FETCH 07150 FDB OVER 07160 FDB MOD remaining in screen 07170 FDB SUB 07180 FDB BLK 07190 FDB ADDSTO to next 07200 FDB SEMIS 07290 * 07300 FCC '1ARRAY' 07310 FCB 6 07320 FCB MFORE 07330 FDB NEXSCR-CFAOFF 07340 FDB BIF+2 07350 FDB SUB1-CFAOFF 07360 FDB TBR-CFAOFF 07370 ONEARR DOCOL 07380 FDB CREATE 07390 FDB IPCOM 07400 DO1ARR 07410 FDB XMACH 07415 LDX ,U 07420 CMPX #255 0' +07010 FCB MIMM.OR.3 +07020 FCB MFORE +07030 FDB TICK-CFAOFF +07040 FDB BIF+2 +07050 FDB PLOOP-CFAOFF +07060 FDB DOT-CFAOFF +07065 * --> see fig-FORTH model +07070 NEXSCR DOCOL +07080 FDB QLOAD +07090 FDB ZERO +07100 FDB IN +07110 FDB STORE +07120 FDB BPSCR +07130 FDB BLK +07140 FDB FETCH +07150 FDB OVER +07160 FDB MOD remaining in screen +07170 FDB SUB +07180 FDB BLK +07190 FDB ADDSTO to next +07200 FDB SEMIS +07290 * +07300 FCC '1ARRAY' +07310 FCB 6 +07320 FCB MFORE +07330 FDB NEXSCR-CFAOFF +07340 FDB BIF+2 +07350 FDB SUB1-CFAOFF +07360 FDB TBR-CFAOFF +07370 ONEARR DOCOL +07380 FDB CREATE +07390 FDB IPCOM +07400 DO1ARR +07410 FDB XMACH +07415 LDX ,U +07420 CMPX #255 0