OSDN Git Service

preparing to change the line endings under cross_v
authorJoel Matthew Rees <joel.rees@gmail.com>
Fri, 12 Apr 2019 15:54:01 +0000 (00:54 +0900)
committerJoel Matthew Rees <joel.rees@gmail.com>
Fri, 12 Apr 2019 15:54:01 +0000 (00:54 +0900)
cross_v/BIF.M
cross_v/BIF6.ASM
cross_v/BIFDP.ASM
cross_v/BIFU.INC
cross_v/bifsource.dsk
cross_v/cs431.dsk [new file with mode: 0644]
cross_v/tools.dsk [new file with mode: 0644]

index 4fd1515..ff4b89c 100644 (file)
@@ -1 +1 @@
-00010 * EQUates and MACRO definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r01000 *\r{     bifc_vm.c:\r01010 * JMP to next icode word\r01020 NEXT    MACRO\r01030     JMP [,Y++]\r01040        ENDM\r01050 *\r}\r{        symbol.h:\r01053 * offset from name field to mode field\r01056 MFAOFF     EQU 1\r01057 * length of symbols, must be 2^n for mask\r01058 NLMASK      EQU $1F\r01060 * offset to previous allocation link\r01070 LFAOFF EQU MFAOFF+1\r01080 * offset to owning VOCABULARY (genesis) link\r01090 GFAOFF    EQU LFAOFF+2\r01100 LFTOFF       EQU GFAOFF+2    left child link\r01110 RTOFF     EQU GFAOFF+4    right child link\r01120 * offset to code field\r01130 CFAOFF      EQU GFAOFF+6\r01140 * offset to parameter field (past Direct Page jump)\r01150 PFAOFF     EQU CFAOFF+2\r01160 * All links are relative to the name field (NFA)\r01170 * Use PFAOFF (or PFA) with ;CODE!\r01320 * usage and name length share a byte (name length < 32).\r01330 * foreward blocks marked in the mode byte\r01340 * usage and mode bits\r01350 MFORE      EQU $80 part of FORWARD reference block (in mode byte -- MFA)\r01360 MCOMP       EQU $80 compile only (in length byte -- NFA)\r01370 MIMM EQU $40 precedence is IMMEDIATE execution (in length byte -- NFA)\r01380 MHID    EQU $20 SMUDGEd definition (in length byte -- NFA)\r01390 *\r}\r{  bifc_vm.c\r01400 * initiate an icode list\r01410 DOCOL    MACRO\r01420     JSR <XCOL\r01430         ENDM\r01440 *\r}\r{        symbol.c\r01450 DOVAR    MACRO\r01460     JSR <XVAR\r01470         ENDM\r01480 *\r01490 DOCON        MACRO\r01500     JSR <XCON\r01510         ENDM\r01520 *\r01530 DOUSER       MACRO\r01540     JSR <XUSER\r01550        ENDM\r01560 *\r01570 DO1ARR       MACRO\r01580     JSR <X1ARR\r01590        ENDM\r01600 *\r01610 DOUCON       MACRO\r01620     JSR <XUCON\r01630        ENDM\r01640 *\r01650 DOVOC        MACRO\r01660     JSR <XVOC\r01670         ENDM\r01680 *\r}\r{        unused\r02000 * add D to top of stack\r02010 ADDTOP       MACRO\r02020     ADDD ,U\r02030   STD ,U\r02040    JMP [,Y++]\r02050        ENDM\r02060 *\r}\r
\ No newline at end of file
+00010 * EQUates and MACRO definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r01000 *\r01010 * JMP to next icode word\r01020 NEXT     MACRO\r01030     JMP [,Y++]\r01040        ENDM\r01050 *\r01053 * offset from name field to mode field\r01056 MFAOFF  EQU 1\r01057 * length of symbols, must be 2^n for mask\r01058 NLMASK      EQU $1F\r01060 * offset to previous allocation link\r01070 LFAOFF EQU MFAOFF+1\r01080 * offset to owning VOCABULARY (genesis) link\r01090 GFAOFF    EQU LFAOFF+2\r01100 LFTOFF       EQU GFAOFF+2    left child link\r01110 RTOFF     EQU GFAOFF+4    right child link\r01120 * offset to code field\r01130 CFAOFF      EQU GFAOFF+6\r01140 * offset to parameter field (past Direct Page jump)\r01150 PFAOFF     EQU CFAOFF+2\r01160 * All links are relative to the name field (NFA)\r01170 * Use PFAOFF (or PFA) with ;CODE!\r01320 * usage and name length share a byte (name length < 32).\r01330 * foreward blocks marked in the mode byte\r01340 * usage and mode bits\r01350 MFORE      EQU $80 part of FORWARD reference block (in mode byte -- MFA)\r01360 MCOMP       EQU $80 compile only (in length byte -- NFA)\r01370 MIMM EQU $40 precedence is IMMEDIATE execution (in length byte -- NFA)\r01380 MHID    EQU $20 SMUDGEd definition (in length byte -- NFA)\r01390 *\r01400 * initiate an icode list\r01410 DOCOL   MACRO\r01420     JSR <XCOL\r01430         ENDM\r01440 *\r01450 DOVAR        MACRO\r01460     JSR <XVAR\r01470         ENDM\r01480 *\r01490 DOCON        MACRO\r01500     JSR <XCON\r01510         ENDM\r01520 *\r01530 DOUSER       MACRO\r01540     JSR <XUSER\r01550        ENDM\r01560 *\r01570 DO1ARR       MACRO\r01580     JSR <X1ARR\r01590        ENDM\r01600 *\r01610 DOUCON       MACRO\r01620     JSR <XUCON\r01630        ENDM\r01640 *\r01650 DOVOC        MACRO\r01660     JSR <XVOC\r01670         ENDM\r01680 *\r02000 * add D to top of stack\r02010 ADDTOP MACRO\r02020     ADDD ,U\r02030   STD ,U\r02040    JMP [,Y++]\r02050        ENDM\r02060 *\r
\ No newline at end of file
index e7df8e1..0756c10 100644 (file)
@@ -1 +1 @@
-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 *\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
+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         FCB 0 ; NEEDED\r03800    FCB MIMM|0\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
index 42f0f5c..bb6b8ed 100644 (file)
@@ -1 +1 @@
-00020 * Direct Page definitions for BIF\r00030 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00060 * This file is dependent on BIF/M definitions\r00100 DPAGE     EQU *\r00105 VDP EQU DPAGE/256\r00110 * ORG needs to leave space for this code\r00120      SETDP VDP\r00130 * COLD needs to load VDP into DP register\r00500 *\r00510 * Direct Page variables\r00600 UP        RMB 2\r00610     RMB 8 spares\r01000 *\r{  bifc_vm.c \r01010 * nest into icode list\r01020 * call by JSR\r01030 XCOL  LDX ,S  list ptr\r01040  STY ,S  nest old\r01050  TFR X,Y interpret\r01060         NEXT\r01070 *\r}\r{        symbol.c\r01080 * PUSH FOLLOWING WORD\r01090 * call by JSR for CONSTANT\r01100 XCON        LDD [,S++]\r01110        PSHU D\r01120    NEXT\r01130 *\r01140 * push following address\r01150 * call by JSR for VARIABLE address\r01160 XVAR PULS D\r01170    PSHU D\r01180    NEXT\r01190 * (same code as R>, but in DP)\r01200 *\r01210 * push address of USER variable\r01215 * call by JSR\r01220 XUSER LDB [,S++]      one byte offset\r01225   CLRA\r01230      ADDD <UP\r01240  PSHU D\r01250    NEXT\r01260 *\r01300 * push address of LINEAR array entry\r01305 * call by JSR\r01310 X1ARR PULS X\r01320    LDD ,U index\r01330      SUBD ,X base\r01340      CMPD 2,X width\r01350    BLO X1ARRS\r01360        LDD #$0C\r01365  PSHU D\r01370    JMP ERROR\r01380 X1ARRS  PSHS A\r01390    LDA 4,X size\r01400      MUL\r01410       STD ,U\r01420    PULS A ms byte\r01430    LDB 4,X\r01440   MUL\r01450       TFR B,A\r01460   ADDA ,U\r01470   LDB 1,U\r01480   LEAX 5,X past header\r01490      LEAX D,X\r01500  STX ,U\r01510    NEXT\r01520 * LINEAR array header format:\r01530 *        FDB BASE (lowest index)\r01540 * FDB WIDTH (# of elements)\r01550 *       FCB SIZE (< 256 bytes / element)\r01560 *        RMB SIZE*WIDTH (data)\r01700 *\r01710 * push content of USER variable\r01715 * call by JSR\r01720 XUCON     LDX <UP\r01722   LDB [,S++]      one byte offset\r01725   CLRA\r01730      LDD D,X\r01740   PSHU D\r01750    NEXT\r01800 *\r01802 * store VOCABULARY pointer in root\r01805 * call by JSR\r01810 XVOC    LDX <UP\r01820   PULS D\r01830    STD UROOT,X\r01840       NEXT\r01850 *\r01860 * indirect into icode list following\r01870 * DOES> in defining definition\r01880 * call by JSR\r01890 XDOES    LDX ,S pfa\r01900        LDD ,X++        list ptr\r01920  PSHU X  parameters\r01930        STY ,S  nest old\r01940  TFR D,Y interpret\r01950         NEXT\r01960 *\r02000 * push double constant\r02010 * call by JSR\r02020 XDCON       PULS X\r02030    LDD ,X++\r02040  LDX ,X++\r02050  PSHU D,X\r02060  NEXT\r02070 *\r}\r40000    ORG DPAGE+256 if code fits\r40010        SETDP 0 not yet valid\r
\ No newline at end of file
+00020 * Direct Page definitions for BIF\r00030 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00060 * This file is dependent on BIF/M definitions\r00100 DPAGE     EQU *\r00105 VDP EQU DPAGE/256\r00110 * ORG needs to leave space for this code\r00120      SETDP VDP\r00130 * COLD needs to load VDP into DP register\r00500 *\r00510 * Direct Page variables\r00600 UP        RMB 2\r00610     RMB 8 spares\r01000 *\r01010 * nest into icode list\r01020 * call by JSR\r01030 XCOL        LDX ,S  list ptr\r01040  STY ,S  nest old\r01050  TFR X,Y interpret\r01060         NEXT\r01070 *\r01080 * PUSH FOLLOWING WORD\r01090 * call by JSR for CONSTANT\r01100 XCON    LDD [,S++]\r01110        PSHU D\r01120    NEXT\r01130 *\r01140 * push following address\r01150 * call by JSR for VARIABLE address\r01160 XVAR PULS D\r01170    PSHU D\r01180    NEXT\r01190 * (same code as R>, but in DP)\r01200 *\r01210 * push address of USER variable\r01215 * call by JSR\r01220 XUSER LDB [,S++]      one byte offset\r01225   CLRA\r01230      ADDD <UP\r01240  PSHU D\r01250    NEXT\r01260 *\r01300 * push address of LINEAR array entry\r01305 * call by JSR\r01310 X1ARR PULS X\r01320    LDD ,U index\r01330      SUBD ,X base\r01340      CMPD 2,X width\r01350    BLO X1ARRS\r01360        LDD #$0C\r01365  PSHU D\r01370    JMP ERROR\r01380 X1ARRS  PSHS A\r01390    LDA 4,X size\r01400      MUL\r01410       STD ,U\r01420    PULS A ms byte\r01430    LDB 4,X\r01440   MUL\r01450       TFR B,A\r01460   ADDA ,U\r01470   LDB 1,U\r01480   LEAX 5,X past header\r01490      LEAX D,X\r01500  STX ,U\r01510    NEXT\r01520 * LINEAR array header format:\r01530 *        FDB BASE (lowest index)\r01540 * FDB WIDTH (# of elements)\r01550 *       FCB SIZE (< 256 bytes / element)\r01560 *        RMB SIZE*WIDTH (data)\r01700 *\r01710 * push content of USER variable\r01715 * call by JSR\r01720 XUCON     LDX <UP\r01722   LDB [,S++]      one byte offset\r01725   CLRA\r01730      LDD D,X\r01740   PSHU D\r01750    NEXT\r01800 *\r01802 * store VOCABULARY pointer in root\r01805 * call by JSR\r01810 XVOC    LDX <UP\r01820   PULS D\r01830    STD UROOT,X\r01840       NEXT\r01850 *\r01860 * indirect into icode list following\r01870 * DOES> in defining definition\r01880 * call by JSR\r01890 XDOES    LDX ,S pfa\r01900        LDD ,X++        list ptr\r01920  PSHU X  parameters\r01930        STY ,S  nest old\r01940  TFR D,Y interpret\r01950         NEXT\r01960 *\r02000 * push double constant\r02010 * call by JSR\r02020 XDCON       PULS X\r02030    LDD ,X++\r02040  LDX ,X++\r02050  PSHU D,X\r02060  NEXT\r02070 *\r40000      ORG DPAGE+256 if code fits\r40010        SETDP 0 not yet valid\r
\ No newline at end of file
index cffa318..6a97696 100644 (file)
@@ -1 +1 @@
-00010 * USER variable definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00100 * INCLUDE THIS BEFORE SETTING DPR\r00110 * ORG used here for offsets only\r{  userAllocations.h\r00120         ORG 0\r00130 US0 RMB 2   base of data stack (6809 U)\r00140 UR0   RMB 2   base of control stack (6809 S)\r00150 UTIB       RMB 2   terminal buffer\r00160   RMB 2   width is not used\r00170 UWARN   RMB 2   disk on line?\r00180 UFENCE      RMB 2   for FORGET\r00190 UDP    RMB 2   first available byte in dictionary\r00200 UROOT  RMB 2   current dictionary root pointer\r00210 UDROOT    RMB 2   defining dictionary root pointer\r00220 UCURR    RMB 2   NFA of last definition\r00230 UPAD       RMB 2   text, numeric scratch buffers\r00240 UWP RMB 2   WORD buffer pointer\r00250 UCOLUM        RMB 2   columns per lineon terminal\r00260 UFIRST        RMB 2   byte of buffers\r00270 ULIMIT    RMB 2   of buffer ram\r00280 UBASE       RMB 2   of numeric conversion\r00290 UCSP        RMB 2   stack pointer check\r00300 UHLD  RMB 2   character mark in pad\r00310 UUSE        RMB 2   Least Recently Used buffer\r00320 UPREV  RMB 2   Most Recently Used buffer\r00330 UBS     RMB 2   BackSpace\r00340 UIN     RMB 2   input buffer offset\r00350 UOUT  RMB 2   output buffer offset (cursor)\r00360 UBLK        RMB 2   active disc block\r00370 UEBLK   RMB 2   active edit block\r00380 USCR    RMB 2   active disc screen\r00390 URNUM  RMB 2   editing offset (cursor)\r00400 UOFFS     RMB 2   to active drive\r00410 USTATE    RMB 2   of compiler\r00420 UDPL  RMB 2   output Decimal Point Location\r00430 UFLD        RMB 2   output field width\r00440 UVMK   RMB 2   stack mark and function for VISIT\r00450 UFORE   RMB 2   FOREWARD reference block link\r00460 UDPR        RMB 2   Direct Page Emulator for Assembler\r}\r00990      RMB 16  8 spares \r01000 UEND    EQU * \r
\ No newline at end of file
+00010 * USER variable definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00100 * INCLUDE THIS BEFORE SETTING DPR\r00110 * ORG used here for offsets only\r00120      ORG 0\r00130 US0 RMB 2   base of data stack (6809 U)\r00140 UR0   RMB 2   base of control stack (6809 S)\r00150 UTIB       RMB 2   terminal buffer\r00160   RMB 2   width is not used\r00170 UWARN   RMB 2   disk on line?\r00180 UFENCE      RMB 2   for FORGET\r00190 UDP    RMB 2   first available byte in dictionary\r00200 UROOT  RMB 2   current dictionary root pointer\r00210 UDROOT    RMB 2   defining dictionary root pointer\r00220 UCURR    RMB 2   NFA of last definition\r00230 UPAD       RMB 2   text, numeric scratch buffers\r00240 UWP RMB 2   WORD buffer pointer\r00250 UCOLUM        RMB 2   columns per lineon terminal\r00260 UFIRST        RMB 2   byte of buffers\r00270 ULIMIT    RMB 2   of buffer ram\r00280 UBASE       RMB 2   of numeric conversion\r00290 UCSP        RMB 2   stack pointer check\r00300 UHLD  RMB 2   character mark in pad\r00310 UUSE        RMB 2   Least Recently Used buffer\r00320 UPREV  RMB 2   Most Recently Used buffer\r00330 UBS     RMB 2   BackSpace\r00340 UIN     RMB 2   input buffer offset\r00350 UOUT  RMB 2   output buffer offset (cursor)\r00360 UBLK        RMB 2   active disc block\r00370 UEBLK   RMB 2   active edit block\r00380 USCR    RMB 2   active disc screen\r00390 URNUM  RMB 2   editing offset (cursor)\r00400 UOFFS     RMB 2   to active drive\r00410 USTATE    RMB 2   of compiler\r00420 UDPL  RMB 2   output Decimal Point Location\r00430 UFLD        RMB 2   output field width\r00440 UVMK   RMB 2   stack mark and function for VISIT\r00450 UFORE   RMB 2   FOREWARD reference block link\r00460 UDPR        RMB 2   Direct Page Emulator for Assembler\r00990        RMB 16  8 spares \r01000 UEND    EQU * \r
\ No newline at end of file
index f42380d..5adcb68 100644 (file)
-00010 * The Kernel of BIF: A Dialect of FORTH\r00015 * with a Binary Tree Dictionary\r00020 * Copyright   1989 by Joel Matthew Rees\r00025 *\r00030 * BIF is architecturally derived from\r00035 * the public domain fig-FORTH model.\r00040 * \r00050 *      TITLE BIF kernel 16 Feb 89\r00070        OPT MEX\r00080   INCLUDE BIFU.INC\r00090  ORG $1200       DEBIF: $3F00\r00100      INCLUDE BIF.M\r00110     INCLUDE BIFDP.ASM\r00110         INCLUDE BIFST.ASM\r00120         SETDP VDP COLD loads DP\r01000 *\r01001   FCC '@' name\r01002      FCB 1 name length, usage (NFA)\r01003    FCB MFORE type/allocation MODES\r01004   FDB WARM-CFAOFF previous link in allocation\r01005       FDB BIF+2 owning vocabulary\r01006       FDB EQ-CFAOFF left link in tree\r01007   FDB AND-CFAOFF right link in tree\r01010 FETCH   LDD [,U] from [tos] to stack\r01011      STD ,U\r01012    NEXT\r01013 *\r01014      FCC '!'\r01015   FCB 1\r01016     FCB MFORE\r01017         FDB FETCH-CFAOFF\r01030  FDB BIF+2\r01040         FDB NUBLK-CFAOFF\r01050  FDB STOCSP-CFAOFF\r01060 STORE   LDD 2,U from stack to [top]\r01070       STD [,U]\r01080  LEAU 4,U\r01090  NEXT\r01095 *\r01100      FCC 'LIT'\r01110         FCB MCOMP.OR.3\r01120    FCB MFORE\r01130         FDB STORE-CFAOFF\r01140  FDB BIF+2\r01150         FDB 0 * LIST-CFAOFF\r01160       FDB 0\r01170 LIT LDD ,Y++ push literal from code\r01180   PSHU D\r01190    NEXT\r01200 *\r01210      FCC 'DLIT'\r01220        FCB MCOMP.OR.4\r01230    FCB MFORE\r01240         FDB LIT-CFAOFF\r01250    FDB BIF+2\r01260         FDB 0\r01270     FDB 0\r01280 * push double literal from code\r01290 DLIT  LDD ,Y++\r01300  LDX ,Y++\r01310  PSHU D,X\r01320  NEXT\r01330 *\r01340      FCC 'EXECUTE'\r01350     FCB MCOMP.OR.7\r01360    FCB MFORE\r01370         FDB DLIT-CFAOFF\r01380   FDB BIF+2\r01390         FDB 0\r01400     FDB 0\r01410 * EXECUTE cfa on stack\r01420 EXEC   LDX ,U++\r01430  BEQ *+4\r01440   JMP ,X\r01450    LDD #9\r01460    PSHU D\r01462    JMP ERROR\r01464 *\r01466         FCC '1BRANCH'\r01468     FCB MCOMP.OR.7\r01470    FCB MFORE\r01472         FDB EXEC-CFAOFF\r01474   FDB BIF+2\r01476         FDB 0\r01478     FDB 0\r01480 TBR LDD ,U++\r01482  BNE BRANCH\r01484        LEAY 2,Y\r01486  NEXT\r01488 *\r01490      FCC 'BRANCH'\r01500      FCB MCOMP.OR.6\r01510    FCB MFORE\r01520         FDB TBR-CFAOFF\r01530    FDB BIF+2\r01540         FDB 0\r01550     FDB 0\r01560 BRANCH      LDD ,Y++\r01570  LEAY D,Y\r01580  NEXT\r01590 *\r01600      FCC '0BRANCH'\r01610     FCB MCOMP.OR.7\r01620    FCB MFORE\r01630         FDB BRANCH-CFAOFF\r01640         FDB BIF+2\r01650         FDB 0\r01660     FDB 0\r01670 ZBR LDD ,U++\r01680  BEQ BRANCH\r01690        LEAY 2,Y\r01700  NEXT\r01710 *\r01720      FCC '(LOOP)'\r01730      FCB MCOMP.OR.6\r01740    FCB MFORE\r01750         FDB ZBR-CFAOFF\r01760    FDB BIF+2\r01770         FDB 0\r01780     FDB 0\r01790 XLOOP       LDD #1\r01800    ADDD ,S\r01810   STD ,S\r01820    SUBD 2,S\r01830  BLT BRANCH\r01840 XLOOPN LEAY 2,Y\r01850  LEAS 4,S\r01860  NEXT\r01870 *\r01880      FCC '(+LOOP)'\r01890     FCB MCOMP.OR.7\r01900    FCB MFORE\r01910         FDB XLOOP-CFAOFF\r01920  FDB BIF+2\r01930         FDB 0\r01940     FDB 0\r01950 XPLOOP      LDD ,U++ inc val\r01960  BPL XLOOP+3\r01970       ADDD ,S\r01980   STD ,S\r01990    SUBD 2,S\r02000  BGT BRANCH\r02010        BRA XLOOPN\r02020 *\r02030        FCC '(DO)'\r02040        FCB 4\r02050     FCB MFORE\r02060         FDB XPLOOP-CFAOFF\r02070         FDB BIF+2\r02080         FDB 0\r02090     FDB 0\r02100 XDO PULU D,X\r02110  PSHS D,X\r02120  NEXT\r02130 *\r02140      FCC 'I'\r02150   FCB 1\r02160     FCB MFORE\r02170         FDB XDO-CFAOFF\r02180    FDB BIF+2\r02190         FDB HLD-CFAOFF\r02200    FDB IDDOT-CFAOFF\r02210 I        LDD ,S\r02220    PSHU D\r02222    NEXT\r02224 *\r02226      FCC 'J'\r02228   FCB 1\r02230     FCB MFORE\r02232         FDB I-CFAOFF\r02234      FDB BIF+2\r02236         FDB IPCOM-CFAOFF\r02238  FDB 0\r02240 J   LDD 4,S\r02242   PSHU D\r02244    NEXT\r02246 *\r02250      FCC 'DIGIT'\r02260       FCB 5\r02270     FCB MFORE\r02280         FDB J-CFAOFF\r02290      FDB BIF+2\r02300         FDB DEC-CFAOFF\r02310    FDB DLITER-CFAOFF\r02320 DIGIT   LDB 3,U\r02330   CMPB #'9\r02340  BLS DIGITX+4\r02350      CMPB #'A\r02360  BLO DIGITN\r02370        CMPB #'Z\r02380  BLS DIGITX+2\r02390      CMPB #'a\r02400  BLO DIGITN\r02410        CMPB #'z\r02420  BHI DIGITN\r02430 DIGITX SUBB #'a-'Z-1\r02440     SUBB #'A-'9-1\r02450     SUBB #'0\r02460  CMPB 1,U\r02470  BHS DIGITN\r02480        CLRA\r02490      STD 2,U\r02500   LDD #-1\r02510 DIGITL    STD ,U\r02520    NEXT\r02530 DIGITN       LEAU 2,U\r02540  LDD #0\r02550    BRA DIGITL\r02560 *\r02570        FCC '(FIND)'\r02580      FCB 6\r02590     FCB MFORE\r02600         FDB DIGIT-CFAOFF\r02610  FDB BIF+2\r02620         FDB IABORT-CFAOFF\r02630         FDB XMACH-CFAOFF\r02640 * search vocabulary adr2 for (adr1)\r02650 PFIND  LDD ,U valid?\r02660     BEQ PFINDX\r02670 PFINDL DOCOL\r02680     FDB PREF\r02690  FDB XMACH\r02700         LEAU 2,U\r02710  LDX [,U] NULL link?\r02720       BEQ PFINDN\r02730        LDB ,X\r02740    ANDB #MHID smudged?\r02750       BEQ PFINDY\r02760        LEAX RTOFF,X deeper\r02770       STX ,U\r02780    BRA PFINDL\r02790 PFINDY LDX #-1\r02800 PFINDN    LDD ,U\r02810    STX ,U\r02820 PFINDX     STD 2,U\r02830   NEXT\r02990 *\r03000      FCC 'ENCLOSE'\r03010     FCB 7\r03020     FCB MFORE\r03030         FDB PFIND-CFAOFF\r03040  FDB BIF+2\r03050         FDB EMTBUF-CFAOFF\r03060         FDB 0\r03070 * adr1 c --- adr2 len\r03080 ENCLOS  LDX 2,U\r03100 ENCLLD    LDB ,X+ delimiter\r03110         BEQ ENCL0\r03120         CMPB 1,U\r03130  BEQ ENCLLD\r03133 ENCL0  LEAX -1,X\r03140         STX 2,U\r03150 ENCLLW    LDB ,X+ scan word\r03160         BEQ ENCLCA\r03170        CMPB 1,U\r03180  BNE ENCLLW\r03190 ENCLCA TFR X,D length\r03195    SUBD #1\r03200   SUBD 2,U\r03220  STD ,U\r03230    NEXT\r03240 *\r03250      FCC 'LITERAL'\r03260     FCB MIMM.OR.7\r03270     FCB MFORE\r03280         FDB ENCLOS-CFAOFF\r03290         FDB BIF+2\r03300         FDB LIT-CFAOFF\r03310    FDB LOAD-CFAOFF\r03320 * compile a literal\r03330 LITER   BSR LITERS\r03340        LDD #LIT\r03350 LITERB   STD ,Y++\r03360  PULU D\r03370    STD ,Y++\r03380  STY UDP,X\r03390         PULS Y\r03400    JMP HERERR\r03405 *\r03410 LITERS LDX <UP\r03412   LDB USTATE+1,X\r03414    ANDB #SCOMP\r03416       PULS D no CC\r03418      BNE *+4 compiling?\r03420        NEXT no\r03422   PSHS Y\r03424    LDY UDP,X\r03426         EXG D,PC return\r03430 *\r03435   FCC 'DLITERAL'\r03440    FCB MIMM.OR.8\r03450     FCB MFORE\r03460         FDB LITER-CFAOFF\r03470  FDB BIF+2\r03480         FDB DLIT-CFAOFF\r03490   FDB DMINUS-CFAOFF\r03500 * compile a 32 bit constant\r03510 DLITER        BSR LITERS\r03540        LDD #DLIT\r03550         STD ,Y++\r03560  PULU D\r03570    BRA LITERB\r03630 *\r08210        INCLUDE BIFB.ASM\r08220  INCLUDE BIF1.ASM\r08230  INCLUDE BIF1B.ASM\r08240         INCLUDE BIF2.ASM\r08250  INCLUDE BIF2B.ASM\r08260         INCLUDE BIF3.ASM\r08270  INCLUDE BIF3B.ASM\r08280         INCLUDE BIF4.ASM\r08285  INCLUDE BIF4B.ASM\r08290         INCLUDE BIF5.ASM\r08295  INCLUDE BIF5B.ASM\r08300         INCLUDE BIF6.ASM\r08310  INCLUDE BIF6B.ASM\r08320         INCLUDE BIF7.ASM\r08330  INCLUDE BIF7B.ASM\r09000         END\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * USER variable definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00100 * INCLUDE THIS BEFORE SETTING DPR\r00110 * ORG used here for offsets only\r{       userAllocations.h\r00120         ORG 0\r00130 US0 RMB 2   base of data stack (6809 U)\r00140 UR0   RMB 2   base of control stack (6809 S)\r00150 UTIB       RMB 2   terminal buffer\r00160   RMB 2   width is not used\r00170 UWARN   RMB 2   disk on line?\r00180 UFENCE      RMB 2   for FORGET\r00190 UDP    RMB 2   first available byte in dictionary\r00200 UROOT  RMB 2   current dictionary root pointer\r00210 UDROOT    RMB 2   defining dictionary root pointer\r00220 UCURR    RMB 2   NFA of last definition\r00230 UPAD       RMB 2   text, numeric scratch buffers\r00240 UWP RMB 2   WORD buffer pointer\r00250 UCOLUM        RMB 2   columns per lineon terminal\r00260 UFIRST        RMB 2   byte of buffers\r00270 ULIMIT    RMB 2   of buffer ram\r00280 UBASE       RMB 2   of numeric conversion\r00290 UCSP        RMB 2   stack pointer check\r00300 UHLD  RMB 2   character mark in pad\r00310 UUSE        RMB 2   Least Recently Used buffer\r00320 UPREV  RMB 2   Most Recently Used buffer\r00330 UBS     RMB 2   BackSpace\r00340 UIN     RMB 2   input buffer offset\r00350 UOUT  RMB 2   output buffer offset (cursor)\r00360 UBLK        RMB 2   active disc block\r00370 UEBLK   RMB 2   active edit block\r00380 USCR    RMB 2   active disc screen\r00390 URNUM  RMB 2   editing offset (cursor)\r00400 UOFFS     RMB 2   to active drive\r00410 USTATE    RMB 2   of compiler\r00420 UDPL  RMB 2   output Decimal Point Location\r00430 UFLD        RMB 2   output field width\r00440 UVMK   RMB 2   stack mark and function for VISIT\r00450 UFORE   RMB 2   FOREWARD reference block link\r00460 UDPR        RMB 2   Direct Page Emulator for Assembler\r}\r00990      RMB 16  8 spares \r01000 UEND    EQU * \rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * EQUates and MACRO definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r01000 *\r{  bifc_vm.c:\r01010 * JMP to next icode word\r01020 NEXT    MACRO\r01030     JMP [,Y++]\r01040        ENDM\r01050 *\r}\r{        symbol.h:\r01053 * offset from name field to mode field\r01056 MFAOFF     EQU 1\r01057 * length of symbols, must be 2^n for mask\r01058 NLMASK      EQU $1F\r01060 * offset to previous allocation link\r01070 LFAOFF EQU MFAOFF+1\r01080 * offset to owning VOCABULARY (genesis) link\r01090 GFAOFF    EQU LFAOFF+2\r01100 LFTOFF       EQU GFAOFF+2    left child link\r01110 RTOFF     EQU GFAOFF+4    right child link\r01120 * offset to code field\r01130 CFAOFF      EQU GFAOFF+6\r01140 * offset to parameter field (past Direct Page jump)\r01150 PFAOFF     EQU CFAOFF+2\r01160 * All links are relative to the name field (NFA)\r01170 * Use PFAOFF (or PFA) with ;CODE!\r01320 * usage and name length share a byte (name length < 32).\r01330 * foreward blocks marked in the mode byte\r01340 * usage and mode bits\r01350 MFORE      EQU $80 part of FORWARD reference block (in mode byte -- MFA)\r01360 MCOMP       EQU $80 compile only (in length byte -- NFA)\r01370 MIMM EQU $40 precedence is IMMEDIATE execution (in length byte -- NFA)\r01380 MHID    EQU $20 SMUDGEd definition (in length byte -- NFA)\r01390 *\r}\r{  bifc_vm.c\r01400 * initiate an icode list\r01410 DOCOL    MACRO\r01420     JSR <XCOL\r01430         ENDM\r01440 *\r}\r{        symbol.c\r01450 DOVAR    MACRO\r01460     JSR <XVAR\r01470         ENDM\r01480 *\r01490 DOCON        MACRO\r01500     JSR <XCON\r01510         ENDM\r01520 *\r01530 DOUSER       MACRO\r01540     JSR <XUSER\r01550        ENDM\r01560 *\r01570 DO1ARR       MACRO\r01580     JSR <X1ARR\r01590        ENDM\r01600 *\r01610 DOUCON       MACRO\r01620     JSR <XUCON\r01630        ENDM\r01640 *\r01650 DOVOC        MACRO\r01660     JSR <XVOC\r01670         ENDM\r01680 *\r}\r{        unused\r02000 * add D to top of stack\r02010 ADDTOP       MACRO\r02020     ADDD ,U\r02030   STD ,U\r02040    JMP [,Y++]\r02050        ENDM\r02060 *\r}\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00020 * Direct Page definitions for BIF\r00030 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00060 * This file is dependent on BIF/M definitions\r00100 DPAGE EQU *\r00105 VDP EQU DPAGE/256\r00110 * ORG needs to leave space for this code\r00120      SETDP VDP\r00130 * COLD needs to load VDP into DP register\r00500 *\r00510 * Direct Page variables\r00600 UP        RMB 2\r00610     RMB 8 spares\r01000 *\r{  bifc_vm.c \r01010 * nest into icode list\r01020 * call by JSR\r01030 XCOL  LDX ,S  list ptr\r01040  STY ,S  nest old\r01050  TFR X,Y interpret\r01060         NEXT\r01070 *\r}\r{        symbol.c\r01080 * PUSH FOLLOWING WORD\r01090 * call by JSR for CONSTANT\r01100 XCON        LDD [,S++]\r01110        PSHU D\r01120    NEXT\r01130 *\r01140 * push following address\r01150 * call by JSR for VARIABLE address\r01160 XVAR PULS D\r01170    PSHU D\r01180    NEXT\r01190 * (same code as R>, but in DP)\r01200 *\r01210 * push address of USER variable\r01215 * call by JSR\r01220 XUSER LDB [,S++]      one byte offset\r01225   CLRA\r01230      ADDD <UP\r01240  PSHU D\r01250    NEXT\r01260 *\r01300 * push address of LINEAR array entry\r01305 * call by JSR\r01310 X1ARR PULS X\r01320    LDD ,U index\r01330      SUBD ,X base\r01340      CMPD 2,X width\r01350    BLO X1ARRS\r01360        LDD #$0C\r01365  PSHU D\r01370    JMP ERROR\r01380 X1ARRS  PSHS A\r01390    LDA 4,X size\r01400      MUL\r01410       STD ,U\r01420    PULS A ms byte\r01430    LDB 4,X\r01440   MUL\r01450       TFR B,A\r01460   ADDA ,U\r01470   LDB 1,U\r01480   LEAX 5,X past header\r01490      LEAX D,X\r01500  STX ,U\r01510    NEXT\r01520 * LINEAR array header format:\r01530 *        FDB BASE (lowest index)\r01540 * FDB WIDTH (# of elements)\r01550 *       FCB SIZE (< 256 bytes / element)\r01560 *        RMB SIZE*WIDTH (data)\r01700 *\r01710 * push content of USER variable\r01715 * call by JSR\r01720 XUCON     LDX <UP\r01722   LDB [,S++]      one byte offset\r01725   CLRA\r01730      LDD D,X\r01740   PSHU D\r01750    NEXT\r01800 *\r01802 * store VOCABULARY pointer in root\r01805 * call by JSR\r01810 XVOC    LDX <UP\r01820   PULS D\r01830    STD UROOT,X\r01840       NEXT\r01850 *\r01860 * indirect into icode list following\r01870 * DOES> in defining definition\r01880 * call by JSR\r01890 XDOES    LDX ,S pfa\r01900        LDD ,X++        list ptr\r01920  PSHU X  parameters\r01930        STY ,S  nest old\r01940  TFR D,Y interpret\r01950         NEXT\r01960 *\r02000 * push double constant\r02010 * call by JSR\r02020 XDCON       PULS X\r02030    LDD ,X++\r02040  LDX ,X++\r02050  PSHU D,X\r02060  NEXT\r02070 *\r}\r40000    ORG DPAGE+256 if code fits\r40010        SETDP 0 not yet valid\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00000010 * Start up routines for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00100 *\r00105 ILIM       EQU $8000 memory\r00110 IBUFF    EQU ILIM-BCT*(BWID+4)\r00120 IPAD        EQU IBUFF-TWID max\r00130 IHASH  EQU IPAD-34\r00140 IWPAD EQU IHASH-NLMASK-2\r00150 ITIB   EQU IWPAD-TWID\r00160 IUSER      EQU ITIB-UEND\r00170 IRP0        EQU IUSER-2\r00180 ISP0  EQU IRP0-258\r00190 * dictionary below here\r00400 *\r00410 ORIG   EQU * initials for task 0, offsets\r00420        NOP 0\r00430     JMP COLD 1\r00440        NOP 4\r00450     JMP WARM 5\r00460        FDB $6809 cpu 8\r00470   FDB 0 rev $0A\r00480     FDB FORGET-CFAOFF CURRENT for COLD $0C\r00490    FDB 8 backspace $0E\r00500       FDB IUSER task 0 user area $10\r00510    FDB ISP0 $12\r00520      FDB IRP0 $14\r00530      FDB ITIB $16\r00540      FDB NLMASK not used $18\r00550   FDB 1 WARNING $1A\r00560         FDB FOLLOW-1 FENCE for COLD $1C\r00570   FDB FOLLOW DP for COLD $1E\r00580        FDB BIF+2 defs root $20\r00590   FDB IPAD $22\r00600      FDB IWPAD $24\r00610     FDB 32 terminal columns $26\r00620       FDB IBUFF $28\r00630     FDB ILIM $2A\r01000 *\r01010      FCC 'COLD'\r01020        FCB 4\r01030     FCB MFORE\r01040         FDB 0\r01050     FDB BIF+2\r01060         FDB 0\r01070     FDB 0\r01080 COLD        LEAY DOREGS,PCR\r01090   EXG PC,Y call\r01100     SETDP VDP\r01110         CLR $71 for BASIC reset\r01120   LDD -4,Y\r01130  STD UCURR,X\r01140       LDD $0C,Y\r01150         STD UFENCE,X\r01160      LDD $0E,Y\r01170         STD UDP,X\r01180         LDD $10,Y\r01190         STD UROOT,X\r01200       STD UDROOT,X\r01210      PSHU D     Initial vocabularies\r01220   BSR PRUNE  must ALL be PRUNEd!\r01230    LDD #EDITOR+2\r01240     PSHU D\r01250    BSR PRUNE\r01260         LDD #ASMBLR+2\r01270     PSHU D\r01280    BSR PRUNE\r01290         JMP WARM+5\r01300        SETDP 0\r01310 * Watch stack (vocabulary) depth!\r01315   SETDP VDP\r01320 PRUNE   PSHS D,X,Y\r01330        LDY <UP\r01340   LDX ,U++ vocab\r01344    BEQ PRUNEX+2\r01348      LDD ,X root\r01352       BEQ PRUNEX+2\r01356      CMPD UFENCE,Y\r01360     BLS PRUNSK\r01364        LDD #0\r01368    STD ,X\r01372    BRA PRUNEX+2\r01376 PRUNSK       TFR D,X\r01380   LDD #0\r01386    PSHS D mark\r01390 PRUNL LDD RTOFF,X\r01400       BEQ PRUNLF\r01410        CMPD UFENCE,Y\r01420     BLS PRUNLF-2\r01430      LDD #0 make leaf\r01440  STD RTOFF,X\r01450       BRA PRUNLF\r01460        PSHS D for later\r01470 PRUNLF   LDD LFTOFF,X\r01480      BEQ PRUNEX-2\r01490      CMPD UFENCE,Y\r01500     BHI PRUNL0\r01510        TFR D,X go left\r01520   BRA PRUNL\r01530 PRUNL0  LDD #0 make leaf\r01540  STD LFTOFF,X\r01550      LDX ,S++ go right?\r01560 PRUNEX BNE PRUNL\r01570         PULS D,X,Y,PC\r01580     SETDP 0\r01590 *\r02000   SETDP 0\r02010 DOREGS    LDS #IRP0\r02020         PSHS CC save\r02030      ORCC #$50 mask ints\r02040       PSHS Y return adr\r02050         LDD #DPAGE\r02060        TFR A,DP\r02070  SETDP VDP\r02080         LDY #ORIG+$10\r02090     LDX ,Y\r02100    STX <UP\r02110   LDU #ISP0\r02120         LDD #0\r02130    STD >0 trap [NULL]s\r02140       RTS\r02150       SETDP 0\r02160 *\r02230   FCC 'WARM'\r02240        FCB 4\r02250     FCB MFORE\r02260         FDB COLD-CFAOFF\r02270   FDB BIF+2\r02280         FDB VLIST-CFAOFF\r02290  FDB WARN-CFAOFF\r02300 WARM      LEAY <DOREGS,PCR\r02310  EXG PC,Y call\r02320     SETDP VDP\r02360         LDD 2,Y\r02370   STD US0,X\r02380         STD UCSP,X\r02390        LDD 4,Y\r02400   STD UR0,X\r02410         LDD -2,Y\r02420  STD UBS,X\r02430         LDD 6,Y\r02440   STD UTIB,X\r02450        LDD $0A,Y\r02460         STD UWARN,X\r02470       LEAY $10,Y\r02480        LDD 2,Y\r02490   STD UPAD,X\r02500        STD UHLD,X\r02510        LDD 4,Y\r02520   STD UWP,X\r02530         LDD 6,Y\r02540   STD UCOLUM,X\r02550      LDD 8,Y\r02560   STD UFIRST,X\r02570      STD UUSE,X\r02580        STD UPREV,X\r02590       LDD $0A,Y\r02600         STD ULIMIT,X\r02610      LDD #16\r02620   STD UBASE,X\r02630       LDD #0\r02640    STD [UR0,X] hole\r02650  STD [US0,X] hole\r02660  LDA #(UEND-UIN)\r02670   LEAY UIN,X\r02680 WARMLY STB ,Y+\r02690   DECA\r02700      BNE WARMLY\r02740        PULS CC\r02745   ANDCC #$EF enable IRQ (disc)\r02750      DOCOL\r02760     FDB EMTBUF\r02770        FDB ABORT\r02780         SETDP 0\r02890 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r03640   FCC 'EMIT'\r03650        FCB 4\r03660     FCB MFORE\r03670         FDB DLITER-CFAOFF\r03680         FDB BIF+2\r03690         FDB DUP-CFAOFF\r03700    FDB ENCLOS-CFAOFF\r03705 * output using rom CHROUT: redirectable to printer\r03710 EMIT   PULU D\r03720    TFR B,A\r03730   CLRB\r03740      PSHS Y,U,DP\r03750       TFR B,DP\r03760  JSR [$A002]\r03770       PULS Y,U,DP\r03780       NEXT\r03790 *\r03800      FCC 'KEY'\r03810         FCB 3\r03820     FCB MFORE\r03830         FDB EMIT-CFAOFF\r03840   FDB BIF+2\r03850         FDB IN-CFAOFF\r03860     FDB LIMIT-CFAOFF\r03870 * wait for key from POLCAT\r03880 KEY     PSHS Y,U,DP\r03890       CLRB\r03895      LDA #$CF a cursor\r03900         TFR B,DP\r03901  SETDP 0\r03904   LDX <$88 locate\r03906   LDB ,X save\r03908       STA ,X\r03910    JSR [$A000]\r03920       BEQ *-4\r03925   STB ,X restore\r03930 KEYR       CLRB\r03932      CMPA #3 break key\r03934         BNE *+3\r03936   COMB\r03938      EXG A,B\r03940   PULS Y,U,DP\r03942       SETDP VDP\r03945         PSHU D\r03950    NEXT\r03960 *\r03970      FCC '?TERMINAL'\r03980   FCB 9\r03990     FCB MFORE\r04000         FDB KEY-CFAOFF\r04010    FDB BIF+2\r04020         FDB QSTACK-CFAOFF\r04030         FDB 0\r04040 * check break key using POLCAT\r04050 QTERM  PSHS Y,U,DP\r04060       CLRB\r04070      TFR B,DP\r04080  JSR [$A000]\r04100       BRA KEYR\r04140 *\r04150  FCC 'CR'\r04160  FCB 2\r04170     FCB MFORE\r04180         FDB QTERM-CFAOFF\r04190  FDB BIF+2\r04200         FDB COUNT-CFAOFF\r04210  FDB 0\r04220 CR  LDB #$0D\r04230  BRA EMIT+2\r04240 *\r04250        FCC '(;CODE)'\r04260     FCB MCOMP.OR.7\r04270    FCB MFORE\r04280         FDB CR-CFAOFF\r04290     FDB BIF+2\r04300         FDB 0\r04310     FDB 0\r04320 XSCODE      LDX <UP\r04330   LDX UCURR,X being defined\r04340         LEAX CFAOFF,X\r04350     LDA AJSR,PCR\r04360      STA ,X+\r04370   STY ,X++ code address\r04380     PULS Y un-nest\r04390    NEXT\r04400 * parameters are 3 bytes beyond CFA\r04410 AJSR       JSR >0 to be compiled\r04420 *\r04440 DEVNUM      EQU $6F coco ROM constant\r04450         FCC '>PRT'\r04460        FCB 4\r04470     FCB MFORE\r04480         FDB XSCODE-CFAOFF\r04490         FDB BIF+2\r04500         FDB 0\r04510     FDB 0\r04520 TOPRT       LDB #-2\r04530   STB DEVNUM\r04540        NEXT\r04550 *\r04560      FCC '>VID'\r04570        FCB 4\r04580     FCB MFORE\r04590         FDB TOPRT-CFAOFF\r04600  FDB BIF+2\r04610         FDB 0\r04620     FDB 0\r04630 TOVID       CLR DEVNUM\r04650        NEXT\r04660 *\r04670      FCC '2*'\r04680  FCB 2\r04690     FCB MFORE\r04700         FDB TOVID-CFAOFF\r04710  FDB BIF+2\r04720         FDB 0\r04730     FDB 0\r04740 LSHIFT      LSL 1,U\r04750   ROL ,U\r04760    NEXT\r04770 *\r04780      FCC '2/'\r04790  FCB 2\r04800     FCB MFORE\r04810         FDB LSHIFT-CFAOFF\r04820         FDB BIF+2\r04830         FDB SUB2-CFAOFF\r04840   FDB THREE-CFAOFF\r04850 RSHIFT   ASR ,U\r04860    ROR 1,U\r04870   NEXT\r04880 *\r04885      FCC '(REFIND)'\r04890    FCB 8\r04895     FCB MFORE\r04900         FDB RSHIFT-CFAOFF\r04910         FDB BIF+2\r04920         FDB 0\r04930     FDB 0\r04940 * search vocabulary adr2 for first (adr1)\r04950 PREF        LDD #PFAOFF vocab flag\r04955    PSHS D,Y\r04960  LDX ,U root ptr\r04965   BEQ PREFN\r04970         BRA PREFA\r04980 PREFP   LDY 2,U hunt for\r04990  LDB ,X count\r05000      ANDB #NLMASK\r05005      BEQ PREF1\r05010         TFR B,A\r05020   NEGA\r05040      LEAX A,X hunt in\r05050 PREFS    LDA ,Y+ scan\r05060      SUBA ,X+\r05070  BNE PREFN\r05080         DECB\r05090      BNE PREFS\r05100 PREF1   LDA ,Y NUL?\r05110       BNE PREFN\r05120 PREFX   PULS D,Y\r05140  PSHU D flag\r05170       NEXT\r05180 PREFN        LDX [,U] old NFA\r05190  TSTA\r05200      BMI *+6\r05210   LDB #RTOFF\r05220        BRA *+4\r05230   LDB #LFTOFF\r05233       LEAX B,X\r05236  STB 1,S flag\r05240      STX ,U\r05250 PREFA      LDX ,X new NFA\r05260    BNE PREFP\r05280         BRA PREFX\r08200 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000   FCC 'MOVE'\r01010        FCB 4\r01020     FCB MFORE\r01030         FDB PREF-CFAOFF\r01040   FDB BIF+2\r01050         FDB MINUS-CFAOFF\r01060  FDB NFA-CFAOFF\r01070 MOVE       LDD ,U++ count=0?\r01080         BEQ MOVEX\r01090         PSHS Y,U\r01100  LDY ,U\r01110    LDU 2,U\r01120 MOVELP    PULU X\r01130    STX ,Y++\r01140  SUBD #1\r01150   BNE MOVELP\r01160        PULS Y,U\r01170 MOVEX    LEAU 4,U\r01180  NEXT\r01190 *\r01200      FCC 'CMOVE'\r01210       FCB 5\r01220     FCB MFORE\r01225         FDB MOVE-CFAOFF\r01230   FDB BIF+2\r01240         FDB CFA-CFAOFF\r01250    FDB COMP-CFAOFF\r01260 CMOVE     LDD #0\r01270    SUBD ,U++\r01280         PSHS A,Y\r01290  PULU X,Y\r01300  BEQ CMOVEX\r01310 CMOVEL LDA ,Y+\r01320   STA ,X+\r01330   INCB\r01340      BNE CMOVEL\r01350        INC ,S\r01360    BNE CMOVEL\r01370 CMOVEX PULS A,Y\r01380  NEXT\r01390 *\r01400      FCC 'U*'\r01410  FCB 2\r01420     FCB MFORE\r01430         FDB CMOVE-CFAOFF\r01440  FDB BIF+2\r01450         FDB TOG-CFAOFF\r01460    FDB UPDATE-CFAOFF\r01470 USTAR   LEAS -4,S\r01480         LDA 1,U LEAST\r01490     LDB 3,U\r01500   MUL\r01510       STD 2,S\r01520   LDA ,U most\r01530       LDB 2,U\r01540   MUL\r01550       STD ,S\r01560    LDD 1,U inner\r01570     MUL\r01580       ADDD 1,S\r01590  BCC *+4\r01600   INC ,S\r01605    STD 1,S\r01610   LDA ,U\r01620    LDB 3,U\r01630   MUL\r01640       ADDD 1,S\r01650  BCC *+4\r01660   INC ,S\r01670    STD 1,S\r01680   PULS D,X\r01690  STD ,U\r01700    STX 2,U\r01710   NEXT\r01720 *\r01730      FCC 'U/'\r01740  FCB 2\r01750     FCB MFORE\r01760         FDB USTAR-CFAOFF\r01770  FDB BIF+2\r01780         FDB 0\r01790     FDB 0\r01800 USLASH      LDA #17 bit ct\r01810    PSHS A\r01820    LDD 2,U dividend\r01830 USLDIV   CMPD ,U divisor\r01840   BHS USLSUB\r01850        ANDCC #.NOT.1\r01860     BRA USLBIT\r01870 USLSUB SUBD ,U\r01880   ORCC #1 quotient,\r01890 USLBIT  ROL 5,U save it\r01900   ROL 4,U\r01910   DEC ,S more bits?\r01920         BEQ USLR\r01930  ROLB remainder\r01940    ROLA\r01950      BCC USLDIV\r01960        BRA USLSUB\r01970 USLR   LEAS 1,S\r01980  LEAU 2,U\r01990  LDX 2,U\r02000   STD 2,U\r02010   STX ,U\r02020    NEXT\r02030 *\r02200      FCC 'AND'\r02210         FCB 3\r02220     FCB MFORE\r02230         FDB USLASH-CFAOFF\r02240         FDB BIF+2\r02250         FDB ABS-CFAOFF\r02260    FDB BACK-CFAOFF\r02270 AND       PULU D\r02280    ANDB 1,U\r02290  ANDA ,U\r02300   STD ,U\r02310    NEXT\r02320 *\r02330      FCC 'OR'\r02340  FCB 2\r02350     FCB MFORE\r02360         FDB AND-CFAOFF\r02370    FDB BIF+2\r02380         FDB OCT-CFAOFF\r02390    FDB OUT-CFAOFF\r02400 OR PULU D\r02410    ORB 1,U\r02420   ORA ,U\r02430    STD ,U\r02440    NEXT\r02450 *\r02460      FCC 'XOR'\r02470         FCB 3\r02480     FCB MFORE\r02490         FDB OR-CFAOFF\r02500     FDB BIF+2\r02510         FDB 0\r02520     FDB 0\r02530 XOR PULU D\r02540    EORB 1,U\r02550  EORA ,U\r02560   STD ,U\r02570    NEXT\r02580 *\r02590      FCC 'SP@'\r02600         FCB 3\r02610     FCB MFORE\r02620         FDB XOR-CFAOFF\r02630    FDB BIF+2\r02640         FDB SPSTO-CFAOFF\r02660  FDB 0\r02670 SPFEH       TFR U,X\r02680   PSHU X\r02690    NEXT\r02700 *\r02710      FCC 'SP!'\r02720         FCB 3\r02730     FCB MFORE\r02740         FDB SPFEH-CFAOFF\r02750  FDB BIF+2\r02760         FDB 0\r02770     FDB 0\r02780 SPSTO LDX <UP\r02790         LDU US0,X\r02793         CLR ,U hole\r02796       CLR 1,U\r02800   NEXT\r02810 *\r02820      FCC 'RP!'\r02830         FCB 3\r02840     FCB MFORE\r02850         FDB SPSTO-CFAOFF\r02860  FDB BIF+2\r02870         FDB 0\r02880     FDB 0\r02890 RPSTO LDX <UP\r02900         LDS UR0,X\r02903         CLR ,S hole\r02906       CLR 1,S\r02910   NEXT\r02920 *\r02930      FCC ';S'\r02940  FCB MIMM|2\r02950        FCB MFORE\r02960         FDB RPSTO-CFAOFF\r02970  FDB BIF+2\r02980         FDB 0\r02990     FDB 0\r03000 SEMIS       PULS Y un-nest\r03010    NEXT\r03020 *\r03030      FCC 'LEAVE'\r03040       FCB MCOMP|5\r03050       FCB MFORE\r03060         FDB SEMIS-CFAOFF\r03070  FDB BIF+2\r03080         FDB LATEST-CFAOFF\r03090         FDB LFA-CFAOFF\r03100 LEAVE      LDD ,S index\r03110      STD 2,S to limit\r03120  NEXT\r03130 *\r03140      FCC '>R'\r03150  FCB MCOMP|2\r03160       FCB MFORE\r03170         FDB LEAVE-CFAOFF\r03180  FDB BIF+2\r03190         FDB GT-CFAOFF\r03200     FDB QDOT-CFAOFF\r03210 TOR       PULU D\r03220    PSHS D\r03230    NEXT\r03240 *\r03250      FCC 'R>'\r03260  FCB MCOMP|2\r03270       FCB MFORE\r03280         FDB TOR-CFAOFF\r03290    FDB BIF+2\r03300         FDB R-CFAOFF\r03310      FDB REPEAT-CFAOFF\r03320 RFROM   JMP <XVAR not JSR!\r03350 *\r03360        FCC 'R'\r03370   FCB 1\r03380     FCB MFORE\r03390         FDB RFROM-CFAOFF\r03400  FDB BIF+2\r03410         FDB QUIT-CFAOFF\r03420   FDB RNUM-CFAOFF\r03430 R JMP I\r03431 *\r03432     FCC '='\r03433   FCB 1\r03434     FCB MFORE\r03435         FDB R-CFAOFF\r03436      FDB BIF+2\r03437         FDB LT-CFAOFF\r03438     FDB QCOMP-CFAOFF\r03439 EQ       PULU D\r03440    CMPD ,U\r03441   BEQ TRUE\r03442  BRA FALSE\r03451 *\r03452         FCC '<'\r03453   FCB 1\r03454     FCB MFORE\r03455         FDB EQ-CFAOFF\r03456     FDB BIF+2\r03457         FDB SCODE-CFAOFF\r03458  FDB BEGHSH-CFAOFF\r03459 LT      LDD 2,U\r03460   CMPD ,U++\r03461         BLT TRUE\r03462  BRA FALSE\r03463 *\r03490         FCC '0='\r03491  FCB 2\r03492     FCB MFORE\r03493         FDB LT-CFAOFF\r03494     FDB BIF+2\r03500         FDB 0\r03510     FDB ONE-CFAOFF\r03520 ZEQ        LDD ,U\r03530    BNE FALSE\r03540 TRUE    LDD #-1\r03550   STD ,U\r03560    NEXT\r03570 *\r03580      FCC '0<'\r03590  FCB 2\r03600     FCB MFORE\r03610         FDB ZEQ-CFAOFF\r03620    FDB BIF+2\r03630         FDB ZERO-CFAOFF\r03640   FDB ZEQ-CFAOFF\r03650 ZLESS      LDA ,U\r03660    BMI TRUE\r03665 FALSE    LDD #0\r03670    STD ,U\r03680    NEXT\r03681 *\r03682      FCC '>'\r03683   FCB 1\r03684     FCB MFORE\r03685         FDB ZLESS-CFAOFF\r03686  FDB BIF+2\r03687         FDB 0\r03688     FDB TOPRT-CFAOFF\r03689 GT       LDD 2,U\r03690   CMPD ,U++\r03691         BGT TRUE\r03692  BRA FALSE\r03693 *\r03700         FCC '+'\r03710   FCB 1\r03720     FCB MFORE\r03730         FDB GT-CFAOFF\r03740     FDB BIF+2\r03750         FDB PAREN-CFAOFF\r03760  FDB SLASH-CFAOFF\r03770 ADD      PULU D\r03780    ADDTOP\r03810 *\r03820    FCC '-'\r03830   FCB 1\r03840     FCB MFORE\r03850         FDB ADD-CFAOFF\r03860    FDB BIF+2\r03870         FDB 0\r03880     FDB 0\r03890 SUB LDD 2,U\r03900   SUBD ,U++\r03910         STD ,U\r03920    NEXT\r03930 *\r03940      FCC 'D+'\r03950  FCB 2\r03960     FCB MFORE\r03970         FDB SUB-CFAOFF\r03980    FDB BIF+2\r03990         FDB CONST-CFAOFF\r04000  FDB DABS-CFAOFF\r04010 DADD      LDD 6,U\r04020   ADDD 2,U\r04030  STD 6,U\r04040   LDD 4,U\r04050   ADCB 1,U\r04060  ADCA ,U\r04070   LEAU 4,U\r04080  STD ,U\r04090    NEXT\r04100 *\r04120      FCC 'D-'\r04130  FCB 2\r04140     FCB MFORE\r04150         FDB DADD-CFAOFF\r04160   FDB BIF+2\r04170         FDB DCHS-CFAOFF\r04180   FDB DDOT-CFAOFF\r04190 DSUB      LDD 6,U\r04200   SUBD 2,U\r04210  STD 6,U\r04220   LDD 4,U\r04230   SBCB 1,U\r04240  SBCA ,U\r04250   LEAU 4,U\r04260  STD ,U\r04270    NEXT\r04280 *\r04290      FCC 'MINUS'\r04300       FCB 5\r04310     FCB MFORE\r04320         FDB DSUB-CFAOFF\r04330   FDB BIF+2\r04340         FDB 0\r04350     FDB MOD-CFAOFF\r04360 MINUS      LDD #0\r04370    SUBD ,U\r04380   STD ,U\r04390    NEXT\r04400 *\r04410      FCC 'DMINUS'\r04420      FCB 6\r04430     FCB MFORE\r04440         FDB MINUS-CFAOFF\r04450  FDB BIF+2\r04460         FDB 0\r04470     FDB 0\r04480 DMINUS      LDD #0\r04490    SUBD 2,U\r04500  STD 2,U\r04510   LDD #0\r04520    SBCB 1,U\r04530  SBCA ,U\r04570   STD ,U\r04580    NEXT\r04590 *\r04600      FCC 'OVER'\r04610        FCB 4\r04620     FCB MFORE\r04630         FDB DMINUS-CFAOFF\r04640         FDB BIF+2\r04650         FDB OR-CFAOFF\r04660     FDB PFA-CFAOFF\r04670 OVER       LDD 2,U\r04680   PSHU D\r04690    NEXT\r04700 *\r04710      FCC 'DROP'\r04720        FCB 4\r04730     FCB MFORE\r04740         FDB OVER-CFAOFF\r04750   FDB BIF+2\r04760         FDB DPL-CFAOFF\r04770    FDB EMIT-CFAOFF\r04780 DROP      LEAU 2,U\r04790  NEXT\r04800 *\r04810      FCC 'SWAP'\r04820        FCB 4\r04830     FCB MFORE\r04840         FDB DROP-CFAOFF\r04850   FDB BIF+2\r04860         FDB ROT-CFAOFF\r04870    FDB VAR-CFAOFF\r04880 SWAP       PULU D,X\r04890  PSHU D\r04900    PSHU X\r04910    NEXT\r04920 *\r04930      FCC 'DUP'\r04940         FCB 3\r04940     FCB MFORE\r04950         FDB SWAP-CFAOFF\r04960   FDB BIF+2\r04970         FDB 0 * DUMP-CFAOFF\r04980       FDB ELSE-CFAOFF\r04990 DUP       LDD ,U\r05000    PSHU D\r05010    NEXT\r05020 *\r05030      FCC '+!'\r05040  FCB 2\r05050     FCB MFORE\r05060         FDB DUP-CFAOFF\r05070    FDB BIF+2\r05080         FDB 0\r05090     FDB 0\r05100 ADDSTO      PULU X\r05110    LDD ,X\r05120    ADDD ,U++\r05130         STD ,X\r05140    NEXT\r05150 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05160      FCC 'TOGGLE'\r05170      FCB 6\r05180     FCB MFORE\r05190         FDB ADDSTO-CFAOFF\r05200         FDB BIF+2\r05210         FDB TIB-CFAOFF\r05220    FDB TYPE-CFAOFF\r05230 TOG       PULU D,X\r05240  EORB ,X\r05250   STB ,X\r05260    NEXT\r05270 *\r05280      FCC 'C@'\r05290  FCB 2\r05300     FCB MFORE\r05310         FDB TOG-CFAOFF\r05320    FDB BIF+2\r05330         FDB BUFFER-CFAOFF\r05340         FDB DADD-CFAOFF\r05350 CFEH      LDB [,U]\r05360  CLRA\r05370      STD ,U\r05380    NEXT\r05390 *\r05400      FCC 'C!'\r05410  FCB 2\r05420     FCB MFORE\r05430         FDB CFEH-CFAOFF\r05440   FDB BIF+2\r05450         FDB 0\r05460     FDB 0\r05470 CSTO        LDB 3,U\r05480   STB [,U]\r05490  LEAU 4,U\r05500  NEXT\r05510 *\r05520      FCC 'ROT'\r05530         FCB 3\r05540     FCB MFORE\r05550         FDB CSTO-CFAOFF\r05560   FDB BIF+2\r05570         FDB RFROM-CFAOFF\r05580  FDB SMUDGE-CFAOFF\r05590 ROT     PSHS Y\r05600    PULU D,X,Y\r05610        PSHU D,X\r05620  PSHU Y\r05630    PULS Y\r05640    NEXT\r05650 *\r05660      FCC 'BACK' back ref\r05670       FCB MCOMP.OR.4\r05680    FCB MFORE\r05690         FDB ROT-CFAOFF\r05700    FDB BIF+2\r05710         FDB BPBUF-CFAOFF\r05720  FDB BEGIN-CFAOFF\r05730 BACK     LDX <UP\r05740   PULU D target\r05750     SUBD UDP,X here\r05755   SUBD #2 past\r05760      PSHU D\r05770    JMP COMMA\r05780 *\r05800         FCC 'NOT'\r05810         FCB 3\r05820     FCB MFORE\r05830         FDB BACK-CFAOFF\r05840   FDB BIF+2\r05850         FDB NDOT-CFAOFF\r05860   FDB 0\r05870 NOT LDD ,U\r05880    COMB\r05890      COMA\r05900      STD ,U\r05910    NEXT\r05920 *\r05990      FCC /'/\r06000   FCB MIMM.OR.1\r06010     FCB MFORE\r06020         FDB NOT-CFAOFF\r06030    FDB BIF+2\r06040         FDB HASHS-CFAOFF\r06050  FDB 0\r06055 * ' see fig-FORTH model\r06060 TICK  DOCOL\r06070     FDB DDFIND\r06080        FDB DROP\r06090  FDB DUP\r06100   FDB ZEQ\r06110   FDB ZERO\r06120  FDB QERR\r06130  FDB LITER\r06140         FDB SEMIS\r06150 *\r07000         FCC '-->'\r07010         FCB MIMM.OR.3\r07020     FCB MFORE\r07030         FDB TICK-CFAOFF\r07040   FDB BIF+2\r07050         FDB PLOOP-CFAOFF\r07060  FDB DOT-CFAOFF\r07065 * --> see fig-FORTH model\r07070 NEXSCR     DOCOL\r07080     FDB QLOAD\r07090         FDB ZERO\r07100  FDB IN\r07110    FDB STORE\r07120         FDB BPSCR\r07130         FDB BLK\r07140   FDB FETCH\r07150         FDB OVER\r07160  FDB MOD remaining in screen\r07170       FDB SUB\r07180   FDB BLK\r07190   FDB ADDSTO to next\r07200        FDB SEMIS\r07290 *\r07300         FCC '1ARRAY'\r07310      FCB 6\r07320     FCB MFORE\r07330         FDB NEXSCR-CFAOFF\r07340         FDB BIF+2\r07350         FDB SUB1-CFAOFF\r07360   FDB TBR-CFAOFF\r07370 ONEARR     DOCOL\r07380     FDB CREATE\r07390        FDB IPCOM\r07400         DO1ARR\r07410    FDB XMACH\r07415         LDX ,U\r07420    CMPX #255       0<el-size<256\r07430     BLS ONEARW\r07440 ONEARE LDD #$0D\r07450  PSHU D\r07460    LBRA ERROR\r07470 ONEARW LDD 4,U         swap\r07480      STD ,U\r07490    STX 4,U\r07500   LDD 2,U         last\r07510      SUBD ,U         first\r07520     BLT ONEARE      real dimension?\r07530   ADDD #1 element count\r07540     STD 2,U\r07550   PSHU D,X\r07560  DOCOL\r07570     FDB USTAR\r07580         FDB LIT overflow?\r07590         FDB $0D\r07600   FDB QERR\r07610  FDB TOR byte count\r07620        FDB COMMA       base\r07630      FDB COMMA       width\r07640     FDB CCOMMA      element size\r07650      FDB RFROM\r07660         FDB ALLOT\r07670         FDB SMUDGE\r07680        FDB SEMIS\r07690 *\r07700         FCC 'UTILITIES'\r07710   FCB MIMM.OR.9\r07720     FCB MFORE\r07730         FDB ONEARR-CFAOFF\r07740         FDB BIF+2\r07750         FDB 0\r07760     FDB 0\r07770 UTIL        DOVOC\r07780     FDB DPFEH-CFAOFF\r07890 *\r07900  FCC 'DP@'\r07910         FCB 3\r07920     FCB MFORE\r07930         FDB UTIL-CFAOFF\r07940   FDB UTIL+2\r07950        FDB 0\r07960     FDB 0\r07970 DPFEH       TFR DP,A\r07980  CLRB\r07990      PSHU D\r07992    NEXT\r07994 *\r08000      FCC 'DCONSTANT'\r08010   FCB 9\r08020     FCB MFORE\r08030         FDB DPFEH-CFAOFF\r08040  FDB BIF+2\r08050         FDB 0\r08060     FDB 0\r08070 DCON        DOCOL\r08080     FDB CREATE\r08090        FDB IPCOM\r08100         JSR <XDCON\r08110        FDB COMMA\r08120         FDB COMMA\r08130         FDB SMUDGE\r08140        FDB SEMIS\r08390 *\r08300         FCC 'SWAB'\r08310        FCB 4\r08320     FCB MFORE\r08330         FDB DCON-CFAOFF\r08340   FDB BIF+2\r08350         FDB 0\r08360     FDB SWAN-CFAOFF\r08370 SWAB      LDD ,U\r08380    STB ,U  LS byte\r08390   STA 1,U MS byte\r08400   NEXT\r08490 *\r08500      FCC 'SWAN'\r08510        FCB 4\r08520     FCB MFORE\r08530         FDB SWAB-CFAOFF\r08540   FDB BIF+2\r08550         FDB 0\r08560     FDB 0\r08570 SWAN        LDA 1,U\r08580   LDB 1,U\r08590   LSRA\r08600      RORB\r08610      LSRA\r08620      RORB\r08630      LSRA\r08640      RORB\r08650      LSRA\r08660      RORB\r08670      STB 1,U\r08680   LDA ,U\r08690    LDB ,U\r08700    LSRA\r08710      RORB\r08720      LSRA\r08730      RORB\r08740      LSRA\r08750      RORB\r08760      LSRA\r08770      RORB\r08780      STB ,U\r08790    NEXT\r08890 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000   FCC '1+'\r01010  FCB 2\r01020     FCB MFORE\r01030         FDB SWAN-CFAOFF\r01040   FDB BIF+2\r01050         FDB ZLESS-CFAOFF\r01060  FDB ADD2-CFAOFF\r01070 ADD1      LDD #1\r01080    ADDTOP\r01110 *\r01120    FCC '1-'\r01130  FCB 2\r01140     FCB MFORE\r01150         FDB ADD1-CFAOFF\r01160   FDB BIF+2\r01170         FDB 0\r01180     FDB 0\r01190 SUB1        LDD #-1\r01200   ADDTOP\r01230 *\r01240    FCC '2+'\r01250  FCB 2\r01260     FCB MFORE\r01270         FDB SUB1-CFAOFF\r01280   FDB BIF+2\r01290         FDB TWO-CFAOFF\r01300    FDB RSHIFT-CFAOFF\r01310 ADD2    LDD #2\r01320    ADDTOP\r01330 *\r01340    FCC '2-'\r01350  FCB 2\r01360     FCB MFORE\r01370         FDB ADD2-CFAOFF\r01380   FDB BIF+2\r01390         FDB 0\r01400     FDB 0\r01410 SUB2        LDD #-2\r01420   ADDTOP\r01430 *\r01440    FCC '0'\r01450   FCB 1\r01460     FCB MFORE\r01470         FDB SUB2-CFAOFF\r01480   FDB BIF+2\r01490         FDB SLAMOD-CFAOFF\r01500         FDB INULL-CFAOFF\r01510 ZERO     LDD #0\r01520    PSHU D\r01530    NEXT\r01540 *\r01550      FCC '1'\r01560   FCB 1\r01570     FCB MFORE\r01580         FDB ZERO-CFAOFF\r01590   FDB BIF+2\r01600         FDB ZBR-CFAOFF\r01610    FDB 0\r01620 ONE LDD #1\r01630    PSHU D\r01640    NEXT\r01650 *\r01660      FCC '-1'\r01670  FCB 2\r01680     FCB MFORE\r01690         FDB ONE-CFAOFF\r01700    FDB BIF+2\r01710         FDB 0\r01720     FDB DDFIND-CFAOFF\r01730 MONE    LDD #-1\r01740   PSHU D\r01750    NEXT\r01760 *\r01770      FCC '2'\r01780   FCB 1\r01790     FCB MFORE\r01800         FDB MONE-CFAOFF\r01810   FDB BIF+2\r01820         FDB ONEARR-CFAOFF\r01830         FDB LSHIFT-CFAOFF\r01840 TWO     DOCON\r01850     FDB 2\r01860 *\r01870     FCC '3'\r01880   FCB 1\r01890     FCB MFORE\r01895         FDB TWO-CFAOFF\r01900    FDB BIF+2\r01910         FDB 0\r01920     FDB 0\r01930 THREE       DOCON\r01940     FDB 3\r01950 *\r01960     FCC 'BL'\r01970  FCB 2\r01980     FCB MFORE\r01990         FDB THREE-CFAOFF\r02000  FDB BIF+2\r02010         FDB 0\r02020     FDB 0\r02030 BL  DOCON\r02040     FDB $20 ascii SP\r02050 *\r02060  FCC 'C/L'\r02070         FCB 3\r02080     FCB MFORE\r02090         FDB BL-CFAOFF\r02100     FDB BIF+2\r02110         FDB 0\r02120     FDB 0\r02130 CPERL       DOUCON\r02140    FCB UCOLUM\r02170 *\r02180        FCC 'FIRST'\r02190       FCB 5\r02200     FCB MFORE\r02210         FDB CPERL-CFAOFF\r02220  FDB BIF+2\r02230         FDB 0\r02240     FDB FLD-CFAOFF\r02250 FIRST      DOUCON\r02260    FCB UFIRST\r02290 *\r02300        FCC 'LIMIT'\r02310       FCB 5\r02320     FCB MFORE\r02330         FDB FIRST-CFAOFF\r02340  FDB BIF+2\r02350         FDB LEAVE-CFAOFF\r02360  FDB LITER-CFAOFF\r02370 LIMIT    DOUCON\r02380    FCB ULIMIT\r02400 *\r02410 BWID   EQU 256 bytes\r02420     FCC 'B/BUF'\r02430       FCB 5\r02440     FCB MFORE\r02450         FDB LIMIT-CFAOFF\r02460  FDB BIF+2\r02470         FDB ASMBLR-CFAOFF\r02480         FDB BPSCR-CFAOFF\r02490 BPBUF    DOCON\r02500     FDB BWID\r02510 *\r02520 BCT      EQU 4 buffers\r02520     FCC 'B/SCR'\r02530       FCB 5\r02540     FCB MFORE\r02550         FDB BPBUF-CFAOFF\r02560  FDB BIF+2\r02570         FDB 0\r02580     FDB 0\r02590 BPSCR       DOCON\r02600     FDB BCT\r02610 *\r02620   FCC '+ORIGIN'\r02630     FCB 7\r02640     FCB MFORE\r02650         FDB BPSCR-CFAOFF\r02660  FDB BIF+2\r02670         FDB 0\r02680     FDB 0\r02690 PORIG       LDD #ORIG\r02700         LBRA ADD+2\r02710 *\r02715 * some USER vars hidden\r02720 * fig-FORTH USER vars not present:\r02722 * WIDTH VOC-LINK CONTEXT CURRENT\r02724 *\r02730  FCC 'TIB'\r02740         FCB 3\r02750     FCB MFORE\r02760         FDB PORIG-CFAOFF\r02770  FDB BIF+2\r02780         FDB 0\r02790     FDB 0\r02800 TIB DOUSER\r02810    FCB UTIB\r02820 *\r02930  FCC 'WARNING'\r02940     FCB 7\r02950     FCB MFORE\r02960         FDB TIB-CFAOFF\r02970    FDB BIF+2\r02980         FDB 0\r02990     FDB 0\r03000 WARN        DOUSER\r03010    FCB UWARN\r03020 *\r03030         FCC 'FENCE'\r03040       FCB 5\r03050     FCB MFORE\r03060         FDB WARN-CFAOFF\r03070   FDB BIF+2\r03080         FDB 0\r03090     FDB 0\r03100 FENCE       DOUSER\r03110    FCB UFENCE\r03120 *\r03130        FCC 'DP'\r03140  FCB 2\r03150     FCB MFORE\r03160         FDB FENCE-CFAOFF\r03170  FDB BIF+2\r03180         FDB DOES-CFAOFF\r03190   FDB 0\r03200 DPC DOUSER\r03210    FCB UDP\r03220 *\r03230   FCC 'ROOT'\r03240        FCB 4\r03250     FCB MFORE\r03260         FDB DPC-CFAOFF\r03270    FDB BIF+2\r03280         FDB 0\r03290     FDB 0\r03300 ROOT        DOUSER  not fig\r03310   FCB UROOT\r03320 *\r03330         FCC 'BLK'\r03340         FCB 3\r03350     FCB MFORE\r03360         FDB ROOT-CFAOFF\r03370   FDB BIF+2\r03380         FDB BLANKS-CFAOFF\r03390         FDB BLOCK-CFAOFF\r03400 BLK      DOUSER\r03410    FCB UBLK\r03420 *\r03430  FCC 'IN'\r03440  FCB 2\r03450     FCB MFORE\r03460         FDB BLK-CFAOFF\r03470    FDB BIF+2\r03480         FDB IMMED-CFAOFF\r03490  FDB INTERP-CFAOFF\r03500 IN      DOUSER\r03510    FCB UIN\r03520 *\r03530   FCC 'OUT'\r03540         FCB 3\r03550     FCB MFORE\r03560         FDB IN-CFAOFF\r03570     FDB BIF+2\r03580         FDB 0\r03590     FDB 0\r03600 OUT DOUSER\r03610    FCB UOUT\r03620 *\r03630  FCC 'SCR'\r03640         FCB 3\r03650     FCB MFORE\r03660         FDB OUT-CFAOFF\r03670    FDB BIF+2\r03680         FDB 0\r03690     FDB 0\r03700 SCR DOUSER\r03710    FCB USCR\r03720 *\r03730  FCC 'OFFSET'\r03740      FCB 6\r03750     FCB MFORE\r03760         FDB SCR-CFAOFF\r03770    FDB BIF+2\r03780         FDB 0\r03790     FDB 0\r03800 OFFSET      DOUSER\r03810    FCB UOFFS\r03820 *\r03830         FCC 'STATE'\r03840       FCB 5\r03850     FCB MFORE\r03860         FDB OFFSET-CFAOFF\r03870         FDB BIF+2\r03880         FDB SPACES-CFAOFF\r03890         FDB SWAB-CFAOFF\r03900 STATE     DOUSER\r03910    FCB USTATE\r03920 *\r03930        FCC 'BASE'\r03940        FCB 4\r03950     FCB MFORE\r03960         FDB STATE-CFAOFF\r03970  FDB BIF+2\r03980         FDB 0\r03990     FDB 0\r04000 BASE        DOUSER\r04010    FCB UBASE\r04020 *\r04030         FCC 'DPL'\r04040         FCB 3\r04050     FCB MFORE\r04060         FDB BASE-CFAOFF\r04070   FDB BIF+2\r04080         FDB DPC-CFAOFF\r04090    FDB DROFFS-CFAOFF\r04100 DPL     DOUSER\r04110    FCB UDPL\r04120 *\r04130  FCC 'FLD'\r04140         FCB 3\r04150     FCB MFORE\r04160         FDB DPL-CFAOFF\r04170    FDB BIF+2\r04180         FDB 0\r04190     FDB 0\r04200 FLD DOUSER\r04210    FCB UFLD\r04220 *\r04230  FCC 'CSP'\r04240         FCB 3\r04250     FCB MFORE\r04260         FDB FLD-CFAOFF\r04270    FDB BIF+2\r04280         FDB 0\r04290     FDB CURR-CFAOFF\r04300 CSP       DOUSER\r04310    FCB UCSP\r04320 *\r04330  FCC 'R#'\r04340  FCB 2\r04350     FCB MFORE\r04360         FDB CSP-CFAOFF\r04370    FDB BIF+2\r04380         FDB 0\r04390     FDB RW-CFAOFF\r04400 RNUM        DOUSER\r04410    FCB URNUM\r04420 *\r04430         FCC 'HLD'\r04440         FCB 3\r04450     FCB MFORE\r04460         FDB RNUM-CFAOFF\r04470   FDB BIF+2\r04480         FDB HEX-CFAOFF\r04490    FDB HOLD-CFAOFF\r04500 HLD       DOUSER\r04510    FCB UHLD\r04520 *\r04530  FCC 'FOREWARD'\r04540    FCB 8\r04550     FCB MFORE\r04560         FDB HLD-CFAOFF\r04570    FDB BIF+2\r04580         FDB 0\r04590     FDB 0\r04600 FORE        DOUSER  not fig\r04610   FCB UFORE\r04620 *\r04630         FCC 'CURRENT'\r04640     FCB 7\r04650     FCB MFORE\r04660         FDB FORE-CFAOFF\r04670   FDB BIF+2\r04680         FDB 0\r04690     FDB 0\r04700 CURR        DOUSER  not fig\r04710   FCB UCURR\r04720 *\r04730         FCC 'PREV'\r04740        FCB 4\r04750     FCB MFORE\r04760         FDB CURR-CFAOFF\r04770   FDB BIF+2\r04780         FDB 0\r04790     FDB 0\r04800 PREV        DOUSER  moved\r04810     FCB UPREV\r04820 *\r04830         FCC 'USE'\r04840         FCB 3\r04850     FCB MFORE\r04860         FDB PREV-CFAOFF\r04870   FDB BIF+2\r04880         FDB 0\r04890     FDB 0\r04900 USE DOUSER  moved\r04910     FCB UUSE\r04920 *\r04930  FCC 'DROOT'\r04940       FCB 5\r04950     FCB MFORE\r04960         FDB USE-CFAOFF\r04970    FDB BIF+2\r04980         FDB 0\r04990     FDB 0\r05000 DROOT       DOUSER  not fig\r05010   FCB UDROOT\r05020 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05030        FCC 'HERE'\r05040        FCB 4\r05050     FCB MFORE\r05060         FDB DROOT-CFAOFF\r05070  FDB BIF+2\r05080         FDB FOREMK-CFAOFF\r05090         FDB I-CFAOFF\r05100 HERE LDX <UP\r05110   LDD UDP,X\r05120         PSHU D\r05122 HERERR     LDX <UP\r05124   CMPU UDP,X\r05128        BLS ALLERR\r05130        NEXT\r05132 ALLERR       LDD #2\r05134    PSHU D\r05136    JMP ERROR\r05140 *\r05150         FCC 'ALLOT'\r05160       FCB 5\r05170     FCB MFORE\r05180         FDB HERE-CFAOFF\r05190   FDB BIF+2\r05200         FDB AGAIN-CFAOFF\r05210  FDB 0\r05220 ALLOT       LDX <UP\r05222   LDD UDP,X\r05223         BMI ALLERR\r05224        ADDD ,U++\r05226         STD UDP,X\r05228         BRA HERERR\r05230 *\r05238        FCC ','\r05240   FCB 1\r05250     FCB MFORE\r05260         FDB ALLOT-CFAOFF\r05270  FDB BIF+2\r05280         FDB PORIG-CFAOFF\r05290  FDB SUB-CFAOFF\r05300 COMMA      PULU D allocate and store\r05310         PSHS Y\r05320    LDY <UP\r05330   LDX UDP,Y\r05340         STD ,X++\r05350 COMSTO   STX UDP,Y\r05360         PULS Y\r05375    BRA HERERR\r05380 *\r05390        FCC 'C,'\r05400  FCB 2\r05410     FCB MFORE\r05420         FDB COMMA-CFAOFF\r05430  FDB BIF+2\r05440         FDB CSTO-CFAOFF\r05450   FDB CPERL-CFAOFF\r05460 CCOMMA   PULU D\r05470    PSHS Y\r05480    LDY <UP\r05490   LDX UDP,Y\r05500         STB ,X+\r05510   BRA COMSTO\r05520 *\r05530        FCC 'SPACE'\r05540       FCB 5\r05550     FCB MFORE\r05560         FDB CCOMMA-CFAOFF\r05570         FDB BIF+2\r05580         FDB SPFEH-CFAOFF\r05590  FDB STATE-CFAOFF\r05600 SPACE    LDB BL+3,PCR\r05610      LBRA EMIT+2\r05620 *\r05630       FCC '-DUP'\r05640        FCB 4\r05650     FCB MFORE\r05660         FDB SPACE-CFAOFF\r05670  FDB BIF+2\r05680         FDB MONE-CFAOFF\r05690   FDB DTRAIL-CFAOFF\r05700 DDUP    LDD ,U\r05710    BEQ *+4\r05720   PSHU D\r05730    NEXT\r05740 *\r05750      FCC '?CST'\r05760        FCB 4\r05770     FCB MFORE\r05780         FDB DDUP-CFAOFF\r05790   FDB BIF+2\r05800         FDB QCSP-CFAOFF\r05810   FDB QERR-CFAOFF\r05820 QCST      LDX <UP\r05830   LDB USTATE+1,X\r05840    ANDB #SCOMP\r05850       CLRA\r05860      PSHU D\r05870    NEXT\r05890 *\r05900      FCC 'IF'\r05910  FCB MIMM.OR.MCOMP.OR.2\r05920    FCB MFORE\r05930         FDB QCST-CFAOFF\r05940   FDB BIF+2\r05950         FDB DO-CFAOFF\r05960     FDB QUERY-CFAOFF\r05965 * IF see fig-FORTH model\r05970 IF        DOCOL\r05980     FDB COMP\r05990  FDB ZBR\r06000   FDB HERE adr\r06010      FDB ZERO\r06020  FDB COMMA\r06030         FDB LIT\r06040   FDB ('I)*256+'F\r06060   FDB SEMIS\r06090 *\r06100         FCC 'ELSE'\r06110        FCB MIMM.OR.MCOMP.OR.4\r06120    FCB MFORE\r06130         FDB IF-CFAOFF\r06140     FDB BIF+2\r06150         FDB EDITOR-CFAOFF\r06160         FDB 0\r06170 ELSE        DOCOL\r06172     FDB DUP\r06173   FDB LIT\r06175   FDB ('I)*256+'F\r06178   FDB QPAIRS\r06180        FDB COMP\r06190  FDB BRANCH\r06200        FDB HERE adr\r06205      FDB ZERO\r06210  FDB COMMA\r06220         FDB ROT\r06230   FDB FILLIN IF adr\r06250         FDB SWAP for ENDIF\r06260        FDB SEMIS\r06290 *\r06300         FCC 'ENDIF'\r06310       FCB MIMM.OR.MCOMP.OR.5\r06320    FCB MFORE\r06330         FDB ELSE-CFAOFF\r06340   FDB BIF+2\r06350         FDB DROP-CFAOFF\r06360   FDB FIND-CFAOFF\r06370 ENDIF     DOCOL\r06380     FDB QCOMP\r06390         FDB LIT\r06400   FDB ('I)*256+'F\r06410   FDB QPAIRS\r06420        FDB FILLIN\r06470        FDB SEMIS\r06490 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000       FCC 'LATEST'\r01010      FCB 6\r01020     FCB MFORE\r01030         FDB ENDIF-CFAOFF\r01040  FDB BIF+2\r01050         FDB 0\r01060     FDB 0\r01070 LATEST      DOUCON  not ROOT!\r01080         FCB UCURR NFA\r01110 *\r01115 * convert NFA to LFA,CFA,GFA,PFA\r01120      FCC 'LFA'\r01130         FCB 3\r01140     FCB MFORE\r01150         FDB LATEST-CFAOFF\r01160         FDB BIF+2\r01170         FDB 0\r01180     FDB 0\r01190 LFA LDB #LFAOFF\r01200       BRA CFA+2\r01210 *\r01220         FCC 'CFA'\r01230         FCB 3\r01240     FCB MFORE\r01250         FDB LFA-CFAOFF\r01260    FDB BIF+2\r01270         FDB 0\r01280     FDB 0\r01290 CFA LDB #CFAOFF\r01292       SEX\r01294       ADDD ,U\r01296   STD ,U\r01300    NEXT\r01310 *\r01320      FCC 'GFA'\r01330         FCB 3\r01340     FCB MFORE\r01350         FDB CFA-CFAOFF\r01360    FDB BIF+2\r01370         FDB 0\r01380     FDB 0\r01390 GFA LDB #GFAOFF\r01400       BRA CFA+2\r01410 *\r01420         FCC 'PFA'\r01430         FCB 3\r01440     FCB MFORE\r01450         FDB GFA-CFAOFF\r01460    FDB BIF+2\r01470         FDB PAD-CFAOFF\r01480    FDB PREV-CFAOFF\r01490 PFA       LDB #PFAOFF\r01500       BRA CFA+2\r01510 *\r01515 * PFA to NFA\r01520      FCC 'NFA'\r01530         FCB 3\r01540     FCB MFORE\r01550         FDB PFA-CFAOFF\r01560    FDB BIF+2\r01570         FDB NCOMMA-CFAOFF\r01580         FDB NOT-CFAOFF\r01590 NFA        LDB #-PFAOFF\r01600      BRA CFA+2\r01610 *\r01620         FCC '!CSP'\r01630        FCB 4\r01640     FCB MFORE\r01650         FDB NFA-CFAOFF\r01660    FDB BIF+2\r01670         FDB 0\r01680     FDB HASH-CFAOFF\r01690 STOCSP    LDX <UP\r01700   STU UCSP,X\r01710        NEXT\r01720 *\r01730      FCC 'HEX'\r01740         FCB 3\r01750     FCB MFORE\r01760         FDB STOCSP-CFAOFF\r01770         FDB BIF+2\r01780         FDB 0\r01790     FDB 0\r01800 HEX LDB #16\r01810   CLRA\r01820      LDX <UP\r01830   STD UBASE,X\r01840       NEXT\r01850 *\r01860      FCC 'DECIMAL'\r01870     FCB 7\r01880     FCB MFORE\r01890         FDB HEX-CFAOFF\r01900    FDB BIF+2\r01910         FDB DAD-CFAOFF\r01920    FDB DEFS-CFAOFF\r01930 DEC       LDB #10\r01940   BRA HEX+2\r01950 *\r01960         FCC 'OCTAL'\r01970       FCB 5\r01980     FCB MFORE\r01990         FDB DEC-CFAOFF\r02000    FDB BIF+2\r02010         FDB 0\r02020     FDB OFFSET-CFAOFF\r02030 OCT     LDB #8\r02040    BRA HEX+2\r02050 *\r02060         FCC 'FILL'\r02070        FCB 4\r02080     FCB MFORE\r02090         FDB OCT-CFAOFF\r02100    FDB BIF+2\r02110         FDB FENCE-CFAOFF\r02120  FDB FILLIN-CFAOFF\r02130 FILL    PSHS Y\r02140    PULU D,X,Y\r02150        STB ,Y+\r02160   LEAX -1,X\r02170         BNE *-4\r02180   PULS Y\r02190    NEXT\r02200 *\r02210      FCC 'ERASE'\r02220       FCB 5\r02230     FCB MFORE\r02240         FDB FILL-CFAOFF\r02250   FDB BIF+2\r02260         FDB 0\r02270     FDB 0\r02280 ERASE       LDB #0\r02290    PSHU D\r02300    BRA FILL\r02310 *\r02320  FCC 'BLANKS'\r02330      FCB 6\r02340     FCB MFORE\r02350         FDB ERASE-CFAOFF\r02360  FDB BIF+2\r02370         FDB BL-CFAOFF\r02380     FDB 0\r02390 BLANKS      LDB #$20 ascii SP\r02400         PSHU D\r02410    BRA FILL\r02420 *\r02430  FCC 'HOLD'\r02440        FCB 4\r02450     FCB MFORE\r02460         FDB BLANKS-CFAOFF\r02470         FDB BIF+2\r02480         FDB 0\r02490     FDB 0\r02500 HOLD        PULU D CH\r02510         PSHS Y\r02520    LDY <UP\r02530   LDX UHLD,Y\r02540        STB ,-X\r02550   STX UHLD,Y\r02555        PULS Y\r02560    NEXT\r02570 *\r02580      FCC 'PAD'\r02590         FCB 3\r02600     FCB MFORE\r02610         FDB HOLD-CFAOFF\r02620   FDB BIF+2\r02630         FDB 0\r02640     FDB 0\r02650 PAD DOUCON  moved!\r02660    FCB UPAD\r02700 *\r02710  FCC 'S->D'\r02720        FCB 4\r02730     FCB MFORE\r02740         FDB PAD-CFAOFF\r02750    FDB BIF+2\r02760         FDB RPSTO-CFAOFF\r02770  FDB SIGN-CFAOFF\r02780 STOD      LEAU -2,U\r02790         LDD 2,U\r02795   LBRA ZLESS+2\r02800 *\r02810      FCC '+-'\r02820  FCB 2\r02830     FCB MFORE\r02840         FDB STOD-CFAOFF\r02850   FDB BIF+2\r02860         FDB ADDSTO-CFAOFF\r02870         FDB ADDBUF-CFAOFF\r02880 CHS     LDD ,U++\r02890  LBMI MINUS\r02895        NEXT\r02900 *\r02910      FCC 'D+-'\r02920         FCB 3\r02930     FCB MFORE\r02940         FDB STOD-CFAOFF\r02950   FDB BIF+2\r02960         FDB 0\r02970     FDB 0\r02980 DCHS        LDD ,U++\r02990  LBMI DMINUS\r02995       NEXT\r03000 *\r03010      FCC 'ABS'\r03020         FCB 3\r03030     FCB MFORE\r03040         FDB DCHS-CFAOFF\r03050   FDB BIF+2\r03060         FDB ABORT-CFAOFF\r03070  FDB ALLOT-CFAOFF\r03080 ABS      LDD ,U\r03090    LBMI MINUS\r03095        NEXT\r03100 *\r03110      FCC 'DABS'\r03120        FCB 4\r03130     FCB MFORE\r03140         FDB ABS-CFAOFF\r03150    FDB BIF+2\r03160         FDB DSUB-CFAOFF\r03170   FDB DIGIT-CFAOFF\r03180 DABS     LDD ,U\r03190    LBMI DMINUS\r03195       NEXT\r03200 *\r03210      FCC 'MIN'\r03220         FCB 3\r03230     FCB MFORE\r03240         FDB DABS-CFAOFF\r03250   FDB BIF+2\r03260         FDB MSMOD-CFAOFF\r03270  FDB MOVE-CFAOFF\r03280 MIN       PULU D\r03284    CMPD ,U\r03288   BGE *+4\r03290   STD ,U\r03295    NEXT\r03300 *\r03310      FCC 'MAX'\r03320         FCB 3\r03330     FCB MFORE\r03340         FDB MIN-CFAOFF\r03350    FDB BIF+2\r03360         FDB 0\r03370     FDB 0\r03380 MAX PULU D\r03384    CMPD ,U\r03388   BLE *+4\r03390   STD ,U\r03395    NEXT\r03400 *\r03410      FCC '['\r03412   FCB MIMM|1\r03414        FCB MFORE\r03416         FDB MAX-CFAOFF\r03418    FDB BIF+2\r03420         FDB XOR-CFAOFF\r03422    FDB 0\r03430 LBRAK       LDB #.NOT.SCOMP\r03435   LDX <UP\r03440   ANDB USTATE+1,X\r03445   STB USTATE+1,X\r03450    NEXT\r03500 *\r03510      FCC ']'\r03512   FCB 1\r03514     FCB MFORE\r03516         FDB LBRAK-CFAOFF\r03518  FDB BIF+2\r03520         FDB 0\r03522     FDB 0\r03530 RBRAK       LDB #SCOMP\r03535        LDX <UP\r03540   ORB USTATE+1,X\r03545    STB USTATE+1,X\r03550    NEXT\r03555 *\r03560      FCC 'IMMEDIATE'\r03562   FCB 9\r03564     FCB MFORE\r03566         FDB RBRAK-CFAOFF\r03568  FDB BIF+2\r03570         FDB 0\r03572     FDB 0\r03580 IMMED       LDB #MIMM\r03585         BRA SMUDGE+2\r03600 *\r03610      FCC 'SMUDGE'\r03612      FCB 6\r03614     FCB MFORE\r03616         FDB IMMED-CFAOFF\r03618  FDB BIF+2\r03620         FDB STOD-CFAOFF\r03622   FDB SPACE-CFAOFF\r03630 SMUDGE   LDB #MHID\r03635         LDX <UP\r03645   EORB [UCURR,X]\r03650    STB [UCURR,X]\r03655     NEXT\r03657 *\r03660      FCC 'COMPILE-ONLY'\r03662        FCB 12\r03664    FCB MFORE\r03666         FDB SMUDGE-CFAOFF\r03668         FDB BIF+2\r03670         FDB 0\r03672     FDB 0\r03680 COMPO       LDB #MCOMP\r03685        BRA SMUDGE+2\r03800 *\r03810      FCC 'COUNT'\r03812       FCB 5\r03814     FCB MFORE\r03816         FDB COMPO-CFAOFF\r03818  FDB BIF+2\r03820         FDB 0\r03822     FDB 0\r03830 COUNT       LDX ,U CT OF STR\r03835  LDB ,X+\r03840   STX ,U STRING\r03845     CLRA\r03850      PSHU D COUNT\r03855      NEXT\r03900 *\r03910      FCC '-TRAILING'\r03912   FCB 9\r03914     FCB MFORE\r03916         FDB COUNT-CFAOFF\r03918  FDB BIF+2\r03920         FDB DIFIND-CFAOFF\r03922         FDB 0\r03930 DTRAIL      LDD ,U\r03935    LDX 2,U\r03940   LEAX D,X END\r03945      LDA #$20 ascii SP\r03950 DTRAL   CMPA ,-X\r03955  BNE DTRAD\r03960         CMPX 2,U\r03965  BHS DTRAL\r03970 DTRAD TFR X,D\r03975     SUBD 2,U\r03980  ADDD #1\r03985   STD ,U\r03990    NEXT\r04000 *\r04010      FCC '(MACHINE)'\r04012   FCB MCOMP|9\r04014       FCB MFORE\r04016         FDB DTRAIL-CFAOFF\r04018         FDB BIF+2\r04020         FDB XLINE-CFAOFF\r04022  FDB INUMB-CFAOFF\r04030 XMACH    TFR Y,X\r04040   PULS Y UN-NEST\r04050    JMP ,X IN LINE MACHINE CODE\r04100 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r04110    FCC 'TYPE'\r04112        FCB 4\r04114     FCB MFORE\r04116         FDB XMACH-CFAOFF\r04118  FDB BIF+2\r04120         FDB 0\r04122     FDB 0\r04130 TYPE        LDD ,U\r04132    BEQ TYPEQ\r04135         ADDD 2,U\r04140  STD ,U for compare\r04145        LDX 2,U\r04150 TYPEL     LDB ,X+\r04155   STX 2,U\r04160   CLRA\r04165      PSHU D\r04170    DOCOL\r04175     FDB EMIT\r04180  FDB XMACH\r04185         LDX 2,U\r04190   CMPX ,U\r04195   BLO TYPEL\r04197 TYPEQ LEAU 4,U\r04200    NEXT\r04205 *\r04210      FCC '(.")'\r04212        FCB MCOMP.OR.4\r04214    FCB MFORE\r04216         FDB TYPE-CFAOFF\r04218   FDB BIF+2\r04220         FDB XPLOOP-CFAOFF\r04222         FDB XSCODE-CFAOFF\r04230 XDOTQ   LDB ,Y+ count\r04235     CLRA\r04240      TFR Y,X string\r04245    LEAY D,Y past it\r04250  PSHU D,X\r04255  BRA TYPE\r04300 *\r04310  FCC 'ID.'\r04312         FCB 3\r04314     FCB MFORE\r04316         FDB XDOTQ-CFAOFF\r04318  FDB BIF+2\r04320         FDB 0\r04322     FDB 0\r04330 IDDOT       PULU X nfa\r04335        LDB ,X\r04340    ANDB #NLMASK\r04350      NEGB\r04360      LEAX B,X past it\r04370  NEGB\r04380      CLRA\r04390      PSHU D,X\r04400  BRA TYPE\r04410 *\r04510  FCC 'FILL-IN'\r04512     FCB MCOMP.OR.7\r04514    FCB MFORE\r04516         FDB IDDOT-CFAOFF\r04518  FDB BIF+2\r04520         FDB 0\r04522     FDB 0\r04530 FILLIN      LDX <UP\r04540   LDD UDP,X\r04550         SUBD ,U adr\r04555       SUBD #2 past\r04560      STD [,U++]\r04570        NEXT\r04590 *\r04610      FCC 'BEGIN'\r04612       FCB MCOMP.OR.MIMM.OR.5\r04614    FCB MFORE\r04616         FDB FILLIN-CFAOFF\r04618         FDB BIF+2\r04620         FDB BASE-CFAOFF\r04622   FDB 0\r04630 BEGIN       DOCOL   see fig-FORTH model\r04640       FDB QCOMP\r04650         FDB HERE target\r04660   FDB LIT\r04670   FDB ('B)*256+'E\r04680   FDB SEMIS\r04690 *\r04710         FCC 'AGAIN'\r04712       FCB MCOMP.OR.MIMM.OR.5\r04714    FCB MFORE\r04716         FDB BEGIN-CFAOFF\r04718  FDB BIF+2\r04720         FDB 0\r04722     FDB 0\r04730 AGAIN       DOCOL   see fig-FORTH model\r04740       FDB LIT\r04750   FDB ('B)*256+'E\r04760   FDB QPAIRS\r04765        FDB COMP\r04770  FDB BRANCH\r04775        FDB BACK\r04780  FDB SEMIS\r04790 *\r04810         FCC 'UNTIL'\r04812       FCB MCOMP.OR.MIMM.OR.5\r04814    FCB MFORE\r04816         FDB AGAIN-CFAOFF\r04818  FDB BIF+2\r04820         FDB USLASH-CFAOFF\r04822         FDB 0\r04830 UNTIL       DOCOL   see fig-FORTH model\r04840       FDB LIT\r04850   FDB ('B)*256+'E\r04860   FDB QPAIRS\r04865        FDB COMP\r04870  FDB ZBR\r04875   FDB BACK\r04880  FDB SEMIS\r04890 *\r04910         FCC 'WHILE'\r04912       FCB MCOMP.OR.MIMM.OR.5\r04914    FCB MFORE\r04916         FDB UNTIL-CFAOFF\r04918  FDB BIF+2\r04920         FDB WARM-CFAOFF\r04922   FDB WORDPD-CFAOFF\r04930 WHILE   DOCOL\r04940     FDB DUP\r04950   FDB LIT\r04960   FDB ('B)*256+'E\r04970   FDB QPAIRS\r04980        FDB COMP\r04990  FDB ZBR\r05000   FDB HERE adr\r05010      FDB ZERO\r05020  FDB COMMA\r05030         FDB LIT\r05040   FDB ('W)*256+'H\r05050   FDB SEMIS\r05090 *\r05110         FCC 'REPEAT'\r05112      FCB MCOMP.OR.MIMM.OR.6\r05114    FCB MFORE\r05116         FDB WHILE-CFAOFF\r05118  FDB BIF+2\r05120         FDB REPEAL-CFAOFF\r05122         FDB ROOT-CFAOFF\r05130 REPEAT    DOCOL\r05140     FDB LIT\r05150   FDB ('W)*256+'H\r05160   FDB QPAIRS\r05170        FDB TOR\r05180   FDB AGAIN\r05190         FDB RFROM\r05200         FDB FILLIN\r05210        FDB SEMIS\r05290 *\r05310         FCC 'DO'\r05312  FCB MCOMP.OR.MIMM.OR.2\r05314    FCB MFORE\r05316         FDB WHILE-CFAOFF\r05318  FDB BIF+2\r05320         FDB CFEH-CFAOFF\r05322   FDB ENDIF-CFAOFF\r05330 DO       DOCOL   see fig-FORTH model\r05340       FDB COMP\r05350  FDB XDO\r05360   FDB HERE\r05370  FDB LIT\r05380   FDB ('D)*256+'O\r05390   FDB SEMIS\r05400 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000       FCC 'M*'\r01010  FCB 2\r01020     FCB MFORE\r01030         FDB DO-CFAOFF\r01040     FDB BIF+2\r01050         FDB 0\r01060     FDB MSLASH-CFAOFF\r01070 MSTAR   LDD ,U  see fig-FORTH model\r01080       EORA 2,U n bit\r01090    PSHS D\r01100    DOCOL\r01110     FDB ABS\r01120   FDB SWAP\r01130  FDB ABS\r01140   FDB USTAR\r01150         FDB XMACH\r01160         LDD ,S++\r01170  LBMI DMINUS\r01180       NEXT\r01190 *\r01200      FCC 'M/'\r01210  FCB 2\r01220     FCB MFORE\r01230         FDB MSTAR-CFAOFF\r01240  FDB BIF+2\r01250         FDB 0\r01260     FDB 0\r01270 MSLASH      DOCOL   see fig-FORTH model\r01280       FDB OVER\r01290  FDB TOR signs: dividend\r01300   FDB TOR & divisor\r01310         FDB DABS\r01320  FDB R divisor\r01330     FDB ABS\r01340   FDB USLASH\r01350        FDB RFROM divisor\r01360         FDB R\r01370     FDB XOR quotient sign\r01380     FDB CHS\r01390   FDB SWAP remainder\r01400        FDB RFROM dividend sign\r01410   FDB CHS\r01420   FDB SWAP\r01430  FDB SEMIS\r01500 *\r01510         FCC '*'\r01520   FCB 1\r01530     FCB MFORE\r01540         FDB MSLASH-CFAOFF\r01550         FDB BIF+2\r01560         FDB PFIND-CFAOFF\r01570  FDB SSMOD-CFAOFF\r01580 STAR     DOCOL   see fig-FORTH model\r01590       FDB USTAR\r01600         FDB DROP\r01610  FDB SEMIS\r01700 *\r01710         FCC '/MOD'\r01720        FCB 4\r01730     FCB MFORE\r01740         FDB STAR-CFAOFF\r01750   FDB BIF+2\r01760         FDB 0\r01770     FDB 0\r01780 SLAMOD      LDD ,U\r01790    PSHU D\r01800    LDD #-1\r01810   TST 4,U sign extend\r01820       BMI *+5\r01830   ADDD #1\r01840   STD 2,U\r01850   LBRA MSLASH\r01900 *\r01910       FCC '/'\r01920   FCB 1\r01930     FCB MFORE\r01940         FDB SLAMOD-CFAOFF\r01950         FDB BIF+2\r01960         FDB NEXSCR-CFAOFF\r01970         FDB ADD1-CFAOFF\r01980 SLASH     DOCOL   see fig-FORTH model\r01990       FDB SLAMOD\r02000        FDB SWAP\r02010  FDB DROP\r02020  FDB SEMIS\r02100 *\r02110         FCC 'MOD'\r02120         FCB 3\r02130     FCB MFORE\r02140         FDB SLASH-CFAOFF\r02150  FDB BIF+2\r02160         FDB 0\r02170     FDB 0\r02180 MOD DOCOL   see fig-FORTH model\r02190       FDB SLAMOD\r02210        FDB DROP\r02220  FDB SEMIS\r02300 *\r02310         FCC '*/MOD'\r02320       FCB 5\r02330     FCB MFORE\r02340         FDB MOD-CFAOFF\r02350    FDB BIF+2\r02360         FDB STARSL-CFAOFF\r02370         FDB 0\r02380 SSMOD       DOCOL   see fig-FORTH model\r02390       FDB TOR\r02400   FDB MSTAR\r02410         FDB RFROM\r02420         FDB MSLASH\r02430        FDB SEMIS\r02500 *\r02510         FCC '*/'\r02520  FCB 2\r02530     FCB MFORE\r02540         FDB SSMOD-CFAOFF\r02550  FDB BIF+2\r02560         FDB 0\r02570     FDB 0\r02580 STARSL      DOCOL   see fig-FORTH model\r02590       FDB SSMOD\r02600         FDB SWAP\r02610  FDB DROP\r02630  FDB SEMIS\r02700 *\r02710         FCC 'M/MOD'\r02720       FCB 5\r02730     FCB MFORE\r02740         FDB STARSL-CFAOFF\r02750         FDB BIF+2\r02760         FDB MSTAR-CFAOFF\r02770  FDB MESS-CFAOFF\r02780 MSMOD     DOCOL   see fig-FORTH model\r02790       FDB TOR\r02800   FDB ZERO\r02810  FDB R\r02820     FDB USLASH ms word\r02830        FDB RFROM\r02840         FDB SWAP\r02850  FDB TOR save high q\r02860       FDB USLASH ls word\r02870        FDB RFROM double q\r02880        FDB SEMIS\r02900 *\r02910         FCC '+BUF'\r02920        FCB 4\r02930     FCB MFORE\r02940         FDB MSMOD-CFAOFF\r02950  FDB BIF+2\r02960         FDB 0\r02970     FDB 0\r02980 ADDBUF      LDX <UP\r02990   LDD BPBUF+2\r02995       ADDD #4\r03000   ADDD ,U\r03010   CMPD ULIMIT,X\r03020     BLO ADDBN\r03025         LDD UFIRST,X\r03030 ADDBN        STD ,U\r03040    CMPD UPREV,X\r03050      BEQ *+7\r03060   LDD #-1\r03065   BRA *+5\r03070   LDD #0\r03080    PSHU D\r03090    NEXT\r03100 *\r03110      FCC 'UPDATE'\r03120      FCB 6\r03130     FCB MFORE\r03140         FDB ADDBUF-CFAOFF\r03150         FDB BIF+2\r03160         FDB UNTIL-CFAOFF\r03170  FDB USER-CFAOFF\r03180 UPDATE    LDX <UP\r03190   LDD [UPREV,X]\r03200     ORA #$80\r03210  STD [UPREV,X]\r03220     NEXT\r03300 *\r03310      FCC 'EMPTY-BUFFERS'\r03320       FCB 13\r03330    FCB MFORE\r03340         FDB UPDATE-CFAOFF\r03350         FDB BIF+2\r03360         FDB 0\r03370     FDB 0\r03380 EMTBUF      LDX <UP\r03390   LDD ULIMIT,X\r03395      SUBD #1 catch odd\r03400         PSHS D,Y\r03410  LDX UFIRST,X\r03420      LDY #0\r03430    LDD BPBUF+2\r03440 EMTBL CMPX ,S\r03445   BHS EMTBE\r03450         STY ,X++ update bit\r03455       LEAX D,X\r03460  CMPX ,S\r03465   BHS EMTBE\r03470         STY ,X++ term NUL\r03475         BRA EMTBL\r03480 EMTBE   PULS D,Y\r03490  NEXT\r03500 *\r03510      FCC 'DRIVE-OFFSET'\r03520        FCB 12\r03530    FCB MFORE\r03540         FDB EMTBUF-CFAOFF\r03550         FDB BIF+2\r03560         FDB DRIVE-CFAOFF\r03570  FDB DROOT-CFAOFF\r03580 DROFFS   DO1ARR\r03590    FDB 0 low\r03600         FDB 4 width\r03610       FCB 2 element size\r03620        FDB 18*35 drive 0\r03630         FDB 18*35\r03640         FDB $8000 8 Meg max\r03650       FDB $8000\r03660         FDB $8000 never a drive 5!\r03700 *\r03710        FCC 'DRIVE'\r03720       FCB 5\r03730     FCB MFORE\r03740         FDB DROFFS-CFAOFF\r03750         FDB BIF+2\r03760         FDB 0\r03770     FDB 0\r03780 DRIVE       LDX #DROFFS+7\r03800     LDD #0\r03810 DRIVL      ADDD ,X++\r03820         BMI DRIVX table end?\r03830      DEC 1,U\r03840   BPL DRIVL\r03850         SUBD -2,X back one\r03860 DRIVX  LDX <UP\r03870   STD UOFFS,X\r03890       LEAU 2,U\r03900  NEXT\r04000 *\r04000      FCC 'R/W'\r04010         FCB 3\r04020     FCB MFORE\r04030         FDB DRIVE-CFAOFF\r04040  FDB BIF+2\r04050         FDB 0\r04060     FDB 0\r04070 RW  PSHS Y,U,DP\r04080       LDY $C006 control table\r04090   LDX #DROFFS+7\r04100     LDD 2,U\r04110 RWD       SUBD ,X++ sectors\r04120         BHS RWD\r04130   BVC RWR table end?\r04140        LDD #6\r04150    PSHU D\r04160    JMP ERROR\r04170 RWR     ADDD ,--X back one\r04175        PSHS X\r04180    PSHU D\r04190    LDD #18 sectors/track\r04200     PSHU D\r04210    DOCOL\r04220     FDB SLAMOD\r04230        FDB XMACH\r04240         PULU D\r04250    STB 2,Y track\r04260     PULU D\r04265    INCB\r04270      STB 3,Y sector\r04280    PULS D table entry\r04290        SUBD #DROFFS+7\r04300    ASRB drive #\r04310      STB 1,Y\r04320   LDD 4,U buffer\r04330    STD 4,Y\r04340   LDB #2 coco READ\r04350  LDX ,U 0?\r04360         BNE *+3\r04370   INCB coco WRITE\r04380   STB ,Y op code\r04384    CLRA\r04386      TFR A,DP\r04390  JSR [$C004]     ROM handles timeout\r04400       PULS Y,U,DP     if IRQ enabled\r04420    LEAU 6,U\r04430  LDX $C006\r04440         LDB 6,X coco status\r04450       BEQ RWE\r04460   LDX <UP\r04470   LDD #0 no disc\r04480    STD UWARN,X\r04490       LDD #8\r04500    PSHU D\r04510    JMP ERROR\r04520 RWE     NEXT\r05000 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05010        FCC '?ERROR'\r05020      FCB 6\r05030     FCB MFORE\r05040         FDB RW-CFAOFF\r05050     FDB BIF+2\r05060         FDB 0\r05070     FDB 0\r05080 QERR        PULU X\r05090    LDD ,U++\r05100  BNE *+4\r05110   NEXT\r05120      PSHU X\r05130    JMP ERROR\r05200 *\r05210         FCC '?COMP'\r05220       FCB 5\r05230     FCB MFORE\r05240         FDB QERR-CFAOFF\r05250   FDB BIF+2\r05260         FDB TOR-CFAOFF\r05270    FDB QEXEC-CFAOFF\r05280 QCOMP    LDX <UP\r05290   LDB USTATE+1,X\r05300    ANDB #SCOMP\r05310       BNE QPAIRN\r05320        LDD #$11\r05330  BRA QPAIRE\r05400 *\r05410        FCC '?EXEC'\r05420       FCB 5\r05430     FCB MFORE\r05440         FDB QCOMP-CFAOFF\r05450  FDB BIF+2\r05460         FDB QCST-CFAOFF\r05470   FDB QPAIRS-CFAOFF\r05480 QEXEC   LDX <UP\r05490   LDB USTATE+1,X\r05500    BEQ QPAIRN\r05510        LDD #$12\r05520  BRA QPAIRE\r05600 *\r05610        FCC '?PAIRS'\r05620      FCB 6\r05630     FCB MFORE\r05640         FDB QEXEC-CFAOFF\r05650  FDB BIF+2\r05660         FDB QLOAD-CFAOFF\r05670  FDB QTERM-CFAOFF\r05680 QPAIRS   PULU D\r05690    SUBD ,U++\r05700         BEQ QPAIRN\r05710        LDD #$13\r05720 QPAIRE   PSHU D robbed\r05730     JMP ERROR\r05740 QPAIRN  NEXT robbed\r05800 *\r05810       FCC '?CSP'\r05820        FCB 4\r05830     FCB MFORE\r05840         FDB QPAIRS-CFAOFF\r05850         FDB BIF+2\r05860         FDB 0\r05870     FDB 0\r05880 QCSP        LDX <UP\r05890   TFR U,D\r05900   SUBD UCSP,X\r05910       BEQ QPAIRN\r05920        LDD #$14\r05930  BRA QPAIRE\r06000 *\r06010        FCC '?LOADING'\r06020    FCB 8\r06030     FCB MFORE\r06040         FDB QCSP-CFAOFF\r06050   FDB BIF+2\r06060         FDB 0\r06070     FDB 0\r06080 QLOAD       LDX <UP\r06090   LDD UBLK,X\r06100        BNE QPAIRN\r06110        LDD #$16\r06120  BRA QPAIRE\r06200 *\r06210        FCC 'COMPILE'\r06220     FCB 7\r06230     FCB MFORE\r06240         FDB QLOAD-CFAOFF\r06250  FDB BIF+2\r06260         FDB COLD-CFAOFF\r06270   FDB COMPO-CFAOFF\r06280 COMP     DOCOL\r06290     FDB QCOMP\r06300         FDB XMACH\r06310 COMPIP  LDD ,Y++ robbed by IP,\r06320    PSHU D\r06330    JMP COMMA\r06390 *\r06410         FCC 'LOOP'\r06420        FCB MIMM.OR.MCOMP.OR.4\r06430    FCB MFORE\r06440         FDB COMP-CFAOFF\r06450   FDB BIF+2\r06460         FDB KEY-CFAOFF\r06470    FDB NUMBER-CFAOFF\r06480 LOOP    DOCOL   see fig-FORTH model\r06490       FDB LIT\r06500   FDB ('D)*256+'O\r06510   FDB QPAIRS\r06520        FDB COMP\r06530  FDB XLOOP\r06540         FDB BACK\r06550  FDB SEMIS\r06590 *\r06610         FCC '+LOOP'\r06620       FCB MIMM.OR.MCOMP.OR.5\r06630    FCB MFORE\r06640         FDB LOOP-CFAOFF\r06650   FDB BIF+2\r06660         FDB CHS-CFAOFF\r06670    FDB COMMA-CFAOFF\r06680 PLOOP    DOCOL   see fig-FORTH model\r06690       FDB LIT\r06700   FDB ('D)*256+'O\r06710   FDB QPAIRS\r06720        FDB COMP\r06730  FDB XPLOOP\r06740        FDB BACK\r06750  FDB SEMIS\r06790 *\r06809         FCC 'LOAD'\r06820        FCB 4\r06830     FCB MFORE\r06840         FDB PLOOP-CFAOFF\r06850  FDB BIF+2\r06860         FDB 0\r06870     FDB 0\r06880 LOAD        PSHS Y  see fig-FORTH model\r06890       LDY <UP\r06900   LDD UIN,Y\r06910         LDX UBLK,Y\r06920        PSHS X,D\r06930  LDD #0\r06940    STD UIN,Y\r06950         DOCOL\r06960     FDB BPSCR\r06970         FDB STAR\r06980  FDB BLK\r06990   FDB STORE\r07000         FDB INTERP\r07010        FDB XMACH\r07020         PULS D,X\r07030  STD UIN,Y\r07040         STX UBLK,Y\r07050        PULS Y\r07060    NEXT\r07090 *\r07110      FCC '<BUILDS'\r07120     FCB MCOMP.OR.7\r07130    FCB MFORE\r07140         FDB LOAD-CFAOFF\r07150   FDB BIF+2\r07160         FDB 0\r07170     FDB 0\r07180 BUILDS      DOCOL   see fig-FORTH model\r07190       FDB ZERO\r07200  FDB CONST\r07210         FDB SEMIS\r07290 *\r07310         FCC 'DOES>'\r07320       FCB MCOMP.OR.5\r07330    FCB MFORE\r07340         FDB BUILDS-CFAOFF\r07350         FDB BIF+2\r07360         FDB 0\r07370     FDB 0\r07380 DOES        LDX <UP\r07430   LDX UCURR,X\r07440       LDD ADOES,PCR\r07450     STD CFAOFF,X\r07460      STY PFAOFF,X\r07470      PULS Y\r07480    NEXT\r07490 ADOES        JSR <XDOES\r07790 *\r07810        FCC ';CODE'\r07820       FCB MCOMP.OR.MIMM.OR.5\r07830    FCB MFORE\r07840         FDB DOES-CFAOFF\r07850   FDB BIF+2\r07860         FDB SEMI-CFAOFF\r07870   FDB SEMIS-CFAOFF\r07880 SCODE    DOCOL   not fig\r07890   FDB QCSP\r07900  FDB COMP\r07910  FDB XSCODE\r07915        FDB LBRAK\r07920         FDB ASMBLR\r07930        FDB STOCSP      to check later\r07940    FDB SEMIS\r07950 * something else must SMUDGE\r07960 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (See BIF/ASM)\r00030 *\r00900       FCC 'IP,'\r00910         FCB MCOMP.OR.3\r00920    FCB MFORE\r00930         FDB SCODE-CFAOFF\r00940  FDB BIF+2\r00950         FDB 0\r00960     FDB 0\r00970 IPCOM       JMP COMPIP\r00980 *\r01000        FCC '?STACK'\r01010      FCB 6\r01020     FCB MFORE\r01030         FDB IPCOM-CFAOFF\r01040  FDB BIF+2\r01050         FDB 0\r01060     FDB 0\r01070 QSTACK      LDX <UP\r01080   CMPS UR0,X\r01090        BLS *+6\r01100 QSTACU    LDB #$0A\r01110  BRA QSTERR\r01115        LDD [UR0,X] hole\r01116  BNE QSTACU\r01120        CMPS US0,X\r01130        BHI *+6\r01140 QSTACO    LDB #$0B\r01150  BRA QSTERR\r01155        LDD [US0,X] hole\r01156  BNE QSTACE\r01160        CMPU US0,X\r01170        BLS *+6\r01180 QSTACE    LDB #1\r01190    BRA QSTERR\r01240        CMPU UDP,X\r01260        BLS *+4\r01270   NEXT\r01280      LDB #7\r01290 QSTERR     CLRA\r01300      PSHU D\r01310    JMP ERROR\r01320 *\r01400         FCC 'BUFFER'\r01410      FCB 6\r01420     FCB MFORE\r01430         FDB QSTACK-CFAOFF\r01440         FDB BIF+2\r01450         FDB BLK-CFAOFF\r01460    FDB CCOMMA-CFAOFF\r01470 BUFFER  PSHS Y\r01480    LDY <UP\r01490   LDD UUSE,Y\r01495        PSHS D save it\r01500    PSHU D\r01510    DOCOL\r01520     FDB ADDBUF\r01530        FDB ZBR prev?\r01540     FDB -6\r01550    FDB XMACH\r01560         PULU D\r01570    STD UUSE,Y new use\r01580        LDX ,S buffer\r01590     LDD ,X block\r01600      BPL BUFNW\r01610         ANDA #$7F mask update\r01620     LEAX 2,X data\r01630     PSHU D,X\r01640  LDD #0 write\r01650      PSHU D\r01660    DOCOL\r01670     FDB RW\r01680    FDB XMACH\r01690 BUFNW   PULU D new block\r01700  PULS X\r01710    STD ,X\r01720    STX UPREV,Y\r01730       LEAX 2,X data\r01740     PSHU X\r01750    PULS Y\r01760    NEXT\r01790 *\r01800      FCC 'BLOCK'\r01810       FCB 5\r01820     FCB MFORE\r01830         FDB BUFFER-CFAOFF\r01840         FDB BIF+2\r01850         FDB 0\r01860     FDB BS-CFAOFF\r01870 BLOCK       PSHS Y\r01880    LDY <UP\r01890   LDD UOFFS,Y\r01900       ADDD ,U\r01910   STD ,U\r01920    LDX UPREV,Y\r01930 BLOKL LDD ,X block\r01940      ANDA #$7F mask update\r01950     CMPD ,U this buffer?\r01960      BEQ BLOKFD\r01970        PSHU X\r01980    DOCOL\r01990     FDB ADDBUF\r02000        FDB TBR\r02010   FDB BLOKLE-*-2\r02020    FDB DROP buffer\r02030   FDB DUP block\r02040     FDB BUFFER lru\r02050    FDB OVER\r02060  FDB OVER\r02070  FDB SWAP\r02080  FDB MONE\r02090  FDB RW get block\r02100  FDB SUB2\r02110 BLOKLE   FDB XMACH\r02120         PULU X buffer\r02130     BRA BLOKL\r02140 BLOKFD  STX UPREV,Y\r02150       LEAX 2,X data\r02160     STX ,U\r02165    PULS Y\r02170    NEXT\r02180 *\r02200      FCC '(LINE)'\r02210      FCB 6\r02220     FCB MFORE\r02230         FDB BLOCK-CFAOFF\r02240  FDB BIF+2\r02250         FDB PINSTA-CFAOFF\r02260         FDB XLOOP-CFAOFF\r02270 XLINE    DOCOL   see fig-FORTH model\r02280       FDB TOR\r02290   FDB CPERL line width\r02300      FDB BPBUF\r02310         FDB SSMOD byte in sector\r02320  FDB RFROM\r02330         FDB BPSCR\r02340         FDB STAR base of screen\r02350   FDB ADD\r02360   FDB BLOCK\r02370         FDB ADD byte of buffer\r02380    FDB CPERL\r02390         FDB SEMIS\r02400 *\r02500         FCC '.LINE'\r02510       FCB 5\r02520     FCB MFORE\r02530         FDB XLINE-CFAOFF\r02540  FDB BIF+2\r02550         FDB DOTQ-CFAOFF\r02560   FDB DOTR-CFAOFF\r02570 DOTLIN    DOCOL   see fig-FORTH model\r02580       FDB XLINE\r02590         FDB DTRAIL\r02600        FDB TYPE\r02610  FDB SEMIS\r02690 *\r02700         FCC 'SPACES'\r02710      FCB 6\r02720     FCB MFORE\r02730         FDB DOTLIN-CFAOFF\r02740         FDB BIF+2\r02750         FDB 0\r02760     FDB 0\r02770 SPACES      LDD ,U  see fig-FORTH model\r02780       BGT SPACEY\r02783        LEAU 2,U\r02785  NEXT\r02790 SPACEY       DOCOL\r02800     FDB ZERO\r02810  FDB XDO\r02820   FDB SPACE\r02830         FDB XLOOP\r02840         FDB -6\r02850    FDB SEMIS\r02890 *\r02900         FCC '<#'\r02910  FCB 2\r02920     FCB MFORE\r02930         FDB SPACES-CFAOFF\r02940         FDB BIF+2\r02950         FDB 0\r02960     FDB BUILDS-CFAOFF\r02970 BEGHSH  LDX <UP\r02980   LDD UPAD,X\r02990        STD UHLD,X\r03000        NEXT\r03090 *\r03100      FCC '#>'\r03110  FCB 2\r03120     FCB MFORE\r03130         FDB BEGHSH-CFAOFF\r03140         FDB BIF+2\r03150         FDB STORE-CFAOFF\r03160  FDB TICK-CFAOFF\r03170 ENDHSH    LDX <UP\r03180   LDD UPAD,X\r03190        SUBD UHLD,X\r03200       STD ,U count\r03210      LDD UHLD,X\r03220        STD 2,U\r03230   NEXT\r03290 *\r03300      FCC 'SIGN'\r03310        FCB 4\r03320     FCB MFORE\r03330         FDB ENDHSH-CFAOFF\r03340         FDB BIF+2\r03350         FDB SCR-CFAOFF\r03360    FDB 0\r03370 SIGN        DOCOL   see fig-FORTH model\r03380       FDB ROT\r03390   FDB ZLESS\r03400         FDB ZBR\r03410   FDB SIGNP-*-2\r03420     FDB LIT\r03430   FDB $2D\r03440   FDB HOLD\r03450 SIGNP    FDB SEMIS\r03490 *\r03500         FCC '#'\r03510   FCB 1\r03520     FCB MFORE\r03530         FDB SIGN-CFAOFF\r03540   FDB BIF+2\r03550         FDB 0\r03560     FDB 0\r03570 HASH        DOCOL   see fig-FORTH model\r03580       FDB BASE\r03590  FDB FETCH\r03600         FDB MSMOD\r03610         FDB ROT\r03620   FDB XMACH\r03630         LDB 1,U\r03640   CMPB #9\r03650   BLS HASHX+4\r03660       CMPB #'A-'Z+10\r03670    BLS HASHX+2\r03680 HASHX ADDB #'a-'Z-1\r03690     ADDB #'A-'9-1\r03700     ADDB #'0\r03710  STB 1,U\r03720   DOCOL\r03730     FDB HOLD\r03740  FDB SEMIS\r03790 *\r03800         FCC '#S'\r03810  FCB 2\r03820     FCB MFORE\r03830         FDB HASH-CFAOFF\r03840   FDB BIF+2\r03850         FDB 0\r03860     FDB 0\r03870 HASHS       DOCOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\ 1\ 2ÆÇÈ\ 6Á\bÅ
\f\r\ eÂ\10È\12\13È\15Ã\17\18Ç\1aÄ\1c\1dÄ\1fÆ!"É$Â&'Æ)*Â,-Ç/0Á2É45Æ789ÇÁÿÿÿÿÿÿÿÿÿÿUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUBIF     ASM\ 3ÿ\0\0Ð\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFU    INC\ 3ÿ\ 3\0[\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF     M  \ 3ÿ\ 4\0\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFDP   ASM\ 3ÿ\ 5\07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFST   ASM\ 3ÿ\a\0ð\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFB    ASM\ 3ÿ    \0ê\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF1    ASM\ 3ÿ\v\0\98\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF1B   ASM\ 3ÿ\ f\0]\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF2    ASM\ 3ÿ\11\0\98\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF2B   ASM\ 3ÿ\14\0&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF3    ASM\ 3ÿ\16\0%\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF3B   ASM\ 3ÿ\19\0v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF4    ASM\ 3ÿ\e\0Ê\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF4B   ASM\ 3ÿ\1e\0©\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF5    ASM\ 3ÿ \0       \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF5B   ASM\ 3ÿ#\0|\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF6    ASM\ 3ÿ%\0ó\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF6B   ASM\ 3ÿ(\0\ e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF6NUL ASM\ 3ÿ+\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF7    ASM\ 3ÿ.\0é\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF7B   ASM\ 3ÿ1\0\ f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFD1   ASM\ 3ÿ3\0ö\0\0\ 1\0\0\17ö\0\0\0\0\0\0\0\0\0BIFD1   BIN\ 2\06\0ó\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0BIFD1P  BIN\ 2\0:\0\ 5\0\0\ 1\0\0\0\ 5\0\0\0\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿL\r03880         FDB HASH\r03890  FDB XMACH\r03900         LDD 2,U\r03910   BNE HASHS\r03920         LDD ,U\r03930    BNE HASHS\r03940         NEXT\r03950 *\r04000      FCC 'D.R'\r04010         FCB 3\r04020     FCB MFORE\r04030         FDB HASHS-CFAOFF\r04040  FDB BIF+2\r04050         FDB 0\r04060     FDB 0\r04070 DDOTR       DOCOL   see fig-FORTH model\r04080       FDB TOR\r04090   FDB SWAP save sign\r04100        FDB OVER\r04110  FDB DABS\r04120  FDB BEGHSH\r04130        FDB HASHS\r04140         FDB SIGN\r04150  FDB ENDHSH\r04160        FDB RFROM field width\r04170     FDB OVER\r04180  FDB SUB\r04190   FDB SPACES <0 => no spaces\r04200        FDB TYPE\r04210  FDB SEMIS\r04220 *\r04230         FCC 'D.'\r04240  FCB 2\r04250     FCB MFORE\r04260         FDB DDOTR-CFAOFF\r04270  FDB BIF+2\r04280         FDB 0\r04290     FDB DDOTR-CFAOFF\r04300 DDOT     DOCOL   see fig-FORTH model\r04310       FDB ZERO\r04320  FDB DDOTR\r04330         FDB SPACE\r04340         FDB SEMIS\r04350 *\r04360         FCC '.R'\r04370  FCB 2\r04380     FCB MFORE\r04390         FDB DDOT-CFAOFF\r04400   FDB BIF+2\r04410         FDB 0\r04420     FDB 0\r04430 DOTR        DOCOL   see fig-FORTH model\r04440       FDB TOR\r04450   FDB STOD\r04460  FDB RFROM\r04470         FDB DDOTR\r04480         FDB SEMIS\r04490 *\r04500         FCC '.'\r04510   FCB 1\r04520     FCB MFORE\r04530         FDB DOTR-CFAOFF\r04540   FDB BIF+2\r04550         FDB DDUP-CFAOFF\r04560   FDB DOTLIN-CFAOFF\r04570 DOT     DOCOL   see fig-FORTH model\r04580       FDB STOD\r04590  FDB DDOT\r04600  FDB SEMIS\r04610 *\r04620         FCC '?'\r04630   FCB 1\r04640     FCB MFORE\r04650         FDB DOT-CFAOFF\r04660    FDB BIF+2\r04670         FDB TOVID-CFAOFF\r04680  FDB TNULL-CFAOFF\r04690 QDOT     LDD [,U++]\r04700        PSHU D\r04710    BRA DOT\r04720 *\r04800   FCC 'MESSAGE'\r04810     FCB 7\r04820     FCB MFORE\r04830         FDB DOTLIN-CFAOFF\r04840         FDB BIF+2\r04850         FDB MAX-CFAOFF\r04860    FDB 0\r04870 MESS        DOCOL   see fig-FORTH model\r04880       FDB WARN\r04890  FDB FETCH print text?\r04893     FDB ONE\r04896   FDB AND\r04900   FDB ZBR\r04910   FDB MESSN-*-2\r04920     FDB DDUP not 0?\r04930   FDB ZBR\r04940   FDB MESSX-*-2\r04950     FDB LIT\r04960   FDB 4\r04970     FDB OFFSET\r04980        FDB FETCH\r04990         FDB BPSCR\r05000         FDB SLASH screen offset\r05010   FDB SUB\r05020   FDB DOTLIN\r05030        FDB BRANCH\r05040        FDB MESSX-*-2\r05050 MESSN       FDB XDOTQ\r05060         FCB 6\r05070     FCC 'MSG # '\r05080      FDB DOT\r05090 MESSX     FDB SEMIS\r05190 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (See BIF/ASM)\r00030 *\r05200  FCC '(ABORT)'\r05210     FCB 7\r05220     FCB MFORE\r05230         FDB MESS-CFAOFF\r05240   FDB BIF+2\r05250         FDB XDOTQ-CFAOFF\r05260  FDB XDO-CFAOFF\r05270 IABORT DOCOL       see fig-FORTH model\r05280       FDB ABORT\r05290         FDB SEMIS\r05390 *\r05400         FCC 'ERROR'\r05410       FCB 5\r05420     FCB MFORE\r05430         FDB IABORT-CFAOFF\r05440         FDB BIF+2\r05450         FDB ERASE-CFAOFF\r05460  FDB EXEC-CFAOFF\r05470 ERROR DOCOL\r05480         FDB WORDPD last WORD\r05490      FDB COUNT\r05500         FDB TYPE\r05510  FDB XDOTQ\r05520         FCB 3\r05530     FCC ' ? '\r05540         FDB MESS\r05550  FDB WARN\r05560  FDB FETCH\r05570         FDB ZLESS\r05580         FDB ZBR\r05590   FDB 2\r05600     FDB IABORT\r05610        FDB SPSTO\r05620         FDB IN\r05630    FDB FETCH\r05640         FDB BLK\r05650   FDB FETCH\r05660         FDB QUIT\r05670  FDB SEMIS\r05680 *\r05700         FCC 'EDITOR'\r05710      FCB MIMM.OR.6\r05720     FCB MFORE\r05730         FDB ERROR-CFAOFF\r05740  FDB BIF+2 parent voc\r05750      FDB 0\r05760     FDB 0\r05770 EDITOR      DOVOC\r05780     FDB EBLK-CFAOFF (NFA)\r05790 *\r05800     FCC 'QSYNC'\r05810       FCB 5\r05820     FCB MFORE\r05830         FDB EDITOR-CFAOFF\r05840         FDB EDITOR+2\r05850      FDB 0\r05860     FDB 0\r05870 QSYNC       LDX <UP\r05880   LDB URNUM+1,X\r05890     LDA #4\r05900    STD $88\r05910   NEXT\r05990 *\r06000      FCC 'EBLK'\r06010        FCB 4\r06020     FCB MFORE\r06030         FDB QSYNC-CFAOFF\r06040  FDB EDITOR+2\r06050      FDB CURSOR-CFAOFF\r06060         FDB QDUMP-CFAOFF\r06070 EBLK     DOUSER\r06080    FCB UEBLK\r06090 *\r06000         FCC 'CURSOR'\r06010      FCB 6\r06020     FCB MFORE\r06030         FDB QSYNC-CFAOFF\r06040  FDB EDITOR+2\r06050      FDB 0\r06060     FDB 0\r06070 CURSOR      DOCOL\r06080     FDB EBLK\r06090  FDB FETCH\r06100         FDB BLOCK\r06110         FDB RNUM\r06120  FDB FETCH\r06130         FDB ADD\r06140   FDB SEMIS\r06190 *\r06200         FCC 'QDUMP'\r06210       FCB 5\r06220     FCB MFORE\r06230         FDB CURSOR-CFAOFF\r06240         FDB EDITOR+2\r06250      FDB QARROW-CFAOFF\r06260         FDB QUICK-CFAOFF\r06270 QDUMP    PSHS Y\r06280    PULU Y\r06290    LDX #$400 screen\r06300  CLRA\r06310 QDUMPL       LDB ,Y+\r06320   STB ,X+\r06330   DECA\r06340      BNE QDUMPL\r06350        PULS Y\r06360    NEXT\r06390 *\r06400      FCC 'QARROW'\r06410      FCB 6\r06420     FCB MFORE\r06430         FDB QDUMP-CFAOFF\r06440  FDB EDITOR+2\r06450      FDB 0\r06460     FDB 0\r06470 QARROW      LDB 1,U\r06480   LDA #4\r06490    LEAX QTBL,PCR\r06500 QAROL       CMPB ,X+\r06510  BEQ QARODO\r06520        DECA\r06530      BNE QAROL\r06540         CMPB #21 shifted BS?\r06550      BNE QAROX\r06552         DOCOL\r06554     FDB CURSOR\r06556        FDB XMACH\r06560         LDD #$2060 spaces\r06565         STA [,U++] buffer\r06570         STB [$88] video\r06580   LDB #-1\r06590   BRA *+4\r06600 QARODO    LDB 3,X\r06610   LDX <UP\r06620   ADDB URNUM+1,X\r06630    STB URNUM+1,X\r06650     LDD #0\r06660    STD ,U\r06670 QAROX      NEXT\r06700 QTBL FCB '^ up\r06710         FCB 10 down\r06720       FCB 8 back\r06730        FCB 9 front\r06740       FCB -32 offsets\r06750   FCB 32\r06760    FCB -1\r06770    FCB 1\r06790 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ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 *\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ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05200       FCC 'NAME,'\r05210       FCB 5\r05220     FCB MFORE\r05230         FDB DIFIND-CFAOFF\r05240         FDB BIF+2\r05250         FDB 0\r05260     FDB 0\r05270 NCOMMA      DOCOL\r05280     FDB WORDPD\r05300        FDB COUNT\r05310         FDB TOR\r05330   FDB HERE\r05340  FDB R\r05350     FDB ALLOT\r05360         FDB R\r05370     FDB CMOVE name\r05380    FDB HERE node\r05390     FDB RFROM\r05400         FDB SEMIS\r05490 *\r05500         FCC 'FORE-MARK'\r05510   FCB 9\r05520     FCB MFORE\r05530         FDB NCOMMA-CFAOFF\r05540         FDB BIF+2\r05550         FDB FIRST-CFAOFF\r05560  FDB FORGET-CFAOFF\r05570 FOREMK  LDX <UP\r05580   LDD UFORE,X\r05590       BEQ FOREMN\r05600        LDX UCURR,X\r05610       LDB 1,X\r05620   ORB #MFORE\r05630        STB 1,X\r05640 FOREMN    NEXT\r05690 *\r05700      FCC '(INSTALL)'\r05710   FCB MCOMP.OR.9\r05720    FCB MFORE\r05730         FDB DIFIND-CFAOFF\r05740         FDB BIF+2\r05750         FDB 0\r05760     FDB 0\r05770 PINSTA      LDX ,U vocab\r05772      BNE PINSTV\r05774        LDD #$18\r05776  PSHU D\r05778    JMP ERROR\r05780 PINSTV  PSHS Y\r05784    LDY 2,U nfa\r05788       LDB ,Y\r05792    ANDB #NLMASK\r05796      TFR B,A\r05800   NEGA\r05804      LEAY A,Y name\r05808     DECA for NUL\r05812      LEAS A,S allocate\r05816         CLRA\r05820      STA B,S term\r05824      PSHU Y\r05828    PSHU D,S\r05832  PSHS B mark\r05836       DOCOL\r05840     FDB CMOVE\r05844         FDB XMACH\r05848         LDX ,U vocab\r05852      LEAY 1,S\r05856 PINSTL   PSHU X,Y\r05860  DOCOL\r05864     FDB PFIND slot?\r05868   FDB XMACH\r05872         LDD ,U++ flag\r05876     BEQ PINSTI\r05880        LDX [,U++] old nfa\r05884        CMPX #NUBLK-CFAOFF\r05888        BNE *+7\r05892   LDD #$1C\r05896  BRA PINSTV-5\r05900      LDB ,X\r05904    ORB #MHID hide old\r05908        STB ,X\r05912    LEAX RTOFF,X fake voc\r05916     BRA PINSTL\r05920 PINSTI PULS B\r05924    INCB\r05928      LEAS B,S\r05932  LDX ,U insert point\r05936       BNE PINSTG\r05940        LDD #$19\r05944  BRA PINSTV-5\r05948 PINSTG       LDD 2,U vocab\r05952     LDY 4,U nfa\r05956       STY ,X link in\r05960    STD GFAOFF,Y\r05964 PINSTX       LEAU 6,U\r05970  PULS Y\r05980    NEXT\r06290 *\r06300      FCC '0!'\r06310  FCB 2\r06320     FCB MFORE\r06330         FDB PINSTA-CFAOFF\r06340         FDB BIF+2\r06350         FDB 0\r06360     FDB 0\r06370 INULL       LDD #0\r06380    STD >0\r06390    NEXT\r06395 *\r06400      FCC '?0'\r06410  FCB 2\r06420     FCB MFORE\r06430         FDB INULL-CFAOFF\r06440  FDB BIF+2\r06450         FDB 0\r06460     FDB 0\r06470 TNULL       LDD >0\r06480    BNE *+4\r06490   NEXT\r06500      LDD #5\r06510    PSHU D\r06520    LDX <UP\r06530   LDA UWARN,X\r06540       ORA #$80 abort\r06550    STA UWARN,X\r06560       JMP ERROR\r06590 *\r07000         FCC 'QUICK'\r07010       FCB 5\r07020     FCB MFORE\r07030         FDB TNULL-CFAOFF\r07040  FDB EDITOR+2\r07050      FDB QSYNC-CFAOFF\r07060  FDB 0\r07070 QUICK       PSHS Y\r07080    LDY <UP\r07090   LDD UEBLK,Y\r07100       LDX URNUM,Y\r07110       PSHS D,X nest\r07120     PULU D\r07130    STD UEBLK,Y\r07140       LDD #0\r07150    STD URNUM,Y\r07160       DOCOL\r07170     FDB CURSOR\r07180        FDB QDUMP fill screen\r07190     FDB QSYNC\r07200 QUICKL  FDB KEY\r07210   FDB XMACH\r07220         LDB 1,U\r07230   CMPB #3 break?\r07240    BEQ QUICKB\r07250        DOCOL\r07260     FDB QARROW\r07270        FDB QSYNC\r07280         FDB CURSOR\r07290        FDB XMACH\r07300         LDD 2,U\r07310   BNE QUICKC\r07320        LDB [,U++] from buffer\r07330    BRA QUICKE\r07340 QUICKC CMPB #'\\r07350  BNE *+10\r07360  DOCOL\r07370     FDB KEY literal\r07380   FDB XMACH\r07390         PULU D\r07400    STB [,U++] in buffer\r07410      INC URNUM+1,Y bump\r07420        LDA [UPREV,Y] update\r07430      ORA #$80\r07440  STA [UPREV,Y]\r07450 QUICKE      CLRA\r07460      STD ,U\r07470    DOCOL\r07480     FDB EMIT\r07485  FDB QSYNC\r07490         FDB BRANCH\r07500        FDB QUICKL-*-2\r07510 QUICKB     LEAU 2,U\r07520  PULS D,X un-nest\r07530  STD UEBLK,Y\r07540       STX URNUM,Y\r07550       PULS Y\r07560    NEXT\r07570 *\r07800      FCC 'NODE.'\r07810       FCB 5\r07820     FCB MFORE\r07830         FDB QUICK-CFAOFF\r07840  FDB BIF+2\r07850         FDB 0\r07860     FDB 0\r07870 NDOT        DOCOL\r07880     FDB DUP\r07890   FDB IDDOT\r07900         FDB SPACE\r07910         FDB ZERO\r07920  FDB DDOT\r07930  FDB CR\r07940    FDB QTERM\r07943         FDB DUP\r07945   FDB ZLESS break?\r07950  FDB ZBR\r07955   FDB 4\r07960     FDB DROP\r07965  FDB KEY\r07970   FDB SEMIS\r07990 *\r08000         FCC 'VISIT'\r08010       FCB 5\r08020     FCB MFORE\r08030         FDB NDOT-CFAOFF\r08040   FDB BIF+2\r08050         FDB 0\r08060     FDB 0\r08070 VISIT       PSHS Y\r08080    LDY <UP\r08090   LDX UVMK,Y save\r08100   PSHS D,X allocate\r08110         STS UVMK,Y\r08120        LDX ,U++\r08130  PULU D\r08140    BEQ VISITX vocab\r08150  LDX ,X\r08160    BEQ VISITX\r08170        ADDD #CFAOFF function\r08180     STD ,S\r08190 VISITL     PSHS X\r08200    CMPS US0,Y overflow?\r08210      BHI *+7\r08220   LDB #$0B\r08230  JMP QSTERR\r08240        LDX LFTOFF,X\r08250 VISITR       BNE VISITL\r08260        CMPS UVMK,Y\r08270       BHS VISITX\r08280        LDX ,S node\r08290       LDD [UVMK,Y] function\r08300     PSHU D,X\r08310  DOCOL\r08320     FDB EXEC\r08330  FDB QSTACK\r08340        FDB XMACH\r08343         LDD ,U++\r08346  BMI VISITX terminate?\r08350     PULS X\r08360    LDX RTOFF,X\r08370       BRA VISITR\r08375 VISITX LDS UVMK,Y\r08380        PULS D,X\r08390  STX UVMK,Y\r08400        PULS Y\r08410    NEXT\r08490 *\r08500      FCC 'VLIST'\r08510       FCB 5\r08520     FCB MFORE\r08530         FDB VISIT-CFAOFF\r08540  FDB EDITOR+2\r08550      FDB VISIT-CFAOFF\r08560  FDB VOCAB-CFAOFF\r08570 VLIST    DOCOL\r08580     FDB LIT\r08590   FDB NDOT-CFAOFF\r08600   FDB ROOT\r08610  FDB FETCH\r08620         FDB VISIT\r08630         FDB SEMIS\r08690 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ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ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000     FCC 'CREATE'\r01010      FCB 6\r01020     FCB MFORE\r01030         FDB VLIST-CFAOFF\r01040  FDB BIF+2\r01050         FDB CR-CFAOFF\r01060     FDB CSP-CFAOFF\r01070 CREATE     DOCOL\r01080     FDB DDFIND\r01090        FDB OVER\r01100  FDB ZBR\r01110   FDB CREATN-*-2\r01120    FDB SWAP nfa\r01130      FDB IDDOT\r01135         FDB SPACE\r01140         FDB LIT\r01150   FDB 4\r01160     FDB MESS\r01170  FDB SPACE\r01190         FDB NFA vocab\r01200     FDB IDDOT\r01205         FDB CR\r01210    FDB BRANCH\r01220        FDB 4\r01230 CREATN      FDB DROP\r01240  FDB DROP\r01250  FDB NCOMMA\r01260        FDB CCOMMA length\r01270         FDB ZERO\r01280  FDB CCOMMA mode\r01290   FDB LATEST allocation link\r01300        FDB COMMA\r01310         FDB DUP nfa\r01320       FDB CURR\r01330  FDB STORE new LATEST\r01340      FDB ZERO vocab\r01350    FDB COMMA\r01360         FDB ZERO\r01370  FDB COMMA left\r01380    FDB ZERO\r01390  FDB COMMA right\r01400   FDB SMUDGE hide\r01410   FDB FOREMK\r01420        FDB DROOT\r01430         FDB FETCH\r01440         FDB PINSTA in vocab\r01450       FDB SEMIS\r01490 *\r01500         FCC 'CONSTANT'\r01510    FCB 8\r01520     FCB MFORE\r01530         FDB CREATE-CFAOFF\r01540         FDB BIF+2\r01550         FDB CMOVE-CFAOFF\r01560  FDB CREATE-CFAOFF\r01570 CONST   DOCOL\r01580     FDB CREATE\r01590        FDB IPCOM\r01600         DOCON\r01610     FDB COMMA\r01620         FDB SMUDGE visible\r01630        FDB SEMIS\r01690 *\r01700         FCC 'VARIABLE'\r01710    FCB 8\r01720     FCB MFORE\r01730         FDB CONST-CFAOFF\r01740  FDB BIF+2\r01750         FDB USTAR-CFAOFF\r01760  FDB WORD-CFAOFF\r01770 VAR       DOCOL\r01780     FDB CREATE\r01790        FDB IPCOM\r01800         DOVAR\r01810     FDB COMMA initial value\r01820   FDB SMUDGE visible\r01830        FDB SEMIS\r01890 *\r01900         FCC 'USER'\r01910        FCB 4\r01920     FCB MFORE\r01930         FDB VAR-CFAOFF\r01940    FDB BIF+2\r01950         FDB USE-CFAOFF\r01960    FDB UTIL-CFAOFF\r01970 USER      DOCOL\r01980     FDB CREATE\r01990        FDB IPCOM\r02000         DOUSER\r02010    FDB CCOMMA offset\r02020         FDB SMUDGE visible\r02030        FDB SEMIS\r02080 *\r02090 SCOMP   EQU MCOMP.OR.MIMM\r02100         FCC ':'\r02110   FCB MIMM.OR.1\r02120     FCB MFORE\r02130         FDB USER-CFAOFF\r02140   FDB BIF+2\r02150         FDB ADD-CFAOFF\r02160    FDB FETCH-CFAOFF\r02170 COLON    DOCOL\r02180     FDB QEXEC\r02190         FDB STOCSP\r02200        FDB CREATE\r02210        FDB IPCOM\r02220         DOCOL\r02230     FDB RBRAK\r02240         FDB SEMIS\r02290 *\r02300         FCC ';'\r02310   FCB MIMM.OR.1\r02320     FCB MFORE\r02330         FDB COLON-CFAOFF\r02340  FDB BIF+2\r02350         FDB 0\r02360     FDB 0\r02370 SEMI        DOCOL   see fig-FORTH model\r02380       FDB QCSP\r02390  FDB COMP\r02400  FDB SEMIS\r02410         FDB SMUDGE\r02420        FDB LBRAK\r02430         FDB SEMIS\r02490 *\r02500         FCC '."'\r02510  FCB MIMM.OR.2\r02520     FCB MFORE\r02530         FDB SEMI-CFAOFF\r02540   FDB BIF+2\r02550         FDB 0\r02560     FDB 0\r02570 DOTQ        DOCOL\r02572     FDB ONE past delimiter\r02574    FDB IN\r02576    FDB ADDSTO\r02580        FDB LIT\r02590   FDB '"\r02600    FDB WORD\r02610  FDB WORDPD\r02620        FDB QCST\r02630  FDB ZBR\r02640   FDB DOTQT-*-2\r02650     FDB COMP\r02660  FDB XDOTQ\r02670         FDB HERE\r02680  FDB OVER\r02690  FDB CFEH count\r02700    FDB ADD1\r02710  FDB DUP\r02720   FDB ALLOT\r02730         FDB CMOVE\r02732         FDB ONE past end quote\r02734    FDB IN\r02736    FDB ADDSTO\r02740        FDB BRANCH\r02750        FDB 4\r02760 DOTQT       FDB COUNT\r02770         FDB TYPE\r02780  FDB SEMIS\r02790 *\r02800         FCC '[COMPILE]'\r02810   FCB MIMM.OR.9\r02820     FCB MFORE\r02830         FDB DOTQ-CFAOFF\r02840   FDB BIF+2\r02850         FDB LBRAK-CFAOFF\r02860  FDB RBRAK-CFAOFF\r02870 BCOMP    DOCOL\r02880     FDB DDFIND\r02890        FDB DROP vocab\r02900    FDB DUP\r02910   FDB ZEQ\r02920   FDB ZERO\r02930  FDB QERR\r02940  FDB CFA\r02950   FDB COMMA\r02960         FDB SEMIS\r03180 *\r03200         FCC 'INTERPRET'\r03210   FCB 9\r03220     FCB MFORE\r03230         FDB BCOMP-CFAOFF\r03240  FDB BIF+2\r03250         FDB 0 * INDEX-CFAOFF\r03260      FDB J-CFAOFF\r03270 INTERP       DOCOL\r03280     FDB DIFIND\r03290        FDB DROP\r03300  FDB DDUP\r03310  FDB ZBR\r03320   FDB INTERN-*-2\r03330    FDB DUP\r03340   FDB CFA\r03350   FDB SWAP\r03360  FDB CFEH length\r03370   FDB DUP\r03380   FDB NOT\r03390   FDB LIT\r03400   FDB MIMM\r03410  FDB AND\r03420   FDB QCST\r03430  FDB AND\r03440   FDB ZBR\r03450   FDB INTERX-*-2\r03460    FDB DROP length\r03470   FDB COMMA\r03480         FDB BRANCH\r03490        FDB INTERE-*-2\r03500 INTERX     FDB LIT\r03510   FDB MCOMP\r03520         FDB AND\r03530   FDB QCST\r03540  FDB NOT\r03550   FDB AND\r03560   FDB LIT\r03570   FDB $11\r03580   FDB QERR\r03590  FDB EXEC\r03600  FDB BRANCH\r03610        FDB INTERE-*-2\r03620 INTERN     FDB WORDPD\r03630        FDB NUMBER\r03640        FDB DPL\r03645   FDB FETCH\r03650         FDB ZLESS\r03660         FDB ZBR\r03670   FDB INTERE-*-4\r03680    FDB DROP\r03690  FDB LITER\r03700         FDB BRANCH\r03710        FDB INTERE-*-2\r03720    FDB DLITER\r03730 INTERE FDB QSTACK\r03740        FDB BRANCH\r03750        FDB INTERP-*\r03790 *\r04200      FCC 'QUIT'\r04210        FCB 4\r04220     FCB MFORE\r04230         FDB INTERP-CFAOFF\r04240         FDB BIF+2\r04250         FDB 0\r04260     FDB 0\r04270 QUIT        DOCOL   see fig-FORTH model\r04280       FDB ZERO\r04290  FDB BLK\r04300   FDB STORE\r04310         FDB LBRAK\r04320 QUITL   FDB TNULL\r04325         FDB RPSTO\r04330         FDB CR\r04340    FDB QUERY\r04350         FDB INTERP\r04360        FDB QCST\r04370  FDB TBR\r04380   FDB QUITL-*-2\r04390     FDB XDOTQ\r04400         FCB 3\r04410     FCC ' OK'\r04420         FDB BRANCH\r04430        FDB QUITL-*-2\r04490 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r04500      FCC 'BIF'\r04510         FCB MIMM.OR.3\r04520     FCB MFORE\r04530         FDB QUIT-CFAOFF\r04540   FDB BIF+2 (PFA)\r04550   FDB COLON-CFAOFF\r04560  FDB IF-CFAOFF\r04570 BIF DOVOC\r04580     FDB BIF-CFAOFF (NFA)\r04590 *\r04600      FCC 'ASSEMBLER'\r04610   FCB MIMM.OR.9 immediate?\r04620  FCB MFORE\r04630         FDB BIF-CFAOFF\r04640    FDB BIF+2 parent voc\r04650      FDB 0\r04660     FDB 0\r04670 ASMBLR      DOVOC\r04680     FDB 0 (NFA)\r04690 *\r04700       FCC 'DEFINITIONS'\r04710         FCB 11\r04720    FCB MFORE\r04730         FDB ASMBLR-CFAOFF\r04740         FDB BIF+2\r04750         FDB 0\r04760     FDB 0\r04770 DEFS        LDX <UP\r04780   LDD UROOT,X\r04790       STD UDROOT,X\r04800      NEXT\r04890 *\r04900      FCC 'ABORT'\r04910       FCB 5\r04920     FCB MFORE\r04930         FDB DEFS-CFAOFF\r04940   FDB BIF+2\r04950         FDB 0\r04960     FDB 0\r04970 ABORT       DOCOL   see fig-FORTH model\r04975       FDB INULL\r04980         FDB SPSTO\r04990         FDB DEC\r05000   FDB ZERO\r05010  FDB DRIVE\r05020         FDB CR\r05030    FDB XDOTQ\r05040         FCB 13\r05050    FCC '6809 BIF V1.0'\r05060       FDB BIF\r05070   FDB DEFS\r05080  FDB QUIT\r05090 *\r05100  FCC 'VOCABULARY'\r05110  FCB 10\r05120    FCB MFORE\r05130         FDB ABORT-CFAOFF\r05140  FDB BIF+2\r05150         FDB 0\r05160     FDB 0\r05170 VOCAB       DOCOL\r05180     FDB CREATE\r05190        FDB IPCOM\r05200         DOVOC\r05210     FDB ZERO\r05220  FDB COMMA local\r05255   FDB SMUDGE\r05260        FDB SEMIS\r05290 *\r05300         FCC '('\r05301   FCB MIMM.OR.1\r05302     FCB 0\r05303     FDB VOCAB-CFAOFF\r05304  FDB BIF+2\r05305         FDB ENDHSH-CFAOFF\r05306         FDB STAR-CFAOFF\r05310 PAREN     PSHS Y\r05320    LDY <UP\r05330 PARENL    LDD #')\r05340   PSHU D\r05350    DOCOL\r05360     FDB WORD\r05370  FDB XMACH\r05380         LDX UBLK,Y\r05390        BNE *+6\r05400   LDX UTIB,Y\r05401        BRA *+12\r05403  PSHU X\r05405    DOCOL\r05406     FDB BLOCK get adr\r05408         FDB XMACH\r05409         PULU X\r05410    LDD UIN,Y\r05420         LDA D,X\r05425   BEQ PARENE NUL?\r05430   CMPA #')\r05440  BNE PARENL\r05450        INCB    bump\r05453      BNE *+5 UIN>15\r05456    INC UIN,Y carry\r05460   STB UIN+1,Y\r05470 PARENE        PULS Y\r05480    NEXT\r05490 *\r05500      FCC 'DAD'\r05510         FCB 3\r05520     FCB MFORE\r05530         FDB PAREN-CFAOFF\r05540  FDB BIF+2\r05550         FDB 0\r05560     FDB DCON-CFAOFF\r05570 DAD       PSHS Y\r05580    PULU Y nfa\r05590        LDB ,Y\r05600    ANDB #NLMASK\r05610      TFR B,A\r05620   NEGA\r05630      LEAX A,Y name\r05640     DECA for NUL\r05650      LEAS A,S allocate\r05660         CLRA\r05670      STA B,S NUL\r05680       PSHU X\r05690    PSHU D,S\r05700  PSHS B,X mark\r05710     DOCOL\r05720     FDB CMOVE for (REFIND)\r05730    FDB XMACH\r05740         LEAX 3,S name\r05750     PSHU X\r05760    LDX GFAOFF,Y\r05770      PSHU X\r05780 DADL       DOCOL\r05790     FDB PREF\r05800  FDB XMACH\r05810         LDX [2,U]\r05820         BNE DADC\r05830  LDD #$19 not found\r05840        PSHU D\r05850    JMP ERROR\r05860 DADC    CMPY [2,U] this node?\r05870     BEQ DADR\r05880  LEAX RTOFF,X deeper\r05890       LEAU 2,U\r05900  STX ,U\r05910    BRA DADL\r05920 DADR     PULS B,X\r05930  STX 4,U\r05950   INCB for NUL\r05960      LEAS B,S drop name\r05970        PULS Y\r05980    NEXT\r05990 *\r20500      FCC 'REPEAL'\r20510      FCB 6\r20520     FCB MFORE\r20530         FDB DAD-CFAOFF\r20540    FDB BIF+2\r20550         FDB 0\r20560     FDB 0\r20570 REPEAL      PSHS Y\r20580    LDX <UP\r20590   LDY UCURR,X\r20592       CMPY UFENCE,X\r20594     BLS REPELX\r20600        LDD LFAOFF,Y\r20610      STD UCURR,X update\r20620        LDD GFAOFF,Y  stash\r20625       PSHU Y\r20630    LEAY PFAOFF,Y\r20640     CMPY UROOT,X\r20650      BNE REPELD\r20660        STD UROOT,X\r20670 REPELD        CMPY UDROOT,X\r20680     BNE REPELF\r20690        STD UDROOT,X\r20700 REPELF       LDY ,U\r20710    LDD #0\r20720    CMPY UFORE,X end?\r20730         BNE REPELA\r20740        STD UFORE,X\r20750 REPELA        DOCOL\r20760     FDB DAD\r20760   FDB XMACH\r20770         LEAU 2,U\r20960  LDD #0\r20970    STD [,U++] ground parent\r20980  PULU D\r20990    LDX <UP\r21000   STD UDP,X\r21010 REPELX  PULS Y\r21020    NEXT\r21090 *\r21100      FCC 'FORGET'\r21110      FCB 6\r21120     FCB MFORE\r21130         FDB REPEAL-CFAOFF\r21140         FDB BIF+2\r21150         FDB FORE-CFAOFF\r21160   FDB GFA-CFAOFF\r21170 FORGET     DOCOL\r21180     FDB DDFIND\r21190        FDB XMACH\r21200         PSHS Y\r21210    LEAU 2,U\r21220  LDY ,U++\r21230  BNE FORGEF found?\r21240         LDD #0\r21250    PSHU D\r21260    JMP ERROR\r21270 FORGEF  LDX <UP\r21280   CMPY UFENCE,X\r21290     BHI FORGER\r21300        LDD #$15\r21310  BRA FORGEF-5\r21320 FORGER       LDB MFAOFF,Y\r21330      ANDB #MFORE\r21370       BEQ FORGEL\r21380        LDD #$1A\r21390  BRA FORGEF-5\r21400 FORGEL       LDX <UP\r21410   CMPY UCURR,X\r21420      BHS FORGEO\r21430        DOCOL\r21440     FDB REPEAL\r21450        FDB XMACH\r21460         BRA FORGEL\r21470 FORGEO BEQ FORGEN\r21480        LDD #$1B\r21490  BRA FORGEF-5\r21500 FORGEN       PULS Y\r21510    JMP REPEAL\r21520 FOLLOW EQU *\r21530 * FORGET should be the last definition in the pre-assembled kernel\r21540 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * The Kernel of BIF: A Dialect of FORTH\r00015 * with a Binary Tree Dictionary\r00020 * Copyright   1989 by Joel Matthew Rees\r00025 *\r00030 * BIF is architecturally derived from\r00035 * the public domain fig-FORTH model.\r00040 * \r00050 *       TITLE BIF kernel 16 Feb 89\r00070        OPT MEX\r00080   INCLUDE BIFU.INC:1\r00090        ORG $1200       DEBIF: $3F00\r00100      INCLUDE BIF.M:1\r00105   INCLUDE BIFDP.ASM:1\r00110       INCLUDE BIFST.ASM:1\r00120       SETDP VDP COLD loads DP\r01000 *\r01001   FCC '@' name\r01002      FCB 1 name length, usage (NFA)\r01003    FCB MFORE type/allocation MODES\r01004   FDB WARM-CFAOFF previous link in allocation\r01005       FDB BIF+2 owning vocabulary\r01006       FDB EQ-CFAOFF left link in tree\r01007   FDB AND-CFAOFF right link in tree\r01010 FETCH   LDD [,U] from [tos] to stack\r01011      STD ,U\r01012    NEXT\r01013 *\r01014      FCC '!'\r01015   FCB 1\r01016     FCB MFORE\r01017         FDB FETCH-CFAOFF\r01030  FDB BIF+2\r01040         FDB NUBLK-CFAOFF\r01050  FDB STOCSP-CFAOFF\r01060 STORE   LDD 2,U from stack to [top]\r01070       STD [,U]\r01080  LEAU 4,U\r01090  NEXT\r01095 *\r01100      FCC 'LIT'\r01110         FCB MCOMP.OR.3\r01120    FCB MFORE\r01130         FDB STORE-CFAOFF\r01140  FDB BIF+2\r01150         FDB 0 * LIST-CFAOFF\r01160       FDB 0\r01170 LIT LDD ,Y++ push literal from code\r01180   PSHU D\r01190    NEXT\r01200 *\r01210      FCC 'DLIT'\r01220        FCB MCOMP.OR.4\r01230    FCB MFORE\r01240         FDB LIT-CFAOFF\r01250    FDB BIF+2\r01260         FDB 0\r01270     FDB 0\r01280 * push double literal from code\r01290 DLIT  LDD ,Y++\r01300  LDX ,Y++\r01310  PSHU D,X\r01320  NEXT\r01330 *\r01340      FCC 'EXECUTE'\r01350     FCB MCOMP.OR.7\r01360    FCB MFORE\r01370         FDB DLIT-CFAOFF\r01380   FDB BIF+2\r01390         FDB 0\r01400     FDB 0\r01410 * EXECUTE cfa on stack\r01420 EXEC   LDX ,U++\r01430  BEQ *+4\r01440   JMP ,X\r01450    LDD #9\r01460    PSHU D\r01462    JMP ERROR\r01464 *\r01466         FCC '1BRANCH'\r01468     FCB MCOMP.OR.7\r01470    FCB MFORE\r01472         FDB EXEC-CFAOFF\r01474   FDB BIF+2\r01476         FDB 0\r01478     FDB 0\r01480 TBR LDD ,U++\r01482  BNE BRANCH\r01484        LEAY 2,Y\r01486  NEXT\r01488 *\r01490      FCC 'BRANCH'\r01500      FCB MCOMP.OR.6\r01510    FCB MFORE\r01520         FDB TBR-CFAOFF\r01530    FDB BIF+2\r01540         FDB 0\r01550     FDB 0\r01560 BRANCH      LDD ,Y++\r01570  LEAY D,Y\r01580  NEXT\r01590 *\r01600      FCC '0BRANCH'\r01610     FCB MCOMP.OR.7\r01620    FCB MFORE\r01630         FDB BRANCH-CFAOFF\r01640         FDB BIF+2\r01650         FDB 0\r01660     FDB 0\r01670 ZBR LDD ,U++\r01680  BEQ BRANCH\r01690        LEAY 2,Y\r01700  NEXT\r01710 *\r01720      FCC '(LOOP)'\r01730      FCB MCOMP.OR.6\r01740    FCB MFORE\r01750         FDB ZBR-CFAOFF\r01760    FDB BIF+2\r01770         FDB 0\r01780     FDB 0\r01790 XLOOP       LDD #1\r01800    ADDD ,S\r01810   STD ,S\r01820    SUBD 2,S\r01830  BLT BRANCH\r01840 XLOOPN LEAY 2,Y\r01850  LEAS 4,S\r01860  NEXT\r01870 *\r01880      FCC '(+LOOP)'\r01890     FCB MCOMP.OR.7\r01900    FCB MFORE\r01910         FDB XLOOP-CFAOFF\r01920  FDB BIF+2\r01930         FDB 0\r01940     FDB 0\r01950 XPLOOP      LDD ,U++ inc val\r01960  BPL XLOOP+3\r01970       ADDD ,S\r01980   STD ,S\r01990    SUBD 2,S\r02000  BGT BRANCH\r02010        BRA XLOOPN\r02020 *\r02030        FCC '(DO)'\r02040        FCB 4\r02050     FCB MFORE\r02060         FDB XPLOOP-CFAOFF\r02070         FDB BIF+2\r02080         FDB 0\r02090     FDB 0\r02100 XDO PULU D,X\r02110  PSHS D,X\r02120  NEXT\r02130 *\r02140      FCC 'I'\r02150   FCB 1\r02160     FCB MFORE\r02170         FDB XDO-CFAOFF\r02180    FDB BIF+2\r02190         FDB HLD-CFAOFF\r02200    FDB IDDOT-CFAOFF\r02210 I        LDD ,S\r02220    PSHU D\r02222    NEXT\r02224 *\r02226      FCC 'J'\r02228   FCB 1\r02230     FCB MFORE\r02232         FDB I-CFAOFF\r02234      FDB BIF+2\r02236         FDB IPCOM-CFAOFF\r02238  FDB 0\r02240 J   LDD 4,S\r02242   PSHU D\r02244    NEXT\r02246 *\r02250      FCC 'DIGIT'\r02260       FCB 5\r02270     FCB MFORE\r02280         FDB J-CFAOFF\r02290      FDB BIF+2\r02300         FDB DEC-CFAOFF\r02310    FDB DLITER-CFAOFF\r02320 DIGIT   LDB 3,U\r02330   CMPB #'9\r02340  BLS DIGITX+4\r02350      CMPB #'A\r02360  BLO DIGITN\r02370        CMPB #'Z\r02380  BLS DIGITX+2\r02390      CMPB #'a\r02400  BLO DIGITN\r02410        CMPB #'z\r02420  BHI DIGITN\r02430 DIGITX SUBB #'a-'Z-1\r02440     SUBB #'A-'9-1\r02450     SUBB #'0\r02460  CMPB 1,U\r02470  BHS DIGITN\r02480        CLRA\r02490      STD 2,U\r02500   LDD #-1\r02510 DIGITL    STD ,U\r02520    NEXT\r02530 DIGITN       LEAU 2,U\r02540  LDD #0\r02550    BRA DIGITL\r02560 *\r02570        FCC '(FIND)'\r02580      FCB 6\r02590     FCB MFORE\r02600         FDB DIGIT-CFAOFF\r02610  FDB BIF+2\r02620         FDB IABORT-CFAOFF\r02630         FDB XMACH-CFAOFF\r02640 * search vocabulary adr2 for (adr1)\r02650 PFIND  LDD ,U valid?\r02660     BEQ PFINDX\r02670 PFINDL DOCOL\r02680     FDB PREF\r02690  FDB XMACH\r02700         LEAU 2,U\r02710  LDX [,U] NULL link?\r02720       BEQ PFINDN\r02730        LDB ,X\r02740    ANDB #MHID smudged?\r02750       BEQ PFINDY\r02760        LEAX RTOFF,X deeper\r02770       STX ,U\r02780    BRA PFINDL\r02790 PFINDY LDX #-1\r02800 PFINDN    LDD ,U\r02810    STX ,U\r02820 PFINDX     STD 2,U\r02830   NEXT\r02990 *\r03000      FCC 'ENCLOSE'\r03010     FCB 7\r03020     FCB MFORE\r03030         FDB PFIND-CFAOFF\r03040  FDB BIF+2\r03050         FDB EMTBUF-CFAOFF\r03060         FDB 0\r03070 * adr1 c --- adr2 len\r03080 ENCLOS  LDX 2,U\r03100 ENCLLD    LDB ,X+ delimiter\r03110         BEQ ENCL0\r03120         CMPB 1,U\r03130  BEQ ENCLLD\r03133 ENCL0  LEAX -1,X\r03140         STX 2,U\r03150 ENCLLW    LDB ,X+ scan word\r03160         BEQ ENCLCA\r03170        CMPB 1,U\r03180  BNE ENCLLW\r03190 ENCLCA TFR X,D length\r03195    SUBD #1\r03200   SUBD 2,U\r03220  STD ,U\r03230    NEXT\r03240 *\r03250      FCC 'LITERAL'\r03260     FCB MIMM.OR.7\r03270     FCB MFORE\r03280         FDB ENCLOS-CFAOFF\r03290         FDB BIF+2\r03300         FDB LIT-CFAOFF\r03310    FDB LOAD-CFAOFF\r03320 * compile a literal\r03330 LITER   BSR LITERS\r03340        LDD #LIT\r03350 LITERB   STD ,Y++\r03360  PULU D\r03370    STD ,Y++\r03380  STY UDP,X\r03390         PULS Y\r03400    JMP HERERR\r03405 *\r03410 LITERS LDX <UP\r03412   LDB USTATE+1,X\r03414    ANDB #SCOMP\r03416       PULS D no CC\r03418      BNE *+4 compiling?\r03420        NEXT no\r03422   PSHS Y\r03424    LDY UDP,X\r03426         EXG D,PC return\r03430 *\r03435   FCC 'DLITERAL'\r03440    FCB MIMM.OR.8\r03450     FCB MFORE\r03460         FDB LITER-CFAOFF\r03470  FDB BIF+2\r03480         FDB DLIT-CFAOFF\r03490   FDB DMINUS-CFAOFF\r03500 * compile a 32 bit constant\r03510 DLITER        BSR LITERS\r03540        LDD #DLIT\r03550         STD ,Y++\r03560  PULU D\r03570    BRA LITERB\r03630 *\r08210        INCLUDE BIFB.ASM:1\r08220        INCLUDE BIF1.ASM:1\r08230        INCLUDE BIF1B.ASM:1\r08240       INCLUDE BIF2.ASM:1\r08250        INCLUDE BIF2B.ASM:1\r08260       INCLUDE BIF3.ASM:1\r08270        INCLUDE BIF3B.ASM:1\r08280       INCLUDE BIF4.ASM:1\r08285        INCLUDE BIF4B.ASM:1\r08290       INCLUDE BIF5.ASM:1\r08295        INCLUDE BIF5B.ASM:1\r08300       INCLUDE BIF6.ASM:1\r08310        INCLUDE BIF6B.ASM:1\r08320       INCLUDE BIF7.ASM:1\r08330        INCLUDE BIF7B.ASM:1\r09000       END\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\80\12
-\12~\12D\12~\13\ 6h      \0\0\0\0\0\b\0\0þüÿþÿ\80\0\0\0\ 12­2®\0\0{p\0\0\0 {ð\80\0COLD\ 4\0\0\0\0\0\0\0\0\01\8d\0\8f\1eR\7f\0qì<í\89\0\0ì,í\89\0\0ì.í\89\0\0ì¨\10í\89\0\0í\89\0\06\ 6\8d\11Ì\0\06\ 6\8d
\0\06\ 6\8d\ 3~\13\v46\10\9e\0®Á'Mì\84\0\0\80\12\8a'I\10£©\0\0#\aÌ\0\0í\84 ;\1f\ 1Ì\0\04\ 6ì\89\0\0'\12\10£©\0\0#  Ì\0\0í\89\0\0 \ 24\ 6ì\89\0\0'\12\10£©\0\0"\ 4\1f\ 1 ×Ì\0\0í\89\0\0®á&Ì5¶\10Îÿþ4\ 1\1aP4 Ì\12\0\1f\8b\10\8e\12\1a®¤\9f\0ÎþüÌ\0\0ý\0\09WARM\ 4\0\0\0\0\0\0\0\0\01\8cÎ\1e\0\0\80\13
-Rì"í\89\0\0í\89\0\0ì$í\89\0\0ì>í\89\0\0ì&í\89\0\0ì*í\89\0\0\10ì"í\89\0\0í\89\0\0ì$í\89\0\0ì&í\89\0\0ì(í\89\0\0í\89\0\0í\89\0\0ì*í\89\0\0Ì\0\10í\89\0\0Ì\0\0í\99\0\0í\99\0\0\86\01\89\0\0ç J&û5\ 1\1cï#¼\0\0@\ 1\0\0\0\0\0\0\0\0\0\0\0\80\13\8aìÔíÄ!\ 1\0\0\0\0\0\0\0\0\0ìBíÔ3DLIT\0\0\0\0\0\0\0\0\0\0ì¡6\ 6DLIT\0\0\0\0\0\0\0\0\0\0ì¡®¡6\16EXECUTE\0\0\0\0\0\0\0\0\0\0®Á'\ 2n\84Ì\0       6\ 6~\0\01BRANCH\0\0\0\0\0\0\0\0\0\0ìÁ&\121"BRANCH\0\0\0\0\0\0\0\0\0\0\0\0\80\14
-ì¡1«0BRANCH\0\0\0\0\0\0\0\0\0\0ìÁ'ç1"(LOOP)\0\0\0\0\0\0\0\0\0\0Ì\0\ 1ãäíä£b-Ê1"2d(+LOOP)\0\0\0\0\0\0\0\0\0\0ìÁ*ßãäíä£b.© Ý(DO)\ 4\0\0\0\0\0\0\0\0\07\164\16I\ 1\0\0\0\0\0\0\0\0\0ìä6\ 6J\ 1\0\0\0\0\0\0\80\14\8a\0\0\0\0\0ìd6\ 6DIGIT\ 5\0\0\0\0\0\0\0\0\0æCÁ9#\14ÁA%\1eÁZ#
-Áa%\16Áz"\12À\ 6À\aÀ0áA$\bOíBÌÿÿíÄ3BÌ\0\0 ÷(FIND)\ 6\0\0\0\0\0\0\0\0\0ìÄ'\1f\16\86!'3B®Ô'\11æ\84Ä\0'\b0\89\0\0¯Ä þ\8eÿÿìįÄíBENCL\0\0\80\15
-OSE\a\0\0\0\0\0\0\0\0\0®Bæ\80'\ 4áA'ø0\1f¯Bæ\80'\ 4áA&ø\1f\10\83\0\ 1£BíÄLITERAL\0\0\0\0\0\0\0\0\0\0\8d\13Ì\13¬í¡7\ 6í¡\10¯\89\0\05 ~\1d\8e\9e\0æ\89\0\0Ä\05\ 6&\ 2\10®\89\0\0\1e\ 5DLITERAL\0\0\0\0\0\0\0\0\0\0\8d×Ì\13¾í¡\0\0\80\15\8a7\ 6 ¾EMIT\ 4\0\0\0\0\0\0\0\0\07\ 6\1f\98_4h\1f\9b­\9f \ 25hKEY\ 3\0\0\0\0\0\0\0\0\04h_\86Ï\1f\9b\9e\88æ\84§\84­\9f \0'úç\84_\81\ 3&\ 1S\1e\895h6\ 6?TERMINAL  \0\0\0\0\0\0\0\0\04h_\1f\9b­\9f \0 ÖCR\ 2\0\0\0\0\0\0\0\0\0Æ\r \97(;C\0\0\80\16
-ODE)\0\0\0\0\0\0\0\0\0\0\9e\0®\89\0\00\89\0\0¦\8d\0\a§\80\10¯\815 ½\0\0>PRT\ 4\0\0\0\0\0\0\0\0\0Æþ÷\0o>VID\ 4\0\0\0\0\0\0\0\0\0\7f\0o2*\ 2\0\0\0\0\0\0\0\0\0hAiÄ2/\ 2\0\0\0\0\0\0\0\0\0gÄfA(REFIND)\b\0\0\0\0\0\0\0\0\0Ì\0\04\0\0\80\16\8a&®Ä'! 0\10®Bæ\84Ä\0'\ e\1f\98@0\86¦  \80&\vZ&÷¦¤&\ 45&6\ 6®ÔM+\ 4Æ\0 \ 2Æ\00\85ça¯Ä®\84&Ì åMOVE\ 4\0\0\0\0\0\0\0\0\0ìÁ'\124`\10®ÄîB7\10¯¡\83\0\ 1&÷5`3DCMOVE\ 5\0\0\0\0\0\0\0\0\0Ì\0\0£Á4"70'\v¦ §\0\0\80\17
-\80\&ùlä&õ5"U*\ 2\0\0\0\0\0\0\0\0\02|¦AæC=íb¦ÄæB=íäìA=ãa$\ 2läía¦ÄæC=ãa$\ 2läía5\16íįBU/\ 2\0\0\0\0\0\0\0\0\0\86\114\ 2ìB\10£Ä$\ 4\1cþ \ 4£Ä\1a\ 1iEiDjä'\ 6YI$ç î2a3B®BíB¯ÄAND\ 3\0\0\0\80\17\8a\0\0\0\0\0\0\0\07\ 6äA¤ÄíÄOR\ 2\0\0\0\0\0\0\0\0\07\ 6êAªÄíÄXOR\ 3\0\0\0\0\0\0\0\0\07\ 6èA¨ÄíÄSP@\ 3\0\0\0\0\0\0\0\0\0\1f16\10SP!\ 3\0\0\0\0\0\0\0\0\0\9e\0î\89\0\0oÄoARP!\ 3\0\0\0\0\0\0\0\0\0\9e\0\10î\89\0\0oäoa;S\0\0\0\0\0\0\0\80\18
-\0\0\0\05 LEAVE\0\0\0\0\0\0\0\0\0ìäíb>R\0\0\0\0\0\0\0\0\07\ 64\ 6R>\0\0\0\0\0\0\0\0\0\ e\0R\ 1\0\0\0\0\0\0\0\0\0~\14\80=\ 1\0\0\0\0\0\0\0\0\07\ 6\10£Ä'& 9<\ 1\0\0\0\0\0\0\0\0\0ìB\10£Á-\12 %0=\ 2\0\0\0\0\0\0\0\0\0ìÄ&\15ÌÿÿíÄ0\0\0\80\18\8a<\ 2\0\0\0\0\0\0\0\0\0¦Ä+ëÌ\0\0íÄ>\ 1\0\0\0\0\0\0\0\0\0ìB\10£Á.Ô ç+\ 1\0\0\0\0\0\0\0\0\07\ 6-\ 1\0\0\0\0\0\0\0\0\0ìB£ÁíÄD+\ 2\0\0\0\0\0\0\0\0\0ìFãBíFìDéA©Ä3DíÄD-\ 2\0\0\0\0\0\0\0\0\0ìF£BíFìDâA¢Ä3DíÄMI\0\0\80\19
-NUS\ 5\0\0\0\0\0\0\0\0\0Ì\0\0£ÄíÄDMINUS\ 6\0\0\0\0\0\0\0\0\0Ì\0\0£BíBÌ\0\0âA¢ÄíÄOVER\ 4\0\0\0\0\0\0\0\0\0ìB6\ 6DROP\ 4\0\0\0\0\0\0\0\0\03BSWAP\ 4\0\0\0\0\0\0\0\0\07\166\ 66\10DUP\ 3\0\0\0\0\0\0\0\0\0ìÄ6\ 6+!\ 2\0\0\0\0\80\19\8a\0\0\0\0\0\0\07\10ì\84ãÁí\84TOGGLE\ 6\0\0\0\0\0\0\0\0\07\16è\84ç\84C@\ 2\0\0\0\0\0\0\0\0\0æÔOíÄC!\ 2\0\0\0\0\0\0\0\0\0æCçÔ3DROT\ 3\0\0\0\0\0\0\0\0\04 766\166 5 BACK\0\0\0\0\0\0\0\0\0\0\9e\07\ 6£\89\0\0\83\0\ 26\ 6~\1dÉNOT\0\0\80\1a
-\ 3\0\0\0\0\0\0\0\0\0ìÄSCíÄ'\0\0\0\0\0\0\0\0\0\0\0\0\19^\19\81\18\80\ey$¸\15G\18\ e-->\0\0\0\0\0\0\0\0\0\0%J\ey\0\0\13\99\0\0\0\0\13\8a\19L\0\0\18Ê\0\0\19\91\18\ e1ARRAY\ 6\0\0\0\0\0\0\0\0\0\0\0&O!'®Ä\8c\0ÿ#\bÌ\0\r6\ 6\16å\7fìDíįDìB£\0\0\80\1a\8aÄ-ìÃ\0\ 1íB6\16\17 \13¬\0\r\18-\1dÉ\1dÉ\1dê\18<\1d® «\18\ eUTILITIES\0\0\0\0\0\0\0\0\0\0\0\0DP@\ 3\0\0\0\0\0\0\0\0\0\1f¸_6\ 6DCONSTANT        \0\0\0\0\0\0\0\0\0\0\0&O\9d\0\1dÉ\1dÉ «\18\ eSWAB\ 4\0\0\0\0\0\0\0\0\0ìÄçħASW\0\0\80\e
-AN\ 4\0\0\0\0\0\0\0\0\0¦AæADVDVDVDVçA¦ÄæÄDVDVDVDVçÄ1+\ 2\0\0\0\0\0\0\0\0\0Ì\0\ 11-\ 2\0\0\0\0\0\0\0\0\0Ìÿÿ2+\ 2\0\0\0\0\0\0\0\0\0Ì\0\ 22-\ 2\0\0\0\0\0\0\0\0\0Ìÿþ0\ 1\0\0\0\0\0\0\0\0\0Ì\0\06\ 61\ 1\0\0\0\0\0\0\0\0\0Ì\0\0\80\e\8a\0\ 16\ 6-1\ 2\0\0\0\0\0\0\0\0\0Ìÿÿ6\ 62\ 1\0\0\0\0\0\0\0\0\0\0\ 23\ 1\0\0\0\0\0\0\0\0\0\0\ 3BL\ 2\0\0\0\0\0\0\0\0\0\0 C/L\ 3\0\0\0\0\0\0\0\0\0\0FIRST\ 5\0\0\0\0\0\0\0\0\0\0LIMIT\ 5\0\0\0\0\0\0\0\0\0\0B/BUF\ 5\0\0\0\0\0\0\0\0\0\ 1\0B/SC\0\0\80\1c
-R\ 5\0\0\0\0\0\0\0\0\0\0\ 4+ORIGIN\a\0\0\0\0\0\0\0\0\0Ì\12
-\16ü\91TIB\ 3\0\0\0\0\0\0\0\0\0\0WARNING\a\0\0\0\0\0\0\0\0\0\0FENCE\ 5\0\0\0\0\0\0\0\0\0\0DP\ 2\0\0\0\0\0\0\0\0\0\0ROOT\ 4\0\0\0\0\0\0\0\0\0\0BLK\ 3\0\0\0\0\0\0\0\0\0\0IN\0\0\80\1c\8a\ 2\0\0\0\0\0\0\0\0\0\0OUT\ 3\0\0\0\0\0\0\0\0\0\0SCR\ 3\0\0\0\0\0\0\0\0\0\0OFFSET\ 6\0\0\0\0\0\0\0\0\0\0STATE\ 5\0\0\0\0\0\0\0\0\0\0BASE\ 4\0\0\0\0\0\0\0\0\0\0DPL\ 3\0\0\0\0\0\0\0\0\0\0FLD\ 3\0\0\0\0\0\0\0\0\0\0CSP\ 3\0\0\0\0\0\0\0\0\0\0\0\80\1d
-\0R#\ 2\0\0\0\0\0\0\0\0\0\0HLD\ 3\0\0\0\0\0\0\0\0\0\0FOREWARD\b\0\0\0\0\0\0\0\0\0\0CURRENT\a\0\0\0\0\0\0\0\0\0\0PREV\ 4\0\0\0\0\0\0\0\0\0\0USE\ 3\0\0\0\0\0\0\0\0\0\0DROOT\ 5\0\0\0\0\0\0\0\0\0\0HERE\ 4\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0\80\1d\8a\0\06\ 6\9e\0\11£\89\0\0#\0Ì\0\ 26\ 6~\0\0ALLOT\ 5\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0+áãÁí\89\0\0 Ð,\ 1\0\0\0\0\0\0\0\0\07\ 6\10\9e\0®©\0\0í\81¯©\0\05  °C,\ 2\0\0\0\0\0\0\0\0\07\ 6\10\9e\0®©\0\0ç\80 ÝSPACE\ 5\0\0\0\0\0\0\0\0\0æ\8d\0\0\80\1e
-áô\16÷\8f-DUP\ 4\0\0\0\0\0\0\0\0\0ìÄ'\ 26\ 6?CST\ 4\0\0\0\0\0\0\0\0\0\9e\0æ\89\0\0Ä\0O6\ 6IF\0\0\0\0\0\0\0\0\0\0\0\0\14\1f\1d\86\ey\1dÉ\13¬IF\18\ eELSE\0\0\0\0\0\0\0\0\0\0\19\81\13¬IF%\r\0\0\14
-\1d\86\ey\1dÉ\19ß!\9e\19n\18\ eENDIF\0\0\0\0\0\0\0\80\1e\8a\0\0\0\0\0\13¬IF%\r!\9e\18\ eLATEST\ 6\0\0\0\0\0\0\0\0\0\0LFA\ 3\0\0\0\0\0\0\0\0\0Æ\0 \ fCFA\ 3\0\0\0\0\0\0\0\0\0Æ\0\1dãÄíÄGFA\ 3\0\0\0\0\0\0\0\0\0Æ\0 êPFA\ 3\0\0\0\0\0\0\0\0\0Æ\0 ÙNFA\ 3\0\0\0\0\0\0\0\0\0Æ\0 È!CSP\ 4\0\0\0\80\1f
-\0\0\0\0\0\0\0\0\9e\0ï\89\0\0HEX\ 3\0\0\0\0\0\0\0\0\0Æ\10O\9e\0í\89\0\0DECIMAL\a\0\0\0\0\0\0\0\0\0Æ
- äOCTAL\ 5\0\0\0\0\0\0\0\0\0Æ\b ÑFILL\ 4\0\0\0\0\0\0\0\0\04 76ç 0\1f&ú5 ERASE\ 5\0\0\0\0\0\0\0\0\0Æ\06\ 6 ßBLANK\0\0\80\1f\8aS\ 6\0\0\0\0\0\0\0\0\0Æ 6\ 6 ÉHOLD\ 4\0\0\0\0\0\0\0\0\07\ 6\10\9e\0®©\0\0ç\82¯©\0\05 PAD\ 3\0\0\0\0\0\0\0\0\0\0S->D\ 4\0\0\0\0\0\0\0\0\03^ìB\16ø¸+-\ 2\0\0\0\0\0\0\0\0\0ìÁ\10+ù&D+-\ 3\0\0\0\0\0\0\0\0\0ìÁ\10+ù*ABS\ 3\0\0\0\0\80 
-\0\0\0\0\0\0\0ìÄ\10\0DABS\ 4\0\0\0\0\0\0\0\0\0ìÄ\10\ 3MIN\ 3\0\0\0\0\0\0\0\0\07\ 6\10£Ä,\ 2íÄMAX\ 3\0\0\0\0\0\0\0\0\07\ 6\10£Ä/\ 2íÄ[\0\0\0\0\0\0\0\0\0Æ\0\9e\0ä\89\0\0ç\89\0\0]\ 1\0\0\0\0\0\0\0\0\0Æ\0\9e\0ê\89\0\0ç\89\0\0IMMEDI\0\0\80 \8aATE       \0\0\0\0\0\0\0\0\0Æ\0 \12SMUDGE\ 6\0\0\0\0\0\0\0\0\0Æ\0\9e\0è\99\0\0ç\99\0\0COMPILE-ONLY\f\0\0\0\0\0\0\0\0\0Æ\0 ÜCOUNT\ 5\0\0\0\0\0\0\0\0\0®Äæ\80¯ÄO6\ 6-TRAILING    \0\0\0\0\0\0\0\0\0ìÄ®B0\8b\86 ¡\82&\ 4¬B\0\0\80!
-$ø\1f\10£BÃ\0\ 1íÄ(MACHINE)\0\0\0\0\0\0\0\0\0\1f!5 n\84TYPE\ 4\0\0\0\0\0\0\0\0\0ìÄ'\17ãBíÄ®Bæ\80¯BO6\ 6\15\9c!'®B¬Ä%ï3D(.")\0\0\0\0\0\0\0\0\0\0æ O\1f!1«6\16 ÊID.\ 3\0\0\0\0\0\0\0\0\07\10æ\84Ä\0P0\85PO6\0\0\80!\8a\16 ®FILL-IN\0\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0£Ä\83\0\ 2íÑBEGIN\0\0\0\0\0\0\0\0\0\0\1d\86\13¬BE\18\ eAGAIN\0\0\0\0\0\0\0\0\0\0\13¬BE%\r\0\0\14
-\19÷\18\ eUNTIL\0\0\0\0\0\0\0\0\0\0\13¬BE%\r\0\0\14\1f\19÷\18\ eWHILE\0\0\0\0\0\0\0\0\0\80"
-\0\0\0\19\81\13¬BE%\r\0\0\14\1f\1d\86\ey\1dÉ\13¬WH\18\ eREPEAT\0\0\0\0\0\0\0\0\0\0\13¬WH%\r\18-\0\0\18<!\9e\18\ eDO\0\0\0\0\0\0\0\0\0\0\0\0\14q\1d\86\13¬DO\18\ eM*\ 2\0\0\0\0\0\0\0\0\0ìĨB4\ 6 \11\19\11\17 !'ìá\10+ö¯M/\ 2\0\0\0\0\0\0\0\0\0\0\80"\8a\0\19L\18-\18- %\18\11\17Z\18<\18I\17»\1fë\19n\18<\1fë\19n\18\ e*\ 1\0\0\0\0\0\0\0\0\0\17 \19^\18\ e/MOD\ 4\0\0\0\0\0\0\0\0\0ìÄ6\ 6ÌÿÿmD+\ 3Ã\0\ 1íB\16Ý#/\ 1\0\0\0\0\0\0\0\0\0\19n\19^\18\ eMOD\ 3\0\0\0\0\0\0\0\0\0\19^\18\ e*/MOD\ 5\0\0\0\80#
-\0\0\0\0\0\0\0\0\18-"i\18<\0\0\18\ e*/\ 2\0\0\0\0\0\0\0\0\0\0\0\19n\19^\18\ eM/MOD\ 5\0\0\0\0\0\0\0\0\0\18-\ey\18I\17Z\18<\19n\18-\17Z\18<\18\ e+BUF\ 4\0\0\0\0\0\0\0\0\0\9e\0ü\0\0Ã\0\ 4ãÄ\10£\89\0\0%\ 4ì\89\0\0íÄ\10£\89\0\0'\ 5Ìÿÿ \ 3Ì\0\06\ 6U\0\0\80#\8aPDATE\ 6\0\0\0\0\0\0\0\0\0\9e\0ì\99\0\0\8a\80í\99\0\0EMPTY-BUFFERS\r\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0\83\0\ 14&®\89\0\0\10\8e\0\0ü\0\0¬ä$\ e\10¯\810\8b¬ä$\ 5\10¯\81 î5&DRIVE-OFFSET\f\0\0\0\0\0\0\0\0\0\0\0\0\ 4\ 2\ 2v\ 2v\80\0\80\0\80\0\0\80$
-\0DRIVE\ 5\0\0\0\0\0\0\0\0\0\8e\0\0Ì\0\0ã\81+\ 6jA*ø£\1e\9e\0í\89\0\03BR/W\ 3\0\0\0\0\0\0\0\0\04h\10¾À\ 6\8e\0\0ìB£\81$ü(\bÌ\0\ 66\ 6~\0\0ã\834\106\ 6Ì\0\126\ 6"Ê!'7\ 6ç"7\ 6\ç#5\ 6\83\0\0Wç!ìDí$Æ\ 2®Ä&\ 1\ç¤O\1f\8b­\9f\0\0\80$\8aÀ\ 45h3F¾À\ 6æ\ 6\9e\0Ì\0\0í\89\0\0Ì\0\b6\ 6~\0\0?ERROR\ 6\0\0\0\0\0\0\0\0\07\10ìÁ&\ 26\10~\0\0?COMP\ 5\0\0\0\0\0\0\0\0\0\9e\0æ\89\0\0Ä\0&þÌ\0\11 5?EXEC\ 5\0\0\0\0\0\0\0\0\0\9e\0æ\89\0\0'þÌ\0\12 \19?PAIRS\ 6\0\0\0\0\0\0\0\0\80%
-\0\0\07\ 6£Á'þÌ\0\136\ 6~\0\0?CSP\ 4\0\0\0\0\0\0\0\0\0\9e\0\1f\89\0\0'þÌ\0\14 Þ?LOADING\b\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0&þÌ\0\16 ¿COMPILE\a\0\0\0\0\0\0\0\0\0$Ò!'ì¡6\ 6~\1dÉLOOP\0\0\0\0\0\0\0\0\0\0\13¬DO%\r\0\0\14\0\0\80%\8a5\19÷\18\ e+LOOP\0\0\0\0\0\0\0\0\0\0\13¬DO%\r\0\0\14U\19÷\18\ eLOAD\ 4\0\0\0\0\0\0\0\0\0\10\9e\0ì©\0\0®©\0\04\16Ì\0\0í©\0\0\0\0\0\0\0\0\13\99\0\0!'5\16í©\0\0¯©\0\05 <BUILDS\0\0\0\0\0\0\0\0\0\0\ey\0\0\18\ eDOES>\0\0\0\0\0\0\0\0\80&
-\0\0\0\0\9e\0®\89\0\0ì\8d\0\ví\89\0\0\10¯\89\0\0\9d\0;CODE\0\0\0\0\0\0\0\0\0\0%)\0\0\16\18 a\0\0\1f\12\18\ eIP,\0\0\0\0\0\0\0\0\0\0~%l?STACK\ 6\0\0\0\0\0\0\0\0\0\9e\0\11¬\89\0\0#\ 4Æ
- +ì\99\0\0\11¬\89\0\0"\ 4Æ\v \1aì\99\0\0&\a\11£\89\0\0\0\80&\8a\0#\ 4Æ\ 1        \11£\89\0\0#\ 2Æ\aO6\ 6~\0\0BUFFER\ 6\0\0\0\0\0\0\0\0\0\10\9e\0ì©\0\04\ 66\ 6#a\14\1fÿú!'7\ 6í©\0\0®äì\84*\ f\84\7f0\ 26\16Ì\0\06\ 6$?!'7\ 65\10í\84¯©\0\00\ 26\105 BLOCK\ 5\0\0\0\0\0\0\0\0\0\10\9e\0ì©\0\0ãÄ\0\0\80'
-íÄ®©\0\0ì\84\84\7f\10£Ä' 6\10#a\13ô\0\12\19^\19\81\19L\19L\19n\e\9a$?\ek!'7\10 ×¯©\0\00\ 2¯Ä5 (LINE)\ 6\0\0\0\0\0\0\0\0\0\18-\0\0\0\0\0\0\18<\0\0\0\0\18½&ÿ\18½\0\0\18\ e.LINE\ 5\0\0\0\0\0\0\0\0\0\0\0 ü!;\18\ eSPACES\ 6\0\0\0\80'\8a\0\0\0\0\0\0\0\0ìÄ.þ3B\ey\14q\1e\b\145ÿú\18\ e<#\ 2\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0í\89\0\0#>\ 2\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0£\89\0\0íÄì\89\0\0íBSIGN\ 4\0\0\0\0\0\0\0\0\0\19ß\18\95\14\1f\0\ 6\13¬\0-\1f©\18\ e#\ 1\0\0\0\0\0\0\0\0\0\0\0\13\8a\0\0\19ß!\0\0\80(
-'æAÁ   #\bÁñ#\ 2Ë\ 6Ë\aË0çA\1f©\18\ e#S\ 2\0\0\0\0\0\0\0\0\0\0\0!'ìB&þìÄ&þD.R\ 3\0\0\0\0\0\0\0\0\0\18-\19n\19L %'°\0\0\0\0\18<\19L\18Ê'\92!;\18\ eD.\ 2\0\0\0\0\0\0\0\0\0\ey\0\0\1e\b\18\ e.R\ 2\0\0\0\0\0\0\0\0\0\18-\1fØ\18<\0\0\0\0\80(\8a\18\ e.\ 1\0\0\0\0\0\0\0\0\0\1fØ\0\0\18\ e?\ 1\0\0\0\0\0\0\0\0\0ìÑ6\ 6 þMESSAGE\a\0\0\0\0\0\0\0\0\0\0\0\13\8a\e\89\17\92\14\1f\0\1a\1e\1d\14\1f\0\1f\13¬\0\ 4\0\0\13\8a\0\0\0\0\18Ê\0\0\14
-\0\v!f\ 6MSG # \0\0\18\ e(ABORT)\a\0\0\0\0\0\0\0\0\0\0\0\18\ eERR\0\0\80)
-OR\ 5\0\0\0\0\0\0\0\0\0\0\0 à!;!f\ 3 ? \0\0\0\0\13\8a\18\95\14\1f\0\ 2\0\0\17á\0\0\13\8a\0\0\13\8a\0\0\18\ eEDITOR\0\0\0\0\0\0\0\0\0\0\0\0QSYNC\ 5\0\0\0\0\0\0\0\0\0\9e\0æ\89\0\0\86\ 4ý\0\88EBLK\ 4\0\0\0\0\0\0\0\0\0\0CURSOR\ 6\0\0\0\0\0\0\0\0\0\0\0\0\80)\8a\0\13\8a&ÿ\0\0\13\8a\18½\18\ eQDUMP\ 5\0\0\0\0\0\0\0\0\04 7 \8e\ 4\0Oæ ç\80J&ù5 QARROW\ 6\0\0\0\0\0\0\0\0\0æA\86\ 40\8d\0\80'\18J&ùÁ\15\0\0!'Ì `§Ñç\9f\0\88Æÿ \ 2æ\ 3\9e\0ë\89\0\0ç\89\0\0Ì\0\0íÄ^
-\b      à ÿ\ 1(NUMBE\0\0\80*
-R)\b\0\0\0\0\0\0\0\0\04 7 \9e\0æ O6\ 6ì\89\0\06\ 6\14¢\14\1f\0'\19n\0\0\13\8a\17 \19^\19ß\0\0\13\8a\17 \18Ü!'\9e\0ì\89\0\0+ÑÃ\0\ 1í\89\0\0 È!'1?6 5 NUMBER\ 6\0\0\0\0\0\0\0\0\07\100\ 1æ\84À-&\ 20\ 1O6\ 6_6\ 66\ 66\10Ìÿÿ\9e\0í\89\0\0\0\80*\8a\0*\16!'®Äæ\84'\1dÁ:'\bÁ-%\rÁ/"    0\ 1¯ÄÌ\0\0 ÛÌ\0\06\ 6~\0\03B\19ß\13ô\0\ 2\19.\18\ eWORDPAD\a\0\0\0\0\0\0\0\0\0\0WORD\ 4\0\0\0\0\0\0\0\0\0\10\9e\0ì©\0\0'
-6\ 6&ÿ!'7\ 6 \ 2ì©\0\0ã©\0\07\10\1f\ 260\15\17!'4 ìB£\0\0\80+
-áãÄ\9e\0ã\89\0\0í\89\0\07\ 6\10\83\0\0#\ 3Ì\0\0\10®\89\0\0ç o¥6&5 \16ü\18\ eBS\ 2\0\0\0\0\0\0\0\0\0\0EXPECT\ 6\0\0\0\0\0\0\0\0\04 ìÄ\10®B\83\0\ 1-;'70«¯Ä\15¸!'æA\9e\0á\89\0\0&\r\10¬D#\ 41? þoA þÁ\r&\ 5\10¯B þÁ %ï\0\0\80+\8aç \15\9c!'\10¬Ä%þo¤3D5 QUERY\ 5\0\0\0\0\0\0\0\0\0\9e\0Ì\0\0í\89\0\0Ì\0\80®\89\0\06\16+P\18\ e\0\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0'\1cÃ\0\ 1í\89\0\0Ì\0\0í\89\0\0ü\0\0\89\0\0&\ 6$ð!'5 FIND\ 4\0\0\0\0\0\0\0\0\0ìBÃ\0\ 1íBìÄ®B6\0\0\80,
-\16\14á!'ìÄ&\11®Dì\89\0\0\10£D'\ 63DíÄ ãìØ\ 23DíB-DFIND\ 6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\13\8a\19n\13\8a\19L\19L\18W\14\1f\0\ 6\19^\14
-\0\16\0\0\19n+þ\19L\14\1f\0\ 6\19ß\19^\18\ e\19^\19^\0\0\19n+þ\18\ e-IFIND\ 6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\80,\8a\0\14
-ÿ°NAME,\ 5\0\0\0\0\0\0\0\0\0\0\0 à\18-\1d\86\18I\1d®\18I\16ü\1d\86\18<\18\ eFORE-MARK       \0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0'þ®\89\0\0æ\ 1Ê\0ç\ 1(INSTALL)\0\0\0\0\0\0\0\0\0\0®Ä&\bÌ\0\186\ 6~\0\0\10®Bæ¤Ä\0\1f\98@1¦J2æO\0\0\80-
-§å6 6F4\ 4\16ü!'®Ä1a60\14á!'ìÁ'\18®Ñ\8c\0\0&\ 5Ì\0\1c Ãæ\84Ê\0ç\840\89\0\0 Þ5\ 4\2å®Ä&\ 5Ì\0\19 ©ìB\10®D\10¯\84í©\0\03F5 0!\ 2\0\0\0\0\0\0\0\0\0Ì\0\0ý\0\0?0\ 2\0\0\0\0\0\0\0\0\0ü\0\0&\ 2Ì\0\ 56\ 6\9e\0¦\89\0\0\8a\80\0\0\80-\8a§\89\0\0~\0\0QUICK\ 5\0\0\0\0\0\0\0\0\0\10\9e\0ì©\0\0®©\0\04\167\ 6í©\0\0Ì\0\0í©\0\0\0\0)¦)_\15¸!'æAÁ\ 3'5)Ç)_\0\0!'ìB&\ 4æÑ \1aÁ\&\b\15¸!'7\ 6çÑl©\0\0¦¹\0\0\8a\80§¹\0\0OíÄ\15\9c)_\14
-ÿÁ3B5\16í©\0\0¯\0\0\80.
\0\05 NODE.\ 5\0\0\0\0\0\0\0\0\0\19\81!~\1e\b\ey\0\0\16\ 3\15ì\19\81\18\95\14\1f\0\ 4\19^\15¸\18\ eVISIT\ 5\0\0\0\0\0\0\0\0\0\10\9e\0®©\0\04\16\10ï©\0\0®Á7\ 6'>®\84':Ã\0\0íä4\10\11¬©\0\0"\ 5Æ\v~&\9a®\89\0\0\11¬©\0\0$\1a®äì¹\0\06\0\0\80.\8a\16\13Õ&b!'ìÁ+\b5\10®\89\0\0 Ý\10î©\0\05\16¯©\0\05 VLIST\ 5\0\0\0\0\0\0\0\0\0\13¬\0\0\0\0\13\8a.I\18\ eCREATE\ 6\0\0\0\0\0\0\0\0\0\0\0\19L\14\1f\0\18\19n!~\1e\b\13¬\0\ 4\0\0\1e\b\1f\0!~\16\ 3\14
-\0\ 4\19^\19^\0\0\1dê\ey\1dê\0\0\1dÉ\19\81\0\0\13\0\0\80/
-\99\ey\1dÉ\ey\1dÉ\ey\1dÉ «,Ç\0\0\13\8a\18\ eCONSTANT\b\0\0\0\0\0\0\0\0\0\0\0&O\1dÉ «\18\ eVARIABLE\b\0\0\0\0\0\0\0\0\0\0\0&O\1dÉ «\18\ eUSER\ 4\0\0\0\0\0\0\0\0\0\0\0&O\1dê «\18\ e:\0\0\0\0\0\0\0\0\0\0\1f\12\0\0&O x\18\ e\0\0\80/\8a;\0\0\0\0\0\0\0\0\0\0%)\0\0\18\ e « a\18\ e."\0\0\0\0\0\0\0\0\0\0\e\89\0\0\19\91\13¬\0"*Þ\0\0\1e1\14\1f\0\1c\0\0!f\1d\86\19L\19»\e>\19\81\1d®\16ü\e\89\0\0\19\91\14
-\0\ 4 à!;\18\ e[COMPILE]\0\0\0\0\0\0\0\0\0\0\0\0\19^\19\81\18\80\ey$¸\1eÊ\1dÉ\18\ eIN\0\0\800
-TERPRET        \0\0\0\0\0\0\0\0\0\0\0\19^\1e\1d\14\1f\0:\19\81\1eÊ\19n\19»\19\81\1a\14\13¬\0\0\17\92\1e1\17\92\14\1f\0\b\19^\1dÉ\14
-\00\13¬\0\0\17\92\1e1\1a\14\17\92\13¬\0\11\13Õ\14
-\0\18\0\0*l\0\0\13\8a\18\95\14\1f\0\b\19^\15G\14
-\0\ 2\15\83&b\14
-\0\0QUIT\ 4\0\0\0\0\0\0\0\0\0\0\800\8a\0\ey\0\0\13\99 a-x\17ø\16\ 3\0\0\1e1\13ôÿð!f\ 3 OK\14
-ÿæBIF\0\0\0\0\0\0\0\0\0\0\0\0ASSEMBLER\0\0\0\0\0\0\0\0\0\0\0\0DEFINITIONS\v\0\0\0\0\0\0\0\0\0\9e\0ì\89\0\0í\89\0\0ABORT\ 5\0\0\0\0\0\0\0\0\0-f\17á\1f?\ey$\1a\16\0\0\801
-\ 3!f\r6809 BIF V1.0\0\0\0\0VOCABULARY
-\0\0\0\0\0\0\0\0\0\0\0&O\ey\1dÉ «\18\ e(\0\0\0\0\0\0\0\0\0\0\10\9e\0Ì\0)6\ 6*Þ!'®©\0\0&\ 4®©\0\0 
-6\10&ÿ!'7\10ì©\0\0¦\8b'\ f\81)&×\&\ 3\0\0ç©\0\05 DAD\0\0\801\8a\ 3\0\0\0\0\0\0\0\0\04 7 æ¤Ä\0\1f\98@0¦J2æO§å6\106F4\14\16ü!'0c6\10®©\0\06\10\16\86!'®Ø\ 2&\bÌ\0\196\ 6~\0\0\10¬Ø\ 2'
-0\89\0\03B¯Ä þ5\14¯D\2å5 REPEAL\ 6\0\0\0\0\0\0\0\0\0\9e\0\10®\89\0\0\10¬\89\0\0#Lì©\0\0í\0\0\802
-\89\0\0ì©\0\06 1©\0\0\10¬\89\0\0&\ 4í\89\0\0\10¬\89\0\0&\ 4í\89\0\0\10®ÄÌ\0\0\10¬\89\0\0&þí\89\0\01\94!'3BÌ\0\0íÑ7\ 6\9e\0í\89\0\05 FORGET\ 6\0\0\0\0\0\0\0\0\0\0\0!'4 3B\10®Á&\bÌ\0\06\ 6~\0\0\9e\0\10¬\89\0\0"\ 5Ì\0\15 íæ©\0\0\0\0$2\8aÄ\0'\ 5Ì\0\1a à\9e\0\10¬\89\0\0$\ 61õ!' ñ'\ 5Ì\0\e Ê5 ~1õÿ\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file
+00010 * The Kernel of BIF: A Dialect of FORTH\r00015 * with a Binary Tree Dictionary\r00020 * Copyright   1989 by Joel Matthew Rees\r00025 *\r00030 * BIF is architecturally derived from\r00035 * the public domain fig-FORTH model.\r00040 * \r00050 *      TITLE BIF kernel 16 Feb 89\r00070        OPT MEX\r00080   INCLUDE BIFU.INC:1\r00090        ORG $1200       DEBIF: $3F00\r00100      INCLUDE BIF.M:1\r00110   INCLUDE BIFDP.ASM:1\r00110       INCLUDE BIFST.ASM:1\r00120       SETDP VDP COLD loads DP\r01000 *\r01001   FCC '@' name\r01002      FCB 1 name length, usage (NFA)\r01003    FCB MFORE type/allocation MODES\r01004   FDB WARM-CFAOFF previous link in allocation\r01005       FDB BIF+2 owning vocabulary\r01006       FDB EQ-CFAOFF left link in tree\r01007   FDB AND-CFAOFF right link in tree\r01010 FETCH   LDD [,U] from [tos] to stack\r01011      STD ,U\r01012    NEXT\r01013 *\r01014      FCC '!'\r01015   FCB 1\r01016     FCB MFORE\r01017         FDB FETCH-CFAOFF\r01030  FDB BIF+2\r01040         FDB NUBLK-CFAOFF\r01050  FDB STOCSP-CFAOFF\r01060 STORE   LDD 2,U from stack to [top]\r01070       STD [,U]\r01080  LEAU 4,U\r01090  NEXT\r01095 *\r01100      FCC 'LIT'\r01110         FCB MCOMP.OR.3\r01120    FCB MFORE\r01130         FDB STORE-CFAOFF\r01140  FDB BIF+2\r01150         FDB 0 * LIST-CFAOFF\r01160       FDB 0\r01170 LIT LDD ,Y++ push literal from code\r01180   PSHU D\r01190    NEXT\r01200 *\r01210      FCC 'DLIT'\r01220        FCB MCOMP.OR.4\r01230    FCB MFORE\r01240         FDB LIT-CFAOFF\r01250    FDB BIF+2\r01260         FDB 0\r01270     FDB 0\r01280 * push double literal from code\r01290 DLIT  LDD ,Y++\r01300  LDX ,Y++\r01310  PSHU D,X\r01320  NEXT\r01330 *\r01340      FCC 'EXECUTE'\r01350     FCB MCOMP.OR.7\r01360    FCB MFORE\r01370         FDB DLIT-CFAOFF\r01380   FDB BIF+2\r01390         FDB 0\r01400     FDB 0\r01410 * EXECUTE cfa on stack\r01420 EXEC   LDX ,U++\r01430  BEQ *+4\r01440   JMP ,X\r01450    LDD #9\r01460    PSHU D\r01462    JMP ERROR\r01464 *\r01466         FCC '1BRANCH'\r01468     FCB MCOMP.OR.7\r01470    FCB MFORE\r01472         FDB EXEC-CFAOFF\r01474   FDB BIF+2\r01476         FDB 0\r01478     FDB 0\r01480 TBR LDD ,U++\r01482  BNE BRANCH\r01484        LEAY 2,Y\r01486  NEXT\r01488 *\r01490      FCC 'BRANCH'\r01500      FCB MCOMP.OR.6\r01510    FCB MFORE\r01520         FDB TBR-CFAOFF\r01530    FDB BIF+2\r01540         FDB 0\r01550     FDB 0\r01560 BRANCH      LDD ,Y++\r01570  LEAY D,Y\r01580  NEXT\r01590 *\r01600      FCC '0BRANCH'\r01610     FCB MCOMP.OR.7\r01620    FCB MFORE\r01630         FDB BRANCH-CFAOFF\r01640         FDB BIF+2\r01650         FDB 0\r01660     FDB 0\r01670 ZBR LDD ,U++\r01680  BEQ BRANCH\r01690        LEAY 2,Y\r01700  NEXT\r01710 *\r01720      FCC '(LOOP)'\r01730      FCB MCOMP.OR.6\r01740    FCB MFORE\r01750         FDB ZBR-CFAOFF\r01760    FDB BIF+2\r01770         FDB 0\r01780     FDB 0\r01790 XLOOP       LDD #1\r01800    ADDD ,S\r01810   STD ,S\r01820    SUBD 2,S\r01830  BLT BRANCH\r01840 XLOOPN LEAY 2,Y\r01850  LEAS 4,S\r01860  NEXT\r01870 *\r01880      FCC '(+LOOP)'\r01890     FCB MCOMP.OR.7\r01900    FCB MFORE\r01910         FDB XLOOP-CFAOFF\r01920  FDB BIF+2\r01930         FDB 0\r01940     FDB 0\r01950 XPLOOP      LDD ,U++ inc val\r01960  BPL XLOOP+3\r01970       ADDD ,S\r01980   STD ,S\r01990    SUBD 2,S\r02000  BGT BRANCH\r02010        BRA XLOOPN\r02020 *\r02030        FCC '(DO)'\r02040        FCB 4\r02050     FCB MFORE\r02060         FDB XPLOOP-CFAOFF\r02070         FDB BIF+2\r02080         FDB 0\r02090     FDB 0\r02100 XDO PULU D,X\r02110  PSHS D,X\r02120  NEXT\r02130 *\r02140      FCC 'I'\r02150   FCB 1\r02160     FCB MFORE\r02170         FDB XDO-CFAOFF\r02180    FDB BIF+2\r02190         FDB HLD-CFAOFF\r02200    FDB IDDOT-CFAOFF\r02210 I        LDD ,S\r02220    PSHU D\r02222    NEXT\r02224 *\r02226      FCC 'J'\r02228   FCB 1\r02230     FCB MFORE\r02232         FDB I-CFAOFF\r02234      FDB BIF+2\r02236         FDB IPCOM-CFAOFF\r02238  FDB 0\r02240 J   LDD 4,S\r02242   PSHU D\r02244    NEXT\r02246 *\r02250      FCC 'DIGIT'\r02260       FCB 5\r02270     FCB MFORE\r02280         FDB J-CFAOFF\r02290      FDB BIF+2\r02300         FDB DEC-CFAOFF\r02310    FDB DLITER-CFAOFF\r02320 DIGIT   LDB 3,U\r02330   CMPB #'9\r02340  BLS DIGITX+4\r02350      CMPB #'A\r02360  BLO DIGITN\r02370        CMPB #'Z\r02380  BLS DIGITX+2\r02390      CMPB #'a\r02400  BLO DIGITN\r02410        CMPB #'z\r02420  BHI DIGITN\r02430 DIGITX SUBB #'a-'Z-1\r02440     SUBB #'A-'9-1\r02450     SUBB #'0\r02460  CMPB 1,U\r02470  BHS DIGITN\r02480        CLRA\r02490      STD 2,U\r02500   LDD #-1\r02510 DIGITL    STD ,U\r02520    NEXT\r02530 DIGITN       LEAU 2,U\r02540  LDD #0\r02550    BRA DIGITL\r02560 *\r02570        FCC '(FIND)'\r02580      FCB 6\r02590     FCB MFORE\r02600         FDB DIGIT-CFAOFF\r02610  FDB BIF+2\r02620         FDB IABORT-CFAOFF\r02630         FDB XMACH-CFAOFF\r02640 * search vocabulary adr2 for (adr1)\r02650 PFIND  LDD ,U valid?\r02660     BEQ PFINDX\r02670 PFINDL DOCOL\r02680     FDB PREF\r02690  FDB XMACH\r02700         LEAU 2,U\r02710  LDX [,U] NULL link?\r02720       BEQ PFINDN\r02730        LDB ,X\r02740    ANDB #MHID smudged?\r02750       BEQ PFINDY\r02760        LEAX RTOFF,X deeper\r02770       STX ,U\r02780    BRA PFINDL\r02790 PFINDY LDX #-1\r02800 PFINDN    LDD ,U\r02810    STX ,U\r02820 PFINDX     STD 2,U\r02830   NEXT\r02990 *\r03000      FCC 'ENCLOSE'\r03010     FCB 7\r03020     FCB MFORE\r03030         FDB PFIND-CFAOFF\r03040  FDB BIF+2\r03050         FDB EMTBUF-CFAOFF\r03060         FDB 0\r03070 * adr1 c --- adr2 len\r03080 ENCLOS  LDX 2,U\r03100 ENCLLD    LDB ,X+ delimiter\r03110         BEQ ENCL0\r03120         CMPB 1,U\r03130  BEQ ENCLLD\r03133 ENCL0  LEAX -1,X\r03140         STX 2,U\r03150 ENCLLW    LDB ,X+ scan word\r03160         BEQ ENCLCA\r03170        CMPB 1,U\r03180  BNE ENCLLW\r03190 ENCLCA TFR X,D length\r03195    SUBD #1\r03200   SUBD 2,U\r03220  STD ,U\r03230    NEXT\r03240 *\r03250      FCC 'LITERAL'\r03260     FCB MIMM.OR.7\r03270     FCB MFORE\r03280         FDB ENCLOS-CFAOFF\r03290         FDB BIF+2\r03300         FDB LIT-CFAOFF\r03310    FDB LOAD-CFAOFF\r03320 * compile a literal\r03330 LITER   BSR LITERS\r03340        LDD #LIT\r03350 LITERB   STD ,Y++\r03360  PULU D\r03370    STD ,Y++\r03380  STY UDP,X\r03390         PULS Y\r03400    JMP HERERR\r03405 *\r03410 LITERS LDX <UP\r03412   LDB USTATE+1,X\r03414    ANDB #SCOMP\r03416       PULS D no CC\r03418      BNE *+4 compiling?\r03420        NEXT no\r03422   PSHS Y\r03424    LDY UDP,X\r03426         EXG D,PC return\r03430 *\r03435   FCC 'DLITERAL'\r03440    FCB MIMM.OR.8\r03450     FCB MFORE\r03460         FDB LITER-CFAOFF\r03470  FDB BIF+2\r03480         FDB DLIT-CFAOFF\r03490   FDB DMINUS-CFAOFF\r03500 * compile a 32 bit constant\r03510 DLITER        BSR LITERS\r03540        LDD #DLIT\r03550         STD ,Y++\r03560  PULU D\r03570    BRA LITERB\r03630 *\r08210        INCLUDE BIFB.ASM:1\r08220        INCLUDE BIF1.ASM:1\r08230        INCLUDE BIF1B.ASM:1\r08240       INCLUDE BIF2.ASM:1\r08250        INCLUDE BIF2B.ASM:1\r08260       INCLUDE BIF3.ASM:1\r08270        INCLUDE BIF3B.ASM:1\r08280       INCLUDE BIF4.ASM:1\r08285        INCLUDE BIF4B.ASM:1\r08290       INCLUDE BIF5.ASM:1\r08295        INCLUDE BIF5B.ASM:1\r08300       INCLUDE BIF6.ASM:1\r08310        INCLUDE BIF6B.ASM:1\r08320       INCLUDE BIF7.ASM:1\r08330        INCLUDE BIF7B.ASM:1\r09000       END\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * USER variable definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00100 * INCLUDE THIS BEFORE SETTING DPR\r00110 * ORG used here for offsets only\r00120         ORG 0\r00130 US0 RMB 2   base of data stack (6809 U)\r00140 UR0   RMB 2   base of control stack (6809 S)\r00150 UTIB       RMB 2   terminal buffer\r00160   RMB 2   width is not used\r00170 UWARN   RMB 2   disk on line?\r00180 UFENCE      RMB 2   for FORGET\r00190 UDP    RMB 2   first available byte in dictionary\r00200 UROOT  RMB 2   current dictionary root pointer\r00210 UDROOT    RMB 2   defining dictionary root pointer\r00220 UCURR    RMB 2   NFA of last definition\r00230 UPAD       RMB 2   text, numeric scratch buffers\r00240 UWP RMB 2   WORD buffer pointer\r00250 UCOLUM        RMB 2   columns per lineon terminal\r00260 UFIRST        RMB 2   byte of buffers\r00270 ULIMIT    RMB 2   of buffer ram\r00280 UBASE       RMB 2   of numeric conversion\r00290 UCSP        RMB 2   stack pointer check\r00300 UHLD  RMB 2   character mark in pad\r00310 UUSE        RMB 2   Least Recently Used buffer\r00320 UPREV  RMB 2   Most Recently Used buffer\r00330 UBS     RMB 2   BackSpace\r00340 UIN     RMB 2   input buffer offset\r00350 UOUT  RMB 2   output buffer offset (cursor)\r00360 UBLK        RMB 2   active disc block\r00370 UEBLK   RMB 2   active edit block\r00380 USCR    RMB 2   active disc screen\r00390 URNUM  RMB 2   editing offset (cursor)\r00400 UOFFS     RMB 2   to active drive\r00410 USTATE    RMB 2   of compiler\r00420 UDPL  RMB 2   output Decimal Point Location\r00430 UFLD        RMB 2   output field width\r00440 UVMK   RMB 2   stack mark and function for VISIT\r00450 UFORE   RMB 2   FOREWARD reference block link\r00460 UDPR        RMB 2   Direct Page Emulator for Assembler\r00990        RMB 16  8 spares \r01000 UEND    EQU * \res \r01000 UEND   EQU * \rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * EQUates and MACRO definitions for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r01000 *\r01010 * JMP to next icode word\r01020 NEXT  MACRO\r01030     JMP [,Y++]\r01040        ENDM\r01050 *\r01053 * offset from name field to mode field\r01056 MFAOFF  EQU 1\r01057 * length of symbols, must be 2^n for mask\r01058 NLMASK      EQU $1F\r01060 * offset to previous allocation link\r01070 LFAOFF EQU MFAOFF+1\r01080 * offset to owning VOCABULARY (genesis) link\r01090 GFAOFF    EQU LFAOFF+2\r01100 LFTOFF       EQU GFAOFF+2    left child link\r01110 RTOFF     EQU GFAOFF+4    right child link\r01120 * offset to code field\r01130 CFAOFF      EQU GFAOFF+6\r01140 * offset to parameter field (past Direct Page jump)\r01150 PFAOFF     EQU CFAOFF+2\r01160 * All links are relative to the name field (NFA)\r01170 * Use PFAOFF (or PFA) with ;CODE!\r01320 * usage and name length share a byte (name length < 32).\r01330 * foreward blocks marked in the mode byte\r01340 * usage and mode bits\r01350 MFORE      EQU $80 part of FORWARD reference block (in mode byte -- MFA)\r01360 MCOMP       EQU $80 compile only (in length byte -- NFA)\r01370 MIMM EQU $40 precedence is IMMEDIATE execution (in length byte -- NFA)\r01380 MHID    EQU $20 SMUDGEd definition (in length byte -- NFA)\r01390 *\r01400 * initiate an icode list\r01410 DOCOL   MACRO\r01420     JSR <XCOL\r01430         ENDM\r01440 *\r01450 DOVAR        MACRO\r01460     JSR <XVAR\r01470         ENDM\r01480 *\r01490 DOCON        MACRO\r01500     JSR <XCON\r01510         ENDM\r01520 *\r01530 DOUSER       MACRO\r01540     JSR <XUSER\r01550        ENDM\r01560 *\r01570 DO1ARR       MACRO\r01580     JSR <X1ARR\r01590        ENDM\r01600 *\r01610 DOUCON       MACRO\r01620     JSR <XUCON\r01630        ENDM\r01640 *\r01650 DOVOC        MACRO\r01660     JSR <XVOC\r01670         ENDM\r01680 *\r02000 * add D to top of stack\r02010 ADDTOP MACRO\r02020     ADDD ,U\r02030   STD ,U\r02040    JMP [,Y++]\r02050        ENDM\r02060 *\r020        ADDD ,U\r02030   STD ,U\r02040    JMP [,Y++]\r02050        ENDM\r02060 *\r}\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00020 * Direct Page definitions for BIF\r00030 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00060 * This file is dependent on BIF/M definitions\r00100 DPAGE EQU *\r00105 VDP EQU DPAGE/256\r00110 * ORG needs to leave space for this code\r00120      SETDP VDP\r00130 * COLD needs to load VDP into DP register\r00500 *\r00510 * Direct Page variables\r00600 UP        RMB 2\r00610     RMB 8 spares\r01000 *\r01010 * nest into icode list\r01020 * call by JSR\r01030 XCOL        LDX ,S  list ptr\r01040  STY ,S  nest old\r01050  TFR X,Y interpret\r01060         NEXT\r01070 *\r01080 * PUSH FOLLOWING WORD\r01090 * call by JSR for CONSTANT\r01100 XCON    LDD [,S++]\r01110        PSHU D\r01120    NEXT\r01130 *\r01140 * push following address\r01150 * call by JSR for VARIABLE address\r01160 XVAR PULS D\r01170    PSHU D\r01180    NEXT\r01190 * (same code as R>, but in DP)\r01200 *\r01210 * push address of USER variable\r01215 * call by JSR\r01220 XUSER LDB [,S++]      one byte offset\r01225   CLRA\r01230      ADDD <UP\r01240  PSHU D\r01250    NEXT\r01260 *\r01300 * push address of LINEAR array entry\r01305 * call by JSR\r01310 X1ARR PULS X\r01320    LDD ,U index\r01330      SUBD ,X base\r01340      CMPD 2,X width\r01350    BLO X1ARRS\r01360        LDD #$0C\r01365  PSHU D\r01370    JMP ERROR\r01380 X1ARRS  PSHS A\r01390    LDA 4,X size\r01400      MUL\r01410       STD ,U\r01420    PULS A ms byte\r01430    LDB 4,X\r01440   MUL\r01450       TFR B,A\r01460   ADDA ,U\r01470   LDB 1,U\r01480   LEAX 5,X past header\r01490      LEAX D,X\r01500  STX ,U\r01510    NEXT\r01520 * LINEAR array header format:\r01530 *        FDB BASE (lowest index)\r01540 * FDB WIDTH (# of elements)\r01550 *       FCB SIZE (< 256 bytes / element)\r01560 *        RMB SIZE*WIDTH (data)\r01700 *\r01710 * push content of USER variable\r01715 * call by JSR\r01720 XUCON     LDX <UP\r01722   LDB [,S++]      one byte offset\r01725   CLRA\r01730      LDD D,X\r01740   PSHU D\r01750    NEXT\r01800 *\r01802 * store VOCABULARY pointer in root\r01805 * call by JSR\r01810 XVOC    LDX <UP\r01820   PULS D\r01830    STD UROOT,X\r01840       NEXT\r01850 *\r01860 * indirect into icode list following\r01870 * DOES> in defining definition\r01880 * call by JSR\r01890 XDOES    LDX ,S pfa\r01900        LDD ,X++        list ptr\r01920  PSHU X  parameters\r01930        STY ,S  nest old\r01940  TFR D,Y interpret\r01950         NEXT\r01960 *\r02000 * push double constant\r02010 * call by JSR\r02020 XDCON       PULS X\r02030    LDD ,X++\r02040  LDX ,X++\r02050  PSHU D,X\r02060  NEXT\r02070 *\r40000      ORG DPAGE+256 if code fits\r40010        SETDP 0 not yet valid\r0010      SETDP 0 not yet valid\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00000010 * Start up routines for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00100 *\r00105 ILIM       EQU $8000 memory\r00110 IBUFF    EQU ILIM-BCT*(BWID+4)\r00120 IPAD        EQU IBUFF-TWID max\r00130 IHASH  EQU IPAD-34\r00140 IWPAD EQU IHASH-NLMASK-2\r00150 ITIB   EQU IWPAD-TWID\r00160 IUSER      EQU ITIB-UEND\r00170 IRP0        EQU IUSER-2\r00180 ISP0  EQU IRP0-258\r00190 * dictionary below here\r00400 *\r00410 ORIG   EQU * initials for task 0, offsets\r00420        NOP 0\r00430     JMP COLD 1\r00440        NOP 4\r00450     JMP WARM 5\r00460        FDB $6809 cpu 8\r00470   FDB 0 rev $0A\r00480     FDB FORGET-CFAOFF CURRENT for COLD $0C\r00490    FDB 8 backspace $0E\r00500       FDB IUSER task 0 user area $10\r00510    FDB ISP0 $12\r00520      FDB IRP0 $14\r00530      FDB ITIB $16\r00540      FDB NLMASK not used $18\r00550   FDB 1 WARNING $1A\r00560         FDB FOLLOW-1 FENCE for COLD $1C\r00570   FDB FOLLOW DP for COLD $1E\r00580        FDB BIF+2 defs root $20\r00590   FDB IPAD $22\r00600      FDB IWPAD $24\r00610     FDB 32 terminal columns $26\r00620       FDB IBUFF $28\r00630     FDB ILIM $2A\r01000 *\r01010      FCC 'COLD'\r01020        FCB 4\r01030     FCB MFORE\r01040         FDB 0\r01050     FDB BIF+2\r01060         FDB 0\r01070     FDB 0\r01080 COLD        LEAY DOREGS,PCR\r01090   EXG PC,Y call\r01100     SETDP VDP\r01110         CLR $71 for BASIC reset\r01120   LDD -4,Y\r01130  STD UCURR,X\r01140       LDD $0C,Y\r01150         STD UFENCE,X\r01160      LDD $0E,Y\r01170         STD UDP,X\r01180         LDD $10,Y\r01190         STD UROOT,X\r01200       STD UDROOT,X\r01210      PSHU D     Initial vocabularies\r01220   BSR PRUNE  must ALL be PRUNEd!\r01230    LDD #EDITOR+2\r01240     PSHU D\r01250    BSR PRUNE\r01260         LDD #ASMBLR+2\r01270     PSHU D\r01280    BSR PRUNE\r01290         JMP WARM+5\r01300        SETDP 0\r01310 * Watch stack (vocabulary) depth!\r01315   SETDP VDP\r01320 PRUNE   PSHS D,X,Y\r01330        LDY <UP\r01340   LDX ,U++ vocab\r01344    BEQ PRUNEX+2\r01348      LDD ,X root\r01352       BEQ PRUNEX+2\r01356      CMPD UFENCE,Y\r01360     BLS PRUNSK\r01364        LDD #0\r01368    STD ,X\r01372    BRA PRUNEX+2\r01376 PRUNSK       TFR D,X\r01380   LDD #0\r01386    PSHS D mark\r01390 PRUNL LDD RTOFF,X\r01400       BEQ PRUNLF\r01410        CMPD UFENCE,Y\r01420     BLS PRUNLF-2\r01430      LDD #0 make leaf\r01440  STD RTOFF,X\r01450       BRA PRUNLF\r01460        PSHS D for later\r01470 PRUNLF   LDD LFTOFF,X\r01480      BEQ PRUNEX-2\r01490      CMPD UFENCE,Y\r01500     BHI PRUNL0\r01510        TFR D,X go left\r01520   BRA PRUNL\r01530 PRUNL0  LDD #0 make leaf\r01540  STD LFTOFF,X\r01550      LDX ,S++ go right?\r01560 PRUNEX BNE PRUNL\r01570         PULS D,X,Y,PC\r01580     SETDP 0\r01590 *\r02000   SETDP 0\r02010 DOREGS    LDS #IRP0\r02020         PSHS CC save\r02030      ORCC #$50 mask ints\r02040       PSHS Y return adr\r02050         LDD #DPAGE\r02060        TFR A,DP\r02070  SETDP VDP\r02080         LDY #ORIG+$10\r02090     LDX ,Y\r02100    STX <UP\r02110   LDU #ISP0\r02120         LDD #0\r02130    STD >0 trap [NULL]s\r02140       RTS\r02150       SETDP 0\r02160 *\r02230   FCC 'WARM'\r02240        FCB 4\r02250     FCB MFORE\r02260         FDB COLD-CFAOFF\r02270   FDB BIF+2\r02280         FDB VLIST-CFAOFF\r02290  FDB WARN-CFAOFF\r02300 WARM      LEAY <DOREGS,PCR\r02310  EXG PC,Y call\r02320     SETDP VDP\r02360         LDD 2,Y\r02370   STD US0,X\r02380         STD UCSP,X\r02390        LDD 4,Y\r02400   STD UR0,X\r02410         LDD -2,Y\r02420  STD UBS,X\r02430         LDD 6,Y\r02440   STD UTIB,X\r02450        LDD $0A,Y\r02460         STD UWARN,X\r02470       LEAY $10,Y\r02480        LDD 2,Y\r02490   STD UPAD,X\r02500        STD UHLD,X\r02510        LDD 4,Y\r02520   STD UWP,X\r02530         LDD 6,Y\r02540   STD UCOLUM,X\r02550      LDD 8,Y\r02560   STD UFIRST,X\r02570      STD UUSE,X\r02580        STD UPREV,X\r02590       LDD $0A,Y\r02600         STD ULIMIT,X\r02610      LDD #16\r02620   STD UBASE,X\r02630       LDD #0\r02640    STD [UR0,X] hole\r02650  STD [US0,X] hole\r02660  LDA #(UEND-UIN)\r02670   LEAY UIN,X\r02680 WARMLY STB ,Y+\r02690   DECA\r02700      BNE WARMLY\r02740        PULS CC\r02745   ANDCC #$EF enable IRQ (disc)\r02750      DOCOL\r02760     FDB EMTBUF\r02770        FDB ABORT\r02780         SETDP 0\r02890 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r03640   FCC 'EMIT'\r03650        FCB 4\r03660     FCB MFORE\r03670         FDB DLITER-CFAOFF\r03680         FDB BIF+2\r03690         FDB DUP-CFAOFF\r03700    FDB ENCLOS-CFAOFF\r03705 * output using rom CHROUT: redirectable to printer\r03710 EMIT   PULU D\r03720    TFR B,A\r03730   CLRB\r03740      PSHS Y,U,DP\r03750       TFR B,DP\r03760  JSR [$A002]\r03770       PULS Y,U,DP\r03780       NEXT\r03790 *\r03800      FCC 'KEY'\r03810         FCB 3\r03820     FCB MFORE\r03830         FDB EMIT-CFAOFF\r03840   FDB BIF+2\r03850         FDB IN-CFAOFF\r03860     FDB LIMIT-CFAOFF\r03870 * wait for key from POLCAT\r03880 KEY     PSHS Y,U,DP\r03890       CLRB\r03895      LDA #$CF a cursor\r03900         TFR B,DP\r03901  SETDP 0\r03904   LDX <$88 locate\r03906   LDB ,X save\r03908       STA ,X\r03910    JSR [$A000]\r03920       BEQ *-4\r03925   STB ,X restore\r03930 KEYR       CLRB\r03932      CMPA #3 break key\r03934         BNE *+3\r03936   COMB\r03938      EXG A,B\r03940   PULS Y,U,DP\r03942       SETDP VDP\r03945         PSHU D\r03950    NEXT\r03960 *\r03970      FCC '?TERMINAL'\r03980   FCB 9\r03990     FCB MFORE\r04000         FDB KEY-CFAOFF\r04010    FDB BIF+2\r04020         FDB QSTACK-CFAOFF\r04030         FDB 0\r04040 * check break key using POLCAT\r04050 QTERM  PSHS Y,U,DP\r04060       CLRB\r04070      TFR B,DP\r04080  JSR [$A000]\r04100       BRA KEYR\r04140 *\r04150  FCC 'CR'\r04160  FCB 2\r04170     FCB MFORE\r04180         FDB QTERM-CFAOFF\r04190  FDB BIF+2\r04200         FDB COUNT-CFAOFF\r04210  FDB 0\r04220 CR  LDB #$0D\r04230  BRA EMIT+2\r04240 *\r04250        FCC '(;CODE)'\r04260     FCB MCOMP.OR.7\r04270    FCB MFORE\r04280         FDB CR-CFAOFF\r04290     FDB BIF+2\r04300         FDB 0\r04310     FDB 0\r04320 XSCODE      LDX <UP\r04330   LDX UCURR,X being defined\r04340         LEAX CFAOFF,X\r04350     LDA AJSR,PCR\r04360      STA ,X+\r04370   STY ,X++ code address\r04380     PULS Y un-nest\r04390    NEXT\r04400 * parameters are 3 bytes beyond CFA\r04410 AJSR       JSR >0 to be compiled\r04420 *\r04440 DEVNUM      EQU $6F coco ROM constant\r04450         FCC '>PRT'\r04460        FCB 4\r04470     FCB MFORE\r04480         FDB XSCODE-CFAOFF\r04490         FDB BIF+2\r04500         FDB 0\r04510     FDB 0\r04520 TOPRT       LDB #-2\r04530   STB DEVNUM\r04540        NEXT\r04550 *\r04560      FCC '>VID'\r04570        FCB 4\r04580     FCB MFORE\r04590         FDB TOPRT-CFAOFF\r04600  FDB BIF+2\r04610         FDB 0\r04620     FDB 0\r04630 TOVID       CLR DEVNUM\r04650        NEXT\r04660 *\r04670      FCC '2*'\r04680  FCB 2\r04690     FCB MFORE\r04700         FDB TOVID-CFAOFF\r04710  FDB BIF+2\r04720         FDB 0\r04730     FDB 0\r04740 LSHIFT      LSL 1,U\r04750   ROL ,U\r04760    NEXT\r04770 *\r04780      FCC '2/'\r04790  FCB 2\r04800     FCB MFORE\r04810         FDB LSHIFT-CFAOFF\r04820         FDB BIF+2\r04830         FDB SUB2-CFAOFF\r04840   FDB THREE-CFAOFF\r04850 RSHIFT   ASR ,U\r04860    ROR 1,U\r04870   NEXT\r04880 *\r04885      FCC '(REFIND)'\r04890    FCB 8\r04895     FCB MFORE\r04900         FDB RSHIFT-CFAOFF\r04910         FDB BIF+2\r04920         FDB 0\r04930     FDB 0\r04940 * search vocabulary adr2 for first (adr1)\r04950 PREF        LDD #PFAOFF vocab flag\r04955    PSHS D,Y\r04960  LDX ,U root ptr\r04965   BEQ PREFN\r04970         BRA PREFA\r04980 PREFP   LDY 2,U hunt for\r04990  LDB ,X count\r05000      ANDB #NLMASK\r05005      BEQ PREF1\r05010         TFR B,A\r05020   NEGA\r05040      LEAX A,X hunt in\r05050 PREFS    LDA ,Y+ scan\r05060      SUBA ,X+\r05070  BNE PREFN\r05080         DECB\r05090      BNE PREFS\r05100 PREF1   LDA ,Y NUL?\r05110       BNE PREFN\r05120 PREFX   PULS D,Y\r05140  PSHU D flag\r05170       NEXT\r05180 PREFN        LDX [,U] old NFA\r05190  TSTA\r05200      BMI *+6\r05210   LDB #RTOFF\r05220        BRA *+4\r05230   LDB #LFTOFF\r05233       LEAX B,X\r05236  STB 1,S flag\r05240      STX ,U\r05250 PREFA      LDX ,X new NFA\r05260    BNE PREFP\r05280         BRA PREFX\r08200 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000   FCC 'MOVE'\r01010        FCB 4\r01020     FCB MFORE\r01030         FDB PREF-CFAOFF\r01040   FDB BIF+2\r01050         FDB MINUS-CFAOFF\r01060  FDB NFA-CFAOFF\r01070 MOVE       LDD ,U++ count=0?\r01080         BEQ MOVEX\r01090         PSHS Y,U\r01100  LDY ,U\r01110    LDU 2,U\r01120 MOVELP    PULU X\r01130    STX ,Y++\r01140  SUBD #1\r01150   BNE MOVELP\r01160        PULS Y,U\r01170 MOVEX    LEAU 4,U\r01180  NEXT\r01190 *\r01200      FCC 'CMOVE'\r01210       FCB 5\r01220     FCB MFORE\r01225         FDB MOVE-CFAOFF\r01230   FDB BIF+2\r01240         FDB CFA-CFAOFF\r01250    FDB COMP-CFAOFF\r01260 CMOVE     LDD #0\r01270    SUBD ,U++\r01280         PSHS A,Y\r01290  PULU X,Y\r01300  BEQ CMOVEX\r01310 CMOVEL LDA ,Y+\r01320   STA ,X+\r01330   INCB\r01340      BNE CMOVEL\r01350        INC ,S\r01360    BNE CMOVEL\r01370 CMOVEX PULS A,Y\r01380  NEXT\r01390 *\r01400      FCC 'U*'\r01410  FCB 2\r01420     FCB MFORE\r01430         FDB CMOVE-CFAOFF\r01440  FDB BIF+2\r01450         FDB TOG-CFAOFF\r01460    FDB UPDATE-CFAOFF\r01470 USTAR   LEAS -4,S\r01480         LDA 1,U LEAST\r01490     LDB 3,U\r01500   MUL\r01510       STD 2,S\r01520   LDA ,U most\r01530       LDB 2,U\r01540   MUL\r01550       STD ,S\r01560    LDD 1,U inner\r01570     MUL\r01580       ADDD 1,S\r01590  BCC *+4\r01600   INC ,S\r01605    STD 1,S\r01610   LDA ,U\r01620    LDB 3,U\r01630   MUL\r01640       ADDD 1,S\r01650  BCC *+4\r01660   INC ,S\r01670    STD 1,S\r01680   PULS D,X\r01690  STD ,U\r01700    STX 2,U\r01710   NEXT\r01720 *\r01730      FCC 'U/'\r01740  FCB 2\r01750     FCB MFORE\r01760         FDB USTAR-CFAOFF\r01770  FDB BIF+2\r01780         FDB 0\r01790     FDB 0\r01800 USLASH      LDA #17 bit ct\r01810    PSHS A\r01820    LDD 2,U dividend\r01830 USLDIV   CMPD ,U divisor\r01840   BHS USLSUB\r01850        ANDCC #.NOT.1\r01860     BRA USLBIT\r01870 USLSUB SUBD ,U\r01880   ORCC #1 quotient,\r01890 USLBIT  ROL 5,U save it\r01900   ROL 4,U\r01910   DEC ,S more bits?\r01920         BEQ USLR\r01930  ROLB remainder\r01940    ROLA\r01950      BCC USLDIV\r01960        BRA USLSUB\r01970 USLR   LEAS 1,S\r01980  LEAU 2,U\r01990  LDX 2,U\r02000   STD 2,U\r02010   STX ,U\r02020    NEXT\r02030 *\r02200      FCC 'AND'\r02210         FCB 3\r02220     FCB MFORE\r02230         FDB USLASH-CFAOFF\r02240         FDB BIF+2\r02250         FDB ABS-CFAOFF\r02260    FDB BACK-CFAOFF\r02270 AND       PULU D\r02280    ANDB 1,U\r02290  ANDA ,U\r02300   STD ,U\r02310    NEXT\r02320 *\r02330      FCC 'OR'\r02340  FCB 2\r02350     FCB MFORE\r02360         FDB AND-CFAOFF\r02370    FDB BIF+2\r02380         FDB OCT-CFAOFF\r02390    FDB OUT-CFAOFF\r02400 OR PULU D\r02410    ORB 1,U\r02420   ORA ,U\r02430    STD ,U\r02440    NEXT\r02450 *\r02460      FCC 'XOR'\r02470         FCB 3\r02480     FCB MFORE\r02490         FDB OR-CFAOFF\r02500     FDB BIF+2\r02510         FDB 0\r02520     FDB 0\r02530 XOR PULU D\r02540    EORB 1,U\r02550  EORA ,U\r02560   STD ,U\r02570    NEXT\r02580 *\r02590      FCC 'SP@'\r02600         FCB 3\r02610     FCB MFORE\r02620         FDB XOR-CFAOFF\r02630    FDB BIF+2\r02640         FDB SPSTO-CFAOFF\r02660  FDB 0\r02670 SPFEH       TFR U,X\r02680   PSHU X\r02690    NEXT\r02700 *\r02710      FCC 'SP!'\r02720         FCB 3\r02730     FCB MFORE\r02740         FDB SPFEH-CFAOFF\r02750  FDB BIF+2\r02760         FDB 0\r02770     FDB 0\r02780 SPSTO LDX <UP\r02790         LDU US0,X\r02793         CLR ,U hole\r02796       CLR 1,U\r02800   NEXT\r02810 *\r02820      FCC 'RP!'\r02830         FCB 3\r02840     FCB MFORE\r02850         FDB SPSTO-CFAOFF\r02860  FDB BIF+2\r02870         FDB 0\r02880     FDB 0\r02890 RPSTO LDX <UP\r02900         LDS UR0,X\r02903         CLR ,S hole\r02906       CLR 1,S\r02910   NEXT\r02920 *\r02930      FCC ';S'\r02940  FCB MIMM.OR.2\r02950     FCB MFORE\r02960         FDB RPSTO-CFAOFF\r02970  FDB BIF+2\r02980         FDB 0\r02990     FDB 0\r03000 SEMIS       PULS Y un-nest\r03010    NEXT\r03020 *\r03030      FCC 'LEAVE'\r03040       FCB MCOMP.OR.5\r03050    FCB MFORE\r03060         FDB SEMIS-CFAOFF\r03070  FDB BIF+2\r03080         FDB LATEST-CFAOFF\r03090         FDB LFA-CFAOFF\r03100 LEAVE      LDD ,S index\r03110      STD 2,S to limit\r03120  NEXT\r03130 *\r03140      FCC '>R'\r03150  FCB MCOMP.OR.2\r03160    FCB MFORE\r03170         FDB LEAVE-CFAOFF\r03180  FDB BIF+2\r03190         FDB GT-CFAOFF\r03200     FDB QDOT-CFAOFF\r03210 TOR       PULU D\r03220    PSHS D\r03230    NEXT\r03240 *\r03250      FCC 'R>'\r03260  FCB MCOMP.OR.2\r03270    FCB MFORE\r03280         FDB TOR-CFAOFF\r03290    FDB BIF+2\r03300         FDB R-CFAOFF\r03310      FDB REPEAT-CFAOFF\r03320 RFROM   JMP <XVAR not JSR!\r03350 *\r03360        FCC 'R'\r03370   FCB 1\r03380     FCB MFORE\r03390         FDB RFROM-CFAOFF\r03400  FDB BIF+2\r03410         FDB QUIT-CFAOFF\r03420   FDB RNUM-CFAOFF\r03430 R JMP I\r03431 *\r03432     FCC '='\r03433   FCB 1\r03434     FCB MFORE\r03435         FDB R-CFAOFF\r03436      FDB BIF+2\r03437         FDB LT-CFAOFF\r03438     FDB QCOMP-CFAOFF\r03439 EQ       PULU D\r03440    CMPD ,U\r03441   BEQ TRUE\r03442  BRA FALSE\r03451 *\r03452         FCC '<'\r03453   FCB 1\r03454     FCB MFORE\r03455         FDB EQ-CFAOFF\r03456     FDB BIF+2\r03457         FDB SCODE-CFAOFF\r03458  FDB BEGHSH-CFAOFF\r03459 LT      LDD 2,U\r03460   CMPD ,U++\r03461         BLT TRUE\r03462  BRA FALSE\r03463 *\r03490         FCC '0='\r03491  FCB 2\r03492     FCB MFORE\r03493         FDB LT-CFAOFF\r03494     FDB BIF+2\r03500         FDB 0\r03510     FDB ONE-CFAOFF\r03520 ZEQ        LDD ,U\r03530    BNE FALSE\r03540 TRUE    LDD #-1\r03550   STD ,U\r03560    NEXT\r03570 *\r03580      FCC '0<'\r03590  FCB 2\r03600     FCB MFORE\r03610         FDB ZEQ-CFAOFF\r03620    FDB BIF+2\r03630         FDB ZERO-CFAOFF\r03640   FDB ZEQ-CFAOFF\r03650 ZLESS      LDA ,U\r03660    BMI TRUE\r03665 FALSE    LDD #0\r03670    STD ,U\r03680    NEXT\r03681 *\r03682      FCC '>'\r03683   FCB 1\r03684     FCB MFORE\r03685         FDB ZLESS-CFAOFF\r03686  FDB BIF+2\r03687         FDB 0\r03688     FDB TOPRT-CFAOFF\r03689 GT       LDD 2,U\r03690   CMPD ,U++\r03691         BGT TRUE\r03692  BRA FALSE\r03693 *\r03700         FCC '+'\r03710   FCB 1\r03720     FCB MFORE\r03730         FDB GT-CFAOFF\r03740     FDB BIF+2\r03750         FDB PAREN-CFAOFF\r03760  FDB SLASH-CFAOFF\r03770 ADD      PULU D\r03780    ADDTOP\r03810 *\r03820    FCC '-'\r03830   FCB 1\r03840     FCB MFORE\r03850         FDB ADD-CFAOFF\r03860    FDB BIF+2\r03870         FDB 0\r03880     FDB 0\r03890 SUB LDD 2,U\r03900   SUBD ,U++\r03910         STD ,U\r03920    NEXT\r03930 *\r03940      FCC 'D+'\r03950  FCB 2\r03960     FCB MFORE\r03970         FDB SUB-CFAOFF\r03980    FDB BIF+2\r03990         FDB CONST-CFAOFF\r04000  FDB DABS-CFAOFF\r04010 DADD      LDD 6,U\r04020   ADDD 2,U\r04030  STD 6,U\r04040   LDD 4,U\r04050   ADCB 1,U\r04060  ADCA ,U\r04070   LEAU 4,U\r04080  STD ,U\r04090    NEXT\r04100 *\r04120      FCC 'D-'\r04130  FCB 2\r04140     FCB MFORE\r04150         FDB DADD-CFAOFF\r04160   FDB BIF+2\r04170         FDB DCHS-CFAOFF\r04180   FDB DDOT-CFAOFF\r04190 DSUB      LDD 6,U\r04200   SUBD 2,U\r04210  STD 6,U\r04220   LDD 4,U\r04230   SBCB 1,U\r04240  SBCA ,U\r04250   LEAU 4,U\r04260  STD ,U\r04270    NEXT\r04280 *\r04290      FCC 'MINUS'\r04300       FCB 5\r04310     FCB MFORE\r04320         FDB DSUB-CFAOFF\r04330   FDB BIF+2\r04340         FDB 0\r04350     FDB MOD-CFAOFF\r04360 MINUS      LDD #0\r04370    SUBD ,U\r04380   STD ,U\r04390    NEXT\r04400 *\r04410      FCC 'DMINUS'\r04420      FCB 6\r04430     FCB MFORE\r04440         FDB MINUS-CFAOFF\r04450  FDB BIF+2\r04460         FDB 0\r04470     FDB 0\r04480 DMINUS      LDD #0\r04490    SUBD 2,U\r04500  STD 2,U\r04510   LDD #0\r04520    SBCB 1,U\r04530  SBCA ,U\r04570   STD ,U\r04580    NEXT\r04590 *\r04600      FCC 'OVER'\r04610        FCB 4\r04620     FCB MFORE\r04630         FDB DMINUS-CFAOFF\r04640         FDB BIF+2\r04650         FDB OR-CFAOFF\r04660     FDB PFA-CFAOFF\r04670 OVER       LDD 2,U\r04680   PSHU D\r04690    NEXT\r04700 *\r04710      FCC 'DROP'\r04720        FCB 4\r04730     FCB MFORE\r04740         FDB OVER-CFAOFF\r04750   FDB BIF+2\r04760         FDB DPL-CFAOFF\r04770    FDB EMIT-CFAOFF\r04780 DROP      LEAU 2,U\r04790  NEXT\r04800 *\r04810      FCC 'SWAP'\r04820        FCB 4\r04830     FCB MFORE\r04840         FDB DROP-CFAOFF\r04850   FDB BIF+2\r04860         FDB ROT-CFAOFF\r04870    FDB VAR-CFAOFF\r04880 SWAP       PULU D,X\r04890  PSHU D\r04900    PSHU X\r04910    NEXT\r04920 *\r04930      FCC 'DUP'\r04940         FCB 3\r04940     FCB MFORE\r04950         FDB SWAP-CFAOFF\r04960   FDB BIF+2\r04970         FDB 0 * DUMP-CFAOFF\r04980       FDB ELSE-CFAOFF\r04990 DUP       LDD ,U\r05000    PSHU D\r05010    NEXT\r05020 *\r05030      FCC '+!'\r05040  FCB 2\r05050     FCB MFORE\r05060         FDB DUP-CFAOFF\r05070    FDB BIF+2\r05080         FDB 0\r05090     FDB 0\r05100 ADDSTO      PULU X\r05110    LDD ,X\r05120    ADDD ,U++\r05130         STD ,X\r05140    NEXT\r05150 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05160  FCC 'TOGGLE'\r05170      FCB 6\r05180     FCB MFORE\r05190         FDB ADDSTO-CFAOFF\r05200         FDB BIF+2\r05210         FDB TIB-CFAOFF\r05220    FDB TYPE-CFAOFF\r05230 TOG       PULU D,X\r05240  EORB ,X\r05250   STB ,X\r05260    NEXT\r05270 *\r05280      FCC 'C@'\r05290  FCB 2\r05300     FCB MFORE\r05310         FDB TOG-CFAOFF\r05320    FDB BIF+2\r05330         FDB BUFFER-CFAOFF\r05340         FDB DADD-CFAOFF\r05350 CFEH      LDB [,U]\r05360  CLRA\r05370      STD ,U\r05380    NEXT\r05390 *\r05400      FCC 'C!'\r05410  FCB 2\r05420     FCB MFORE\r05430         FDB CFEH-CFAOFF\r05440   FDB BIF+2\r05450         FDB 0\r05460     FDB 0\r05470 CSTO        LDB 3,U\r05480   STB [,U]\r05490  LEAU 4,U\r05500  NEXT\r05510 *\r05520      FCC 'ROT'\r05530         FCB 3\r05540     FCB MFORE\r05550         FDB CSTO-CFAOFF\r05560   FDB BIF+2\r05570         FDB RFROM-CFAOFF\r05580  FDB SMUDGE-CFAOFF\r05590 ROT     PSHS Y\r05600    PULU D,X,Y\r05610        PSHU D,X\r05620  PSHU Y\r05630    PULS Y\r05640    NEXT\r05650 *\r05660      FCC 'BACK' back ref\r05670       FCB MCOMP.OR.4\r05680    FCB MFORE\r05690         FDB ROT-CFAOFF\r05700    FDB BIF+2\r05710         FDB BPBUF-CFAOFF\r05720  FDB BEGIN-CFAOFF\r05730 BACK     LDX <UP\r05740   PULU D target\r05750     SUBD UDP,X here\r05755   SUBD #2 past\r05760      PSHU D\r05770    JMP COMMA\r05780 *\r05800         FCC 'NOT'\r05810         FCB 3\r05820     FCB MFORE\r05830         FDB BACK-CFAOFF\r05840   FDB BIF+2\r05850         FDB NDOT-CFAOFF\r05860   FDB 0\r05870 NOT LDD ,U\r05880    COMB\r05890      COMA\r05900      STD ,U\r05910    NEXT\r05920 *\r05990      FCC /'/\r06000   FCB MIMM.OR.1\r06010     FCB MFORE\r06020         FDB NOT-CFAOFF\r06030    FDB BIF+2\r06040         FDB HASHS-CFAOFF\r06050  FDB 0\r06055 * ' see fig-FORTH model\r06060 TICK  DOCOL\r06070     FDB DDFIND\r06080        FDB DROP\r06090  FDB DUP\r06100   FDB ZEQ\r06110   FDB ZERO\r06120  FDB QERR\r06130  FDB LITER\r06140         FDB SEMIS\r06150 *\r07000         FCC '-->'\r07010         FCB MIMM.OR.3\r07020     FCB MFORE\r07030         FDB TICK-CFAOFF\r07040   FDB BIF+2\r07050         FDB PLOOP-CFAOFF\r07060  FDB DOT-CFAOFF\r07065 * --> see fig-FORTH model\r07070 NEXSCR     DOCOL\r07080     FDB QLOAD\r07090         FDB ZERO\r07100  FDB IN\r07110    FDB STORE\r07120         FDB BPSCR\r07130         FDB BLK\r07140   FDB FETCH\r07150         FDB OVER\r07160  FDB MOD remaining in screen\r07170       FDB SUB\r07180   FDB BLK\r07190   FDB ADDSTO to next\r07200        FDB SEMIS\r07290 *\r07300         FCC '1ARRAY'\r07310      FCB 6\r07320     FCB MFORE\r07330         FDB NEXSCR-CFAOFF\r07340         FDB BIF+2\r07350         FDB SUB1-CFAOFF\r07360   FDB TBR-CFAOFF\r07370 ONEARR     DOCOL\r07380     FDB CREATE\r07390        FDB IPCOM\r07400         DO1ARR\r07410    FDB XMACH\r07415         LDX ,U\r07420    CMPX #255       0<el-size<256\r07430     BLS ONEARW\r07440 ONEARE LDD #$0D\r07450  PSHU D\r07460    LBRA ERROR\r07470 ONEARW LDD 4,U         swap\r07480      STD ,U\r07490    STX 4,U\r07500   LDD 2,U         last\r07510      SUBD ,U         first\r07520     BLT ONEARE      real dimension?\r07530   ADDD #1 element count\r07540     STD 2,U\r07550   PSHU D,X\r07560  DOCOL\r07570     FDB USTAR\r07580         FDB LIT overflow?\r07590         FDB $0D\r07600   FDB QERR\r07610  FDB TOR byte count\r07620        FDB COMMA       base\r07630      FDB COMMA       width\r07640     FDB CCOMMA      element size\r07650      FDB RFROM\r07660         FDB ALLOT\r07670         FDB SMUDGE\r07680        FDB SEMIS\r07690 *\r07700         FCC 'UTILITIES'\r07710   FCB MIMM.OR.9\r07720     FCB MFORE\r07730         FDB ONEARR-CFAOFF\r07740         FDB BIF+2\r07750         FDB 0\r07760     FDB 0\r07770 UTIL        DOVOC\r07780     FDB DPFEH-CFAOFF\r07890 *\r07900  FCC 'DP@'\r07910         FCB 3\r07920     FCB MFORE\r07930         FDB UTIL-CFAOFF\r07940   FDB UTIL+2\r07950        FDB 0\r07960     FDB 0\r07970 DPFEH       TFR DP,A\r07980  CLRB\r07990      PSHU D\r07992    NEXT\r07994 *\r08000      FCC 'DCONSTANT'\r08010   FCB 9\r08020     FCB MFORE\r08030         FDB DPFEH-CFAOFF\r08040  FDB BIF+2\r08050         FDB 0\r08060     FDB 0\r08070 DCON        DOCOL\r08080     FDB CREATE\r08090        FDB IPCOM\r08100         JSR <XDCON\r08110        FDB COMMA\r08120         FDB COMMA\r08130         FDB SMUDGE\r08140        FDB SEMIS\r08390 *\r08300         FCC 'SWAB'\r08310        FCB 4\r08320     FCB MFORE\r08330         FDB DCON-CFAOFF\r08340   FDB BIF+2\r08350         FDB 0\r08360     FDB SWAN-CFAOFF\r08370 SWAB      LDD ,U\r08380    STB ,U  LS byte\r08390   STA 1,U MS byte\r08400   NEXT\r08490 *\r08500      FCC 'SWAN'\r08510        FCB 4\r08520     FCB MFORE\r08530         FDB SWAB-CFAOFF\r08540   FDB BIF+2\r08550         FDB 0\r08560     FDB 0\r08570 SWAN        LDA 1,U\r08580   LDB 1,U\r08590   LSRA\r08600      RORB\r08610      LSRA\r08620      RORB\r08630      LSRA\r08640      RORB\r08650      LSRA\r08660      RORB\r08670      STB 1,U\r08680   LDA ,U\r08690    LDB ,U\r08700    LSRA\r08710      RORB\r08720      LSRA\r08730      RORB\r08740      LSRA\r08750      RORB\r08760      LSRA\r08770      RORB\r08780      STB ,U\r08790    NEXT\r08890 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000   FCC '1+'\r01010  FCB 2\r01020     FCB MFORE\r01030         FDB SWAN-CFAOFF\r01040   FDB BIF+2\r01050         FDB ZLESS-CFAOFF\r01060  FDB ADD2-CFAOFF\r01070 ADD1      LDD #1\r01080    ADDTOP\r01110 *\r01120    FCC '1-'\r01130  FCB 2\r01140     FCB MFORE\r01150         FDB ADD1-CFAOFF\r01160   FDB BIF+2\r01170         FDB 0\r01180     FDB 0\r01190 SUB1        LDD #-1\r01200   ADDTOP\r01230 *\r01240    FCC '2+'\r01250  FCB 2\r01260     FCB MFORE\r01270         FDB SUB1-CFAOFF\r01280   FDB BIF+2\r01290         FDB TWO-CFAOFF\r01300    FDB RSHIFT-CFAOFF\r01310 ADD2    LDD #2\r01320    ADDTOP\r01330 *\r01340    FCC '2-'\r01350  FCB 2\r01360     FCB MFORE\r01370         FDB ADD2-CFAOFF\r01380   FDB BIF+2\r01390         FDB 0\r01400     FDB 0\r01410 SUB2        LDD #-2\r01420   ADDTOP\r01430 *\r01440    FCC '0'\r01450   FCB 1\r01460     FCB MFORE\r01470         FDB SUB2-CFAOFF\r01480   FDB BIF+2\r01490         FDB SLAMOD-CFAOFF\r01500         FDB INULL-CFAOFF\r01510 ZERO     LDD #0\r01520    PSHU D\r01530    NEXT\r01540 *\r01550      FCC '1'\r01560   FCB 1\r01570     FCB MFORE\r01580         FDB ZERO-CFAOFF\r01590   FDB BIF+2\r01600         FDB ZBR-CFAOFF\r01610    FDB 0\r01620 ONE LDD #1\r01630    PSHU D\r01640    NEXT\r01650 *\r01660      FCC '-1'\r01670  FCB 2\r01680     FCB MFORE\r01690         FDB ONE-CFAOFF\r01700    FDB BIF+2\r01710         FDB 0\r01720     FDB DDFIND-CFAOFF\r01730 MONE    LDD #-1\r01740   PSHU D\r01750    NEXT\r01760 *\r01770      FCC '2'\r01780   FCB 1\r01790     FCB MFORE\r01800         FDB MONE-CFAOFF\r01810   FDB BIF+2\r01820         FDB ONEARR-CFAOFF\r01830         FDB LSHIFT-CFAOFF\r01840 TWO     DOCON\r01850     FDB 2\r01860 *\r01870     FCC '3'\r01880   FCB 1\r01890     FCB MFORE\r01895         FDB TWO-CFAOFF\r01900    FDB BIF+2\r01910         FDB 0\r01920     FDB 0\r01930 THREE       DOCON\r01940     FDB 3\r01950 *\r01960     FCC 'BL'\r01970  FCB 2\r01980     FCB MFORE\r01990         FDB THREE-CFAOFF\r02000  FDB BIF+2\r02010         FDB 0\r02020     FDB 0\r02030 BL  DOCON\r02040     FDB $20 ascii SP\r02050 *\r02060  FCC 'C/L'\r02070         FCB 3\r02080     FCB MFORE\r02090         FDB BL-CFAOFF\r02100     FDB BIF+2\r02110         FDB 0\r02120     FDB 0\r02130 CPERL       DOUCON\r02140    FCB UCOLUM\r02170 *\r02180        FCC 'FIRST'\r02190       FCB 5\r02200     FCB MFORE\r02210         FDB CPERL-CFAOFF\r02220  FDB BIF+2\r02230         FDB 0\r02240     FDB FLD-CFAOFF\r02250 FIRST      DOUCON\r02260    FCB UFIRST\r02290 *\r02300        FCC 'LIMIT'\r02310       FCB 5\r02320     FCB MFORE\r02330         FDB FIRST-CFAOFF\r02340  FDB BIF+2\r02350         FDB LEAVE-CFAOFF\r02360  FDB LITER-CFAOFF\r02370 LIMIT    DOUCON\r02380    FCB ULIMIT\r02400 *\r02410 BWID   EQU 256 bytes\r02420     FCC 'B/BUF'\r02430       FCB 5\r02440     FCB MFORE\r02450         FDB LIMIT-CFAOFF\r02460  FDB BIF+2\r02470         FDB ASMBLR-CFAOFF\r02480         FDB BPSCR-CFAOFF\r02490 BPBUF    DOCON\r02500     FDB BWID\r02510 *\r02520 BCT      EQU 4 buffers\r02520     FCC 'B/SCR'\r02530       FCB 5\r02540     FCB MFORE\r02550         FDB BPBUF-CFAOFF\r02560  FDB BIF+2\r02570         FDB 0\r02580     FDB 0\r02590 BPSCR       DOCON\r02600     FDB BCT\r02610 *\r02620   FCC '+ORIGIN'\r02630     FCB 7\r02640     FCB MFORE\r02650         FDB BPSCR-CFAOFF\r02660  FDB BIF+2\r02670         FDB 0\r02680     FDB 0\r02690 PORIG       LDD #ORIG\r02700         LBRA ADD+2\r02710 *\r02715 * some USER vars hidden\r02720 * fig-FORTH USER vars not present:\r02722 * WIDTH VOC-LINK CONTEXT CURRENT\r02724 *\r02730  FCC 'TIB'\r02740         FCB 3\r02750     FCB MFORE\r02760         FDB PORIG-CFAOFF\r02770  FDB BIF+2\r02780         FDB 0\r02790     FDB 0\r02800 TIB DOUSER\r02810    FCB UTIB\r02820 *\r02930  FCC 'WARNING'\r02940     FCB 7\r02950     FCB MFORE\r02960         FDB TIB-CFAOFF\r02970    FDB BIF+2\r02980         FDB 0\r02990     FDB 0\r03000 WARN        DOUSER\r03010    FCB UWARN\r03020 *\r03030         FCC 'FENCE'\r03040       FCB 5\r03050     FCB MFORE\r03060         FDB WARN-CFAOFF\r03070   FDB BIF+2\r03080         FDB 0\r03090     FDB 0\r03100 FENCE       DOUSER\r03110    FCB UFENCE\r03120 *\r03130        FCC 'DP'\r03140  FCB 2\r03150     FCB MFORE\r03160         FDB FENCE-CFAOFF\r03170  FDB BIF+2\r03180         FDB DOES-CFAOFF\r03190   FDB 0\r03200 DPC DOUSER\r03210    FCB UDP\r03220 *\r03230   FCC 'ROOT'\r03240        FCB 4\r03250     FCB MFORE\r03260         FDB DPC-CFAOFF\r03270    FDB BIF+2\r03280         FDB 0\r03290     FDB 0\r03300 ROOT        DOUSER  not fig\r03310   FCB UROOT\r03320 *\r03330         FCC 'BLK'\r03340         FCB 3\r03350     FCB MFORE\r03360         FDB ROOT-CFAOFF\r03370   FDB BIF+2\r03380         FDB BLANKS-CFAOFF\r03390         FDB BLOCK-CFAOFF\r03400 BLK      DOUSER\r03410    FCB UBLK\r03420 *\r03430  FCC 'IN'\r03440  FCB 2\r03450     FCB MFORE\r03460         FDB BLK-CFAOFF\r03470    FDB BIF+2\r03480         FDB IMMED-CFAOFF\r03490  FDB INTERP-CFAOFF\r03500 IN      DOUSER\r03510    FCB UIN\r03520 *\r03530   FCC 'OUT'\r03540         FCB 3\r03550     FCB MFORE\r03560         FDB IN-CFAOFF\r03570     FDB BIF+2\r03580         FDB 0\r03590     FDB 0\r03600 OUT DOUSER\r03610    FCB UOUT\r03620 *\r03630  FCC 'SCR'\r03640         FCB 3\r03650     FCB MFORE\r03660         FDB OUT-CFAOFF\r03670    FDB BIF+2\r03680         FDB 0\r03690     FDB 0\r03700 SCR DOUSER\r03710    FCB USCR\r03720 *\r03730  FCC 'OFFSET'\r03740      FCB 6\r03750     FCB MFORE\r03760         FDB SCR-CFAOFF\r03770    FDB BIF+2\r03780         FDB 0\r03790     FDB 0\r03800 OFFSET      DOUSER\r03810    FCB UOFFS\r03820 *\r03830         FCC 'STATE'\r03840       FCB 5\r03850     FCB MFORE\r03860         FDB OFFSET-CFAOFF\r03870         FDB BIF+2\r03880         FDB SPACES-CFAOFF\r03890         FDB SWAB-CFAOFF\r03900 STATE     DOUSER\r03910    FCB USTATE\r03920 *\r03930        FCC 'BASE'\r03940        FCB 4\r03950     FCB MFORE\r03960         FDB STATE-CFAOFF\r03970  FDB BIF+2\r03980         FDB 0\r03990     FDB 0\r04000 BASE        DOUSER\r04010    FCB UBASE\r04020 *\r04030         FCC 'DPL'\r04040         FCB 3\r04050     FCB MFORE\r04060         FDB BASE-CFAOFF\r04070   FDB BIF+2\r04080         FDB DPC-CFAOFF\r04090    FDB DROFFS-CFAOFF\r04100 DPL     DOUSER\r04110    FCB UDPL\r04120 *\r04130  FCC 'FLD'\r04140         FCB 3\r04150     FCB MFORE\r04160         FDB DPL-CFAOFF\r04170    FDB BIF+2\r04180         FDB 0\r04190     FDB 0\r04200 FLD DOUSER\r04210    FCB UFLD\r04220 *\r04230  FCC 'CSP'\r04240         FCB 3\r04250     FCB MFORE\r04260         FDB FLD-CFAOFF\r04270    FDB BIF+2\r04280         FDB 0\r04290     FDB CURR-CFAOFF\r04300 CSP       DOUSER\r04310    FCB UCSP\r04320 *\r04330  FCC 'R#'\r04340  FCB 2\r04350     FCB MFORE\r04360         FDB CSP-CFAOFF\r04370    FDB BIF+2\r04380         FDB 0\r04390     FDB RW-CFAOFF\r04400 RNUM        DOUSER\r04410    FCB URNUM\r04420 *\r04430         FCC 'HLD'\r04440         FCB 3\r04450     FCB MFORE\r04460         FDB RNUM-CFAOFF\r04470   FDB BIF+2\r04480         FDB HEX-CFAOFF\r04490    FDB HOLD-CFAOFF\r04500 HLD       DOUSER\r04510    FCB UHLD\r04520 *\r04530  FCC 'FOREWARD'\r04540    FCB 8\r04550     FCB MFORE\r04560         FDB HLD-CFAOFF\r04570    FDB BIF+2\r04580         FDB 0\r04590     FDB 0\r04600 FORE        DOUSER  not fig\r04610   FCB UFORE\r04620 *\r04630         FCC 'CURRENT'\r04640     FCB 7\r04650     FCB MFORE\r04660         FDB FORE-CFAOFF\r04670   FDB BIF+2\r04680         FDB 0\r04690     FDB 0\r04700 CURR        DOUSER  not fig\r04710   FCB UCURR\r04720 *\r04730         FCC 'PREV'\r04740        FCB 4\r04750     FCB MFORE\r04760         FDB CURR-CFAOFF\r04770   FDB BIF+2\r04780         FDB 0\r04790     FDB 0\r04800 PREV        DOUSER  moved\r04810     FCB UPREV\r04820 *\r04830         FCC 'USE'\r04840         FCB 3\r04850     FCB MFORE\r04860         FDB PREV-CFAOFF\r04870   FDB BIF+2\r04880         FDB 0\r04890     FDB 0\r04900 USE DOUSER  moved\r04910     FCB UUSE\r04920 *\r04930  FCC 'DROOT'\r04940       FCB 5\r04950     FCB MFORE\r04960         FDB USE-CFAOFF\r04970    FDB BIF+2\r04980         FDB 0\r04990     FDB 0\r05000 DROOT       DOUSER  not fig\r05010   FCB UDROOT\r05020 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05030        FCC 'HERE'\r05040        FCB 4\r05050     FCB MFORE\r05060         FDB DROOT-CFAOFF\r05070  FDB BIF+2\r05080         FDB FOREMK-CFAOFF\r05090         FDB I-CFAOFF\r05100 HERE LDX <UP\r05110   LDD UDP,X\r05120         PSHU D\r05122 HERERR     LDX <UP\r05124   CMPU UDP,X\r05128        BLS ALLERR\r05130        NEXT\r05132 ALLERR       LDD #2\r05134    PSHU D\r05136    JMP ERROR\r05140 *\r05150         FCC 'ALLOT'\r05160       FCB 5\r05170     FCB MFORE\r05180         FDB HERE-CFAOFF\r05190   FDB BIF+2\r05200         FDB AGAIN-CFAOFF\r05210  FDB 0\r05220 ALLOT       LDX <UP\r05222   LDD UDP,X\r05223         BMI ALLERR\r05224        ADDD ,U++\r05226         STD UDP,X\r05228         BRA HERERR\r05230 *\r05238        FCC ','\r05240   FCB 1\r05250     FCB MFORE\r05260         FDB ALLOT-CFAOFF\r05270  FDB BIF+2\r05280         FDB PORIG-CFAOFF\r05290  FDB SUB-CFAOFF\r05300 COMMA      PULU D allocate and store\r05310         PSHS Y\r05320    LDY <UP\r05330   LDX UDP,Y\r05340         STD ,X++\r05350 COMSTO   STX UDP,Y\r05360         PULS Y\r05375    BRA HERERR\r05380 *\r05390        FCC 'C,'\r05400  FCB 2\r05410     FCB MFORE\r05420         FDB COMMA-CFAOFF\r05430  FDB BIF+2\r05440         FDB CSTO-CFAOFF\r05450   FDB CPERL-CFAOFF\r05460 CCOMMA   PULU D\r05470    PSHS Y\r05480    LDY <UP\r05490   LDX UDP,Y\r05500         STB ,X+\r05510   BRA COMSTO\r05520 *\r05530        FCC 'SPACE'\r05540       FCB 5\r05550     FCB MFORE\r05560         FDB CCOMMA-CFAOFF\r05570         FDB BIF+2\r05580         FDB SPFEH-CFAOFF\r05590  FDB STATE-CFAOFF\r05600 SPACE    LDB BL+3,PCR\r05610      LBRA EMIT+2\r05620 *\r05630       FCC '-DUP'\r05640        FCB 4\r05650     FCB MFORE\r05660         FDB SPACE-CFAOFF\r05670  FDB BIF+2\r05680         FDB MONE-CFAOFF\r05690   FDB DTRAIL-CFAOFF\r05700 DDUP    LDD ,U\r05710    BEQ *+4\r05720   PSHU D\r05730    NEXT\r05740 *\r05750      FCC '?CST'\r05760        FCB 4\r05770     FCB MFORE\r05780         FDB DDUP-CFAOFF\r05790   FDB BIF+2\r05800         FDB QCSP-CFAOFF\r05810   FDB QERR-CFAOFF\r05820 QCST      LDX <UP\r05830   LDB USTATE+1,X\r05840    ANDB #SCOMP\r05850       CLRA\r05860      PSHU D\r05870    NEXT\r05890 *\r05900      FCC 'IF'\r05910  FCB MIMM.OR.MCOMP.OR.2\r05920    FCB MFORE\r05930         FDB QCST-CFAOFF\r05940   FDB BIF+2\r05950         FDB DO-CFAOFF\r05960     FDB QUERY-CFAOFF\r05965 * IF see fig-FORTH model\r05970 IF        DOCOL\r05980     FDB COMP\r05990  FDB ZBR\r06000   FDB HERE adr\r06010      FDB ZERO\r06020  FDB COMMA\r06030         FDB LIT\r06040   FDB ('I)*256+'F\r06060   FDB SEMIS\r06090 *\r06100         FCC 'ELSE'\r06110        FCB MIMM.OR.MCOMP.OR.4\r06120    FCB MFORE\r06130         FDB IF-CFAOFF\r06140     FDB BIF+2\r06150         FDB EDITOR-CFAOFF\r06160         FDB 0\r06170 ELSE        DOCOL\r06172     FDB DUP\r06173   FDB LIT\r06175   FDB ('I)*256+'F\r06178   FDB QPAIRS\r06180        FDB COMP\r06190  FDB BRANCH\r06200        FDB HERE adr\r06205      FDB ZERO\r06210  FDB COMMA\r06220         FDB ROT\r06230   FDB FILLIN IF adr\r06250         FDB SWAP for ENDIF\r06260        FDB SEMIS\r06290 *\r06300         FCC 'ENDIF'\r06310       FCB MIMM.OR.MCOMP.OR.5\r06320    FCB MFORE\r06330         FDB ELSE-CFAOFF\r06340   FDB BIF+2\r06350         FDB DROP-CFAOFF\r06360   FDB FIND-CFAOFF\r06370 ENDIF     DOCOL\r06380     FDB QCOMP\r06390         FDB LIT\r06400   FDB ('I)*256+'F\r06410   FDB QPAIRS\r06420        FDB FILLIN\r06470        FDB SEMIS\r06490 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000       FCC 'LATEST'\r01010      FCB 6\r01020     FCB MFORE\r01030         FDB ENDIF-CFAOFF\r01040  FDB BIF+2\r01050         FDB 0\r01060     FDB 0\r01070 LATEST      DOUCON  not ROOT!\r01080         FCB UCURR NFA\r01110 *\r01115 * convert NFA to LFA,CFA,GFA,PFA\r01120      FCC 'LFA'\r01130         FCB 3\r01140     FCB MFORE\r01150         FDB LATEST-CFAOFF\r01160         FDB BIF+2\r01170         FDB 0\r01180     FDB 0\r01190 LFA LDB #LFAOFF\r01200       BRA CFA+2\r01210 *\r01220         FCC 'CFA'\r01230         FCB 3\r01240     FCB MFORE\r01250         FDB LFA-CFAOFF\r01260    FDB BIF+2\r01270         FDB 0\r01280     FDB 0\r01290 CFA LDB #CFAOFF\r01292       SEX\r01294       ADDD ,U\r01296   STD ,U\r01300    NEXT\r01310 *\r01320      FCC 'GFA'\r01330         FCB 3\r01340     FCB MFORE\r01350         FDB CFA-CFAOFF\r01360    FDB BIF+2\r01370         FDB 0\r01380     FDB 0\r01390 GFA LDB #GFAOFF\r01400       BRA CFA+2\r01410 *\r01420         FCC 'PFA'\r01430         FCB 3\r01440     FCB MFORE\r01450         FDB GFA-CFAOFF\r01460    FDB BIF+2\r01470         FDB PAD-CFAOFF\r01480    FDB PREV-CFAOFF\r01490 PFA       LDB #PFAOFF\r01500       BRA CFA+2\r01510 *\r01515 * PFA to NFA\r01520      FCC 'NFA'\r01530         FCB 3\r01540     FCB MFORE\r01550         FDB PFA-CFAOFF\r01560    FDB BIF+2\r01570         FDB NCOMMA-CFAOFF\r01580         FDB NOT-CFAOFF\r01590 NFA        LDB #-PFAOFF\r01600      BRA CFA+2\r01610 *\r01620         FCC '!CSP'\r01630        FCB 4\r01640     FCB MFORE\r01650         FDB NFA-CFAOFF\r01660    FDB BIF+2\r01670         FDB 0\r01680     FDB HASH-CFAOFF\r01690 STOCSP    LDX <UP\r01700   STU UCSP,X\r01710        NEXT\r01720 *\r01730      FCC 'HEX'\r01740         FCB 3\r01750     FCB MFORE\r01760         FDB STOCSP-CFAOFF\r01770         FDB BIF+2\r01780         FDB 0\r01790     FDB 0\r01800 HEX LDB #16\r01810   CLRA\r01820      LDX <UP\r01830   STD UBASE,X\r01840       NEXT\r01850 *\r01860      FCC 'DECIMAL'\r01870     FCB 7\r01880     FCB MFORE\r01890         FDB HEX-CFAOFF\r01900    FDB BIF+2\r01910         FDB DAD-CFAOFF\r01920    FDB DEFS-CFAOFF\r01930 DEC       LDB #10\r01940   BRA HEX+2\r01950 *\r01960         FCC 'OCTAL'\r01970       FCB 5\r01980     FCB MFORE\r01990         FDB DEC-CFAOFF\r02000    FDB BIF+2\r02010         FDB 0\r02020     FDB OFFSET-CFAOFF\r02030 OCT     LDB #8\r02040    BRA HEX+2\r02050 *\r02060         FCC 'FILL'\r02070        FCB 4\r02080     FCB MFORE\r02090         FDB OCT-CFAOFF\r02100    FDB BIF+2\r02110         FDB FENCE-CFAOFF\r02120  FDB FILLIN-CFAOFF\r02130 FILL    PSHS Y\r02140    PULU D,X,Y\r02150        STB ,Y+\r02160   LEAX -1,X\r02170         BNE *-4\r02180   PULS Y\r02190    NEXT\r02200 *\r02210      FCC 'ERASE'\r02220       FCB 5\r02230     FCB MFORE\r02240         FDB FILL-CFAOFF\r02250   FDB BIF+2\r02260         FDB 0\r02270     FDB 0\r02280 ERASE       LDB #0\r02290    PSHU D\r02300    BRA FILL\r02310 *\r02320  FCC 'BLANKS'\r02330      FCB 6\r02340     FCB MFORE\r02350         FDB ERASE-CFAOFF\r02360  FDB BIF+2\r02370         FDB BL-CFAOFF\r02380     FDB 0\r02390 BLANKS      LDB #$20 ascii SP\r02400         PSHU D\r02410    BRA FILL\r02420 *\r02430  FCC 'HOLD'\r02440        FCB 4\r02450     FCB MFORE\r02460         FDB BLANKS-CFAOFF\r02470         FDB BIF+2\r02480         FDB 0\r02490     FDB 0\r02500 HOLD        PULU D CH\r02510         PSHS Y\r02520    LDY <UP\r02530   LDX UHLD,Y\r02540        STB ,-X\r02550   STX UHLD,Y\r02555        PULS Y\r02560    NEXT\r02570 *\r02580      FCC 'PAD'\r02590         FCB 3\r02600     FCB MFORE\r02610         FDB HOLD-CFAOFF\r02620   FDB BIF+2\r02630         FDB 0\r02640     FDB 0\r02650 PAD DOUCON  moved!\r02660    FCB UPAD\r02700 *\r02710  FCC 'S->D'\r02720        FCB 4\r02730     FCB MFORE\r02740         FDB PAD-CFAOFF\r02750    FDB BIF+2\r02760         FDB RPSTO-CFAOFF\r02770  FDB SIGN-CFAOFF\r02780 STOD      LEAU -2,U\r02790         LDD 2,U\r02795   LBRA ZLESS+2\r02800 *\r02810      FCC '+-'\r02820  FCB 2\r02830     FCB MFORE\r02840         FDB STOD-CFAOFF\r02850   FDB BIF+2\r02860         FDB ADDSTO-CFAOFF\r02870         FDB ADDBUF-CFAOFF\r02880 CHS     LDD ,U++\r02890  LBMI MINUS\r02895        NEXT\r02900 *\r02910      FCC 'D+-'\r02920         FCB 3\r02930     FCB MFORE\r02940         FDB STOD-CFAOFF\r02950   FDB BIF+2\r02960         FDB 0\r02970     FDB 0\r02980 DCHS        LDD ,U++\r02990  LBMI DMINUS\r02995       NEXT\r03000 *\r03010      FCC 'ABS'\r03020         FCB 3\r03030     FCB MFORE\r03040         FDB DCHS-CFAOFF\r03050   FDB BIF+2\r03060         FDB ABORT-CFAOFF\r03070  FDB ALLOT-CFAOFF\r03080 ABS      LDD ,U\r03090    LBMI MINUS\r03095        NEXT\r03100 *\r03110      FCC 'DABS'\r03120        FCB 4\r03130     FCB MFORE\r03140         FDB ABS-CFAOFF\r03150    FDB BIF+2\r03160         FDB DSUB-CFAOFF\r03170   FDB DIGIT-CFAOFF\r03180 DABS     LDD ,U\r03190    LBMI DMINUS\r03195       NEXT\r03200 *\r03210      FCC 'MIN'\r03220         FCB 3\r03230     FCB MFORE\r03240         FDB DABS-CFAOFF\r03250   FDB BIF+2\r03260         FDB MSMOD-CFAOFF\r03270  FDB MOVE-CFAOFF\r03280 MIN       PULU D\r03284    CMPD ,U\r03288   BGE *+4\r03290   STD ,U\r03295    NEXT\r03300 *\r03310      FCC 'MAX'\r03320         FCB 3\r03330     FCB MFORE\r03340         FDB MIN-CFAOFF\r03350    FDB BIF+2\r03360         FDB 0\r03370     FDB 0\r03380 MAX PULU D\r03384    CMPD ,U\r03388   BLE *+4\r03390   STD ,U\r03395    NEXT\r03400 *\r03410      FCC '['\r03412   FCB MIMM.OR.1\r03414     FCB MFORE\r03416         FDB MAX-CFAOFF\r03418    FDB BIF+2\r03420         FDB XOR-CFAOFF\r03422    FDB 0\r03430 LBRAK       LDB #.NOT.SCOMP\r03435   LDX <UP\r03440   ANDB USTATE+1,X\r03445   STB USTATE+1,X\r03450    NEXT\r03500 *\r03510      FCC ']'\r03512   FCB 1\r03514     FCB MFORE\r03516         FDB LBRAK-CFAOFF\r03518  FDB BIF+2\r03520         FDB 0\r03522     FDB 0\r03530 RBRAK       LDB #SCOMP\r03535        LDX <UP\r03540   ORB USTATE+1,X\r03545    STB USTATE+1,X\r03550    NEXT\r03555 *\r03560      FCC 'IMMEDIATE'\r03562   FCB 9\r03564     FCB MFORE\r03566         FDB RBRAK-CFAOFF\r03568  FDB BIF+2\r03570         FDB 0\r03572     FDB 0\r03580 IMMED       LDB #MIMM\r03585         BRA SMUDGE+2\r03600 *\r03610      FCC 'SMUDGE'\r03612      FCB 6\r03614     FCB MFORE\r03616         FDB IMMED-CFAOFF\r03618  FDB BIF+2\r03620         FDB STOD-CFAOFF\r03622   FDB SPACE-CFAOFF\r03630 SMUDGE   LDB #MHID\r03635         LDX <UP\r03645   EORB [UCURR,X]\r03650    STB [UCURR,X]\r03655     NEXT\r03657 *\r03660      FCC 'COMPILE-ONLY'\r03662        FCB 12\r03664    FCB MFORE\r03666         FDB SMUDGE-CFAOFF\r03668         FDB BIF+2\r03670         FDB 0\r03672     FDB 0\r03680 COMPO       LDB #MCOMP\r03685        BRA SMUDGE+2\r03800 *\r03810      FCC 'COUNT'\r03812       FCB 5\r03814     FCB MFORE\r03816         FDB COMPO-CFAOFF\r03818  FDB BIF+2\r03820         FDB 0\r03822     FDB 0\r03830 COUNT       LDX ,U CT OF STR\r03835  LDB ,X+\r03840   STX ,U STRING\r03845     CLRA\r03850      PSHU D COUNT\r03855      NEXT\r03900 *\r03910      FCC '-TRAILING'\r03912   FCB 9\r03914     FCB MFORE\r03916         FDB COUNT-CFAOFF\r03918  FDB BIF+2\r03920         FDB DIFIND-CFAOFF\r03922         FDB 0\r03930 DTRAIL      LDD ,U\r03935    LDX 2,U\r03940   LEAX D,X END\r03945      LDA #$20 ascii SP\r03950 DTRAL   CMPA ,-X\r03955  BNE DTRAD\r03960         CMPX 2,U\r03965  BHS DTRAL\r03970 DTRAD TFR X,D\r03975     SUBD 2,U\r03980  ADDD #1\r03985   STD ,U\r03990    NEXT\r04000 *\r04010      FCC '(MACHINE)'\r04012   FCB MCOMP.OR.9\r04014    FCB MFORE\r04016         FDB DTRAIL-CFAOFF\r04018         FDB BIF+2\r04020         FDB XLINE-CFAOFF\r04022  FDB INUMB-CFAOFF\r04030 XMACH    TFR Y,X\r04040   PULS Y UN-NEST\r04050    JMP ,X IN LINE MACHINE CODE\r04100 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r04110  FCC 'TYPE'\r04112        FCB 4\r04114     FCB MFORE\r04116         FDB XMACH-CFAOFF\r04118  FDB BIF+2\r04120         FDB 0\r04122     FDB 0\r04130 TYPE        LDD ,U\r04132    BEQ TYPEQ\r04135         ADDD 2,U\r04140  STD ,U for compare\r04145        LDX 2,U\r04150 TYPEL     LDB ,X+\r04155   STX 2,U\r04160   CLRA\r04165      PSHU D\r04170    DOCOL\r04175     FDB EMIT\r04180  FDB XMACH\r04185         LDX 2,U\r04190   CMPX ,U\r04195   BLO TYPEL\r04197 TYPEQ LEAU 4,U\r04200    NEXT\r04205 *\r04210      FCC '(.")'\r04212        FCB MCOMP.OR.4\r04214    FCB MFORE\r04216         FDB TYPE-CFAOFF\r04218   FDB BIF+2\r04220         FDB XPLOOP-CFAOFF\r04222         FDB XSCODE-CFAOFF\r04230 XDOTQ   LDB ,Y+ count\r04235     CLRA\r04240      TFR Y,X string\r04245    LEAY D,Y past it\r04250  PSHU D,X\r04255  BRA TYPE\r04300 *\r04310  FCC 'ID.'\r04312         FCB 3\r04314     FCB MFORE\r04316         FDB XDOTQ-CFAOFF\r04318  FDB BIF+2\r04320         FDB 0\r04322     FDB 0\r04330 IDDOT       PULU X nfa\r04335        LDB ,X\r04340    ANDB #NLMASK\r04350      NEGB\r04360      LEAX B,X past it\r04370  NEGB\r04380      CLRA\r04390      PSHU D,X\r04400  BRA TYPE\r04410 *\r04510  FCC 'FILL-IN'\r04512     FCB MCOMP.OR.7\r04514    FCB MFORE\r04516         FDB IDDOT-CFAOFF\r04518  FDB BIF+2\r04520         FDB 0\r04522     FDB 0\r04530 FILLIN      LDX <UP\r04540   LDD UDP,X\r04550         SUBD ,U adr\r04555       SUBD #2 past\r04560      STD [,U++]\r04570        NEXT\r04590 *\r04610      FCC 'BEGIN'\r04612       FCB MCOMP.OR.MIMM.OR.5\r04614    FCB MFORE\r04616         FDB FILLIN-CFAOFF\r04618         FDB BIF+2\r04620         FDB BASE-CFAOFF\r04622   FDB 0\r04630 BEGIN       DOCOL   see fig-FORTH model\r04640       FDB QCOMP\r04650         FDB HERE target\r04660   FDB LIT\r04670   FDB ('B)*256+'E\r04680   FDB SEMIS\r04690 *\r04710         FCC 'AGAIN'\r04712       FCB MCOMP.OR.MIMM.OR.5\r04714    FCB MFORE\r04716         FDB BEGIN-CFAOFF\r04718  FDB BIF+2\r04720         FDB 0\r04722     FDB 0\r04730 AGAIN       DOCOL   see fig-FORTH model\r04740       FDB LIT\r04750   FDB ('B)*256+'E\r04760   FDB QPAIRS\r04765        FDB COMP\r04770  FDB BRANCH\r04775        FDB BACK\r04780  FDB SEMIS\r04790 *\r04810         FCC 'UNTIL'\r04812       FCB MCOMP.OR.MIMM.OR.5\r04814    FCB MFORE\r04816         FDB AGAIN-CFAOFF\r04818  FDB BIF+2\r04820         FDB USLASH-CFAOFF\r04822         FDB 0\r04830 UNTIL       DOCOL   see fig-FORTH model\r04840       FDB LIT\r04850   FDB ('B)*256+'E\r04860   FDB QPAIRS\r04865        FDB COMP\r04870  FDB ZBR\r04875   FDB BACK\r04880  FDB SEMIS\r04890 *\r04910         FCC 'WHILE'\r04912       FCB MCOMP.OR.MIMM.OR.5\r04914    FCB MFORE\r04916         FDB UNTIL-CFAOFF\r04918  FDB BIF+2\r04920         FDB WARM-CFAOFF\r04922   FDB WORDPD-CFAOFF\r04930 WHILE   DOCOL\r04940     FDB DUP\r04950   FDB LIT\r04960   FDB ('B)*256+'E\r04970   FDB QPAIRS\r04980        FDB COMP\r04990  FDB ZBR\r05000   FDB HERE adr\r05010      FDB ZERO\r05020  FDB COMMA\r05030         FDB LIT\r05040   FDB ('W)*256+'H\r05050   FDB SEMIS\r05090 *\r05110         FCC 'REPEAT'\r05112      FCB MCOMP.OR.MIMM.OR.6\r05114    FCB MFORE\r05116         FDB WHILE-CFAOFF\r05118  FDB BIF+2\r05120         FDB REPEAL-CFAOFF\r05122         FDB ROOT-CFAOFF\r05130 REPEAT    DOCOL\r05140     FDB LIT\r05150   FDB ('W)*256+'H\r05160   FDB QPAIRS\r05170        FDB TOR\r05180   FDB AGAIN\r05190         FDB RFROM\r05200         FDB FILLIN\r05210        FDB SEMIS\r05290 *\r05310         FCC 'DO'\r05312  FCB MCOMP.OR.MIMM.OR.2\r05314    FCB MFORE\r05316         FDB WHILE-CFAOFF\r05318  FDB BIF+2\r05320         FDB CFEH-CFAOFF\r05322   FDB ENDIF-CFAOFF\r05330 DO       DOCOL   see fig-FORTH model\r05340       FDB COMP\r05350  FDB XDO\r05360   FDB HERE\r05370  FDB LIT\r05380   FDB ('D)*256+'O\r05390   FDB SEMIS\r05400 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000       FCC 'M*'\r01010  FCB 2\r01020     FCB MFORE\r01030         FDB DO-CFAOFF\r01040     FDB BIF+2\r01050         FDB 0\r01060     FDB MSLASH-CFAOFF\r01070 MSTAR   LDD ,U  see fig-FORTH model\r01080       EORA 2,U n bit\r01090    PSHS D\r01100    DOCOL\r01110     FDB ABS\r01120   FDB SWAP\r01130  FDB ABS\r01140   FDB USTAR\r01150         FDB XMACH\r01160         LDD ,S++\r01170  LBMI DMINUS\r01180       NEXT\r01190 *\r01200      FCC 'M/'\r01210  FCB 2\r01220     FCB MFORE\r01230         FDB MSTAR-CFAOFF\r01240  FDB BIF+2\r01250         FDB 0\r01260     FDB 0\r01270 MSLASH      DOCOL   see fig-FORTH model\r01280       FDB OVER\r01290  FDB TOR signs: dividend\r01300   FDB TOR & divisor\r01310         FDB DABS\r01320  FDB R divisor\r01330     FDB ABS\r01340   FDB USLASH\r01350        FDB RFROM divisor\r01360         FDB R\r01370     FDB XOR quotient sign\r01380     FDB CHS\r01390   FDB SWAP remainder\r01400        FDB RFROM dividend sign\r01410   FDB CHS\r01420   FDB SWAP\r01430  FDB SEMIS\r01500 *\r01510         FCC '*'\r01520   FCB 1\r01530     FCB MFORE\r01540         FDB MSLASH-CFAOFF\r01550         FDB BIF+2\r01560         FDB PFIND-CFAOFF\r01570  FDB SSMOD-CFAOFF\r01580 STAR     DOCOL   see fig-FORTH model\r01590       FDB USTAR\r01600         FDB DROP\r01610  FDB SEMIS\r01700 *\r01710         FCC '/MOD'\r01720        FCB 4\r01730     FCB MFORE\r01740         FDB STAR-CFAOFF\r01750   FDB BIF+2\r01760         FDB 0\r01770     FDB 0\r01780 SLAMOD      LDD ,U\r01790    PSHU D\r01800    LDD #-1\r01810   TST 4,U sign extend\r01820       BMI *+5\r01830   ADDD #1\r01840   STD 2,U\r01850   LBRA MSLASH\r01900 *\r01910       FCC '/'\r01920   FCB 1\r01930     FCB MFORE\r01940         FDB SLAMOD-CFAOFF\r01950         FDB BIF+2\r01960         FDB NEXSCR-CFAOFF\r01970         FDB ADD1-CFAOFF\r01980 SLASH     DOCOL   see fig-FORTH model\r01990       FDB SLAMOD\r02000        FDB SWAP\r02010  FDB DROP\r02020  FDB SEMIS\r02100 *\r02110         FCC 'MOD'\r02120         FCB 3\r02130     FCB MFORE\r02140         FDB SLASH-CFAOFF\r02150  FDB BIF+2\r02160         FDB 0\r02170     FDB 0\r02180 MOD DOCOL   see fig-FORTH model\r02190       FDB SLAMOD\r02210        FDB DROP\r02220  FDB SEMIS\r02300 *\r02310         FCC '*/MOD'\r02320       FCB 5\r02330     FCB MFORE\r02340         FDB MOD-CFAOFF\r02350    FDB BIF+2\r02360         FDB STARSL-CFAOFF\r02370         FDB 0\r02380 SSMOD       DOCOL   see fig-FORTH model\r02390       FDB TOR\r02400   FDB MSTAR\r02410         FDB RFROM\r02420         FDB MSLASH\r02430        FDB SEMIS\r02500 *\r02510         FCC '*/'\r02520  FCB 2\r02530     FCB MFORE\r02540         FDB SSMOD-CFAOFF\r02550  FDB BIF+2\r02560         FDB 0\r02570     FDB 0\r02580 STARSL      DOCOL   see fig-FORTH model\r02590       FDB SSMOD\r02600         FDB SWAP\r02610  FDB DROP\r02630  FDB SEMIS\r02700 *\r02710         FCC 'M/MOD'\r02720       FCB 5\r02730     FCB MFORE\r02740         FDB STARSL-CFAOFF\r02750         FDB BIF+2\r02760         FDB MSTAR-CFAOFF\r02770  FDB MESS-CFAOFF\r02780 MSMOD     DOCOL   see fig-FORTH model\r02790       FDB TOR\r02800   FDB ZERO\r02810  FDB R\r02820     FDB USLASH ms word\r02830        FDB RFROM\r02840         FDB SWAP\r02850  FDB TOR save high q\r02860       FDB USLASH ls word\r02870        FDB RFROM double q\r02880        FDB SEMIS\r02900 *\r02910         FCC '+BUF'\r02920        FCB 4\r02930     FCB MFORE\r02940         FDB MSMOD-CFAOFF\r02950  FDB BIF+2\r02960         FDB 0\r02970     FDB 0\r02980 ADDBUF      LDX <UP\r02990   LDD BPBUF+2\r02995       ADDD #4\r03000   ADDD ,U\r03010   CMPD ULIMIT,X\r03020     BLO ADDBN\r03025         LDD UFIRST,X\r03030 ADDBN        STD ,U\r03040    CMPD UPREV,X\r03050      BEQ *+7\r03060   LDD #-1\r03065   BRA *+5\r03070   LDD #0\r03080    PSHU D\r03090    NEXT\r03100 *\r03110      FCC 'UPDATE'\r03120      FCB 6\r03130     FCB MFORE\r03140         FDB ADDBUF-CFAOFF\r03150         FDB BIF+2\r03160         FDB UNTIL-CFAOFF\r03170  FDB USER-CFAOFF\r03180 UPDATE    LDX <UP\r03190   LDD [UPREV,X]\r03200     ORA #$80\r03210  STD [UPREV,X]\r03220     NEXT\r03300 *\r03310      FCC 'EMPTY-BUFFERS'\r03320       FCB 13\r03330    FCB MFORE\r03340         FDB UPDATE-CFAOFF\r03350         FDB BIF+2\r03360         FDB 0\r03370     FDB 0\r03380 EMTBUF      LDX <UP\r03390   LDD ULIMIT,X\r03395      SUBD #1 catch odd\r03400         PSHS D,Y\r03410  LDX UFIRST,X\r03420      LDY #0\r03430    LDD BPBUF+2\r03440 EMTBL CMPX ,S\r03445   BHS EMTBE\r03450         STY ,X++ update bit\r03455       LEAX D,X\r03460  CMPX ,S\r03465   BHS EMTBE\r03470         STY ,X++ term NUL\r03475         BRA EMTBL\r03480 EMTBE   PULS D,Y\r03490  NEXT\r03500 *\r03510      FCC 'DRIVE-OFFSET'\r03520        FCB 12\r03530    FCB MFORE\r03540         FDB EMTBUF-CFAOFF\r03550         FDB BIF+2\r03560         FDB DRIVE-CFAOFF\r03570  FDB DROOT-CFAOFF\r03580 DROFFS   DO1ARR\r03590    FDB 0 low\r03600         FDB 4 width\r03610       FCB 2 element size\r03620        FDB 18*35 drive 0\r03630         FDB 18*35\r03640         FDB $8000 8 Meg max\r03650       FDB $8000\r03660         FDB $8000 never a drive 5!\r03700 *\r03710        FCC 'DRIVE'\r03720       FCB 5\r03730     FCB MFORE\r03740         FDB DROFFS-CFAOFF\r03750         FDB BIF+2\r03760         FDB 0\r03770     FDB 0\r03780 DRIVE       LDX #DROFFS+7\r03800     LDD #0\r03810 DRIVL      ADDD ,X++\r03820         BMI DRIVX table end?\r03830      DEC 1,U\r03840   BPL DRIVL\r03850         SUBD -2,X back one\r03860 DRIVX  LDX <UP\r03870   STD UOFFS,X\r03890       LEAU 2,U\r03900  NEXT\r04000 *\r04000      FCC 'R/W'\r04010         FCB 3\r04020     FCB MFORE\r04030         FDB DRIVE-CFAOFF\r04040  FDB BIF+2\r04050         FDB 0\r04060     FDB 0\r04070 RW  PSHS Y,U,DP\r04080       LDY $C006 control table\r04090   LDX #DROFFS+7\r04100     LDD 2,U\r04110 RWD       SUBD ,X++ sectors\r04120         BHS RWD\r04130   BVC RWR table end?\r04140        LDD #6\r04150    PSHU D\r04160    JMP ERROR\r04170 RWR     ADDD ,--X back one\r04175        PSHS X\r04180    PSHU D\r04190    LDD #18 sectors/track\r04200     PSHU D\r04210    DOCOL\r04220     FDB SLAMOD\r04230        FDB XMACH\r04240         PULU D\r04250    STB 2,Y track\r04260     PULU D\r04265    INCB\r04270      STB 3,Y sector\r04280    PULS D table entry\r04290        SUBD #DROFFS+7\r04300    ASRB drive #\r04310      STB 1,Y\r04320   LDD 4,U buffer\r04330    STD 4,Y\r04340   LDB #2 coco READ\r04350  LDX ,U 0?\r04360         BNE *+3\r04370   INCB coco WRITE\r04380   STB ,Y op code\r04384    CLRA\r04386      TFR A,DP\r04390  JSR [$C004]     ROM handles timeout\r04400       PULS Y,U,DP     if IRQ enabled\r04420    LEAU 6,U\r04430  LDX $C006\r04440         LDB 6,X coco status\r04450       BEQ RWE\r04460   LDX <UP\r04470   LDD #0 no disc\r04480    STD UWARN,X\r04490       LDD #8\r04500    PSHU D\r04510    JMP ERROR\r04520 RWE     NEXT\r05000 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05010        FCC '?ERROR'\r05020      FCB 6\r05030     FCB MFORE\r05040         FDB RW-CFAOFF\r05050     FDB BIF+2\r05060         FDB 0\r05070     FDB 0\r05080 QERR        PULU X\r05090    LDD ,U++\r05100  BNE *+4\r05110   NEXT\r05120      PSHU X\r05130    JMP ERROR\r05200 *\r05210         FCC '?COMP'\r05220       FCB 5\r05230     FCB MFORE\r05240         FDB QERR-CFAOFF\r05250   FDB BIF+2\r05260         FDB TOR-CFAOFF\r05270    FDB QEXEC-CFAOFF\r05280 QCOMP    LDX <UP\r05290   LDB USTATE+1,X\r05300    ANDB #SCOMP\r05310       BNE QPAIRN\r05320        LDD #$11\r05330  BRA QPAIRE\r05400 *\r05410        FCC '?EXEC'\r05420       FCB 5\r05430     FCB MFORE\r05440         FDB QCOMP-CFAOFF\r05450  FDB BIF+2\r05460         FDB QCST-CFAOFF\r05470   FDB QPAIRS-CFAOFF\r05480 QEXEC   LDX <UP\r05490   LDB USTATE+1,X\r05500    BEQ QPAIRN\r05510        LDD #$12\r05520  BRA QPAIRE\r05600 *\r05610        FCC '?PAIRS'\r05620      FCB 6\r05630     FCB MFORE\r05640         FDB QEXEC-CFAOFF\r05650  FDB BIF+2\r05660         FDB QLOAD-CFAOFF\r05670  FDB QTERM-CFAOFF\r05680 QPAIRS   PULU D\r05690    SUBD ,U++\r05700         BEQ QPAIRN\r05710        LDD #$13\r05720 QPAIRE   PSHU D robbed\r05730     JMP ERROR\r05740 QPAIRN  NEXT robbed\r05800 *\r05810       FCC '?CSP'\r05820        FCB 4\r05830     FCB MFORE\r05840         FDB QPAIRS-CFAOFF\r05850         FDB BIF+2\r05860         FDB 0\r05870     FDB 0\r05880 QCSP        LDX <UP\r05890   TFR U,D\r05900   SUBD UCSP,X\r05910       BEQ QPAIRN\r05920        LDD #$14\r05930  BRA QPAIRE\r06000 *\r06010        FCC '?LOADING'\r06020    FCB 8\r06030     FCB MFORE\r06040         FDB QCSP-CFAOFF\r06050   FDB BIF+2\r06060         FDB 0\r06070     FDB 0\r06080 QLOAD       LDX <UP\r06090   LDD UBLK,X\r06100        BNE QPAIRN\r06110        LDD #$16\r06120  BRA QPAIRE\r06200 *\r06210        FCC 'COMPILE'\r06220     FCB 7\r06230     FCB MFORE\r06240         FDB QLOAD-CFAOFF\r06250  FDB BIF+2\r06260         FDB COLD-CFAOFF\r06270   FDB COMPO-CFAOFF\r06280 COMP     DOCOL\r06290     FDB QCOMP\r06300         FDB XMACH\r06310 COMPIP  LDD ,Y++ robbed by IP,\r06320    PSHU D\r06330    JMP COMMA\r06390 *\r06410         FCC 'LOOP'\r06420        FCB MIMM.OR.MCOMP.OR.4\r06430    FCB MFORE\r06440         FDB COMP-CFAOFF\r06450   FDB BIF+2\r06460         FDB KEY-CFAOFF\r06470    FDB NUMBER-CFAOFF\r06480 LOOP    DOCOL   see fig-FORTH model\r06490       FDB LIT\r06500   FDB ('D)*256+'O\r06510   FDB QPAIRS\r06520        FDB COMP\r06530  FDB XLOOP\r06540         FDB BACK\r06550  FDB SEMIS\r06590 *\r06610         FCC '+LOOP'\r06620       FCB MIMM.OR.MCOMP.OR.5\r06630    FCB MFORE\r06640         FDB LOOP-CFAOFF\r06650   FDB BIF+2\r06660         FDB CHS-CFAOFF\r06670    FDB COMMA-CFAOFF\r06680 PLOOP    DOCOL   see fig-FORTH model\r06690       FDB LIT\r06700   FDB ('D)*256+'O\r06710   FDB QPAIRS\r06720        FDB COMP\r06730  FDB XPLOOP\r06740        FDB BACK\r06750  FDB SEMIS\r06790 *\r06809         FCC 'LOAD'\r06820        FCB 4\r06830     FCB MFORE\r06840         FDB PLOOP-CFAOFF\r06850  FDB BIF+2\r06860         FDB 0\r06870     FDB 0\r06880 LOAD        PSHS Y  see fig-FORTH model\r06890       LDY <UP\r06900   LDD UIN,Y\r06910         LDX UBLK,Y\r06920        PSHS X,D\r06930  LDD #0\r06940    STD UIN,Y\r06950         DOCOL\r06960     FDB BPSCR\r06970         FDB STAR\r06980  FDB BLK\r06990   FDB STORE\r07000         FDB INTERP\r07010        FDB XMACH\r07020         PULS D,X\r07030  STD UIN,Y\r07040         STX UBLK,Y\r07050        PULS Y\r07060    NEXT\r07090 *\r07110      FCC '<BUILDS'\r07120     FCB MCOMP.OR.7\r07130    FCB MFORE\r07140         FDB LOAD-CFAOFF\r07150   FDB BIF+2\r07160         FDB 0\r07170     FDB 0\r07180 BUILDS      DOCOL   see fig-FORTH model\r07190       FDB ZERO\r07200  FDB CONST\r07210         FDB SEMIS\r07290 *\r07310         FCC 'DOES>'\r07320       FCB MCOMP.OR.5\r07330    FCB MFORE\r07340         FDB BUILDS-CFAOFF\r07350         FDB BIF+2\r07360         FDB 0\r07370     FDB 0\r07380 DOES        LDX <UP\r07430   LDX UCURR,X\r07440       LDD ADOES,PCR\r07450     STD CFAOFF,X\r07460      STY PFAOFF,X\r07470      PULS Y\r07480    NEXT\r07490 ADOES        JSR <XDOES\r07790 *\r07810        FCC ';CODE'\r07820       FCB MCOMP.OR.MIMM.OR.5\r07830    FCB MFORE\r07840         FDB DOES-CFAOFF\r07850   FDB BIF+2\r07860         FDB SEMI-CFAOFF\r07870   FDB SEMIS-CFAOFF\r07880 SCODE    DOCOL   not fig\r07890   FDB QCSP\r07900  FDB COMP\r07910  FDB XSCODE\r07915        FDB LBRAK\r07920         FDB ASMBLR\r07930        FDB STOCSP      to check later\r07940    FDB SEMIS\r07950 * something else must SMUDGE\r07960 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (See BIF/ASM)\r00030 *\r00900       FCC 'IP,'\r00910         FCB MCOMP.OR.3\r00920    FCB MFORE\r00930         FDB SCODE-CFAOFF\r00940  FDB BIF+2\r00950         FDB 0\r00960     FDB 0\r00970 IPCOM       JMP COMPIP\r00980 *\r01000        FCC '?STACK'\r01010      FCB 6\r01020     FCB MFORE\r01030         FDB IPCOM-CFAOFF\r01040  FDB BIF+2\r01050         FDB 0\r01060     FDB 0\r01070 QSTACK      LDX <UP\r01080   CMPS UR0,X\r01090        BLS *+6\r01100 QSTACU    LDB #$0A\r01110  BRA QSTERR\r01115        LDD [UR0,X] hole\r01116  BNE QSTACU\r01120        CMPS US0,X\r01130        BHI *+6\r01140 QSTACO    LDB #$0B\r01150  BRA QSTERR\r01155        LDD [US0,X] hole\r01156  BNE QSTACE\r01160        CMPU US0,X\r01170        BLS *+6\r01180 QSTACE    LDB #1\r01190    BRA QSTERR\r01240        CMPU UDP,X\r01260        BLS *+4\r01270   NEXT\r01280      LDB #7\r01290 QSTERR     CLRA\r01300      PSHU D\r01310    JMP ERROR\r01320 *\r01400         FCC 'BUFFER'\r01410      FCB 6\r01420     FCB MFORE\r01430         FDB QSTACK-CFAOFF\r01440         FDB BIF+2\r01450         FDB BLK-CFAOFF\r01460    FDB CCOMMA-CFAOFF\r01470 BUFFER  PSHS Y\r01480    LDY <UP\r01490   LDD UUSE,Y\r01495        PSHS D save it\r01500    PSHU D\r01510    DOCOL\r01520     FDB ADDBUF\r01530        FDB ZBR prev?\r01540     FDB -6\r01550    FDB XMACH\r01560         PULU D\r01570    STD UUSE,Y new use\r01580        LDX ,S buffer\r01590     LDD ,X block\r01600      BPL BUFNW\r01610         ANDA #$7F mask update\r01620     LEAX 2,X data\r01630     PSHU D,X\r01640  LDD #0 write\r01650      PSHU D\r01660    DOCOL\r01670     FDB RW\r01680    FDB XMACH\r01690 BUFNW   PULU D new block\r01700  PULS X\r01710    STD ,X\r01720    STX UPREV,Y\r01730       LEAX 2,X data\r01740     PSHU X\r01750    PULS Y\r01760    NEXT\r01790 *\r01800      FCC 'BLOCK'\r01810       FCB 5\r01820     FCB MFORE\r01830         FDB BUFFER-CFAOFF\r01840         FDB BIF+2\r01850         FDB 0\r01860     FDB BS-CFAOFF\r01870 BLOCK       PSHS Y\r01880    LDY <UP\r01890   LDD UOFFS,Y\r01900       ADDD ,U\r01910   STD ,U\r01920    LDX UPREV,Y\r01930 BLOKL LDD ,X block\r01940      ANDA #$7F mask update\r01950     CMPD ,U this buffer?\r01960      BEQ BLOKFD\r01970        PSHU X\r01980    DOCOL\r01990     FDB ADDBUF\r02000        FDB TBR\r02010   FDB BLOKLE-*-2\r02020    FDB DROP buffer\r02030   FDB DUP block\r02040     FDB BUFFER lru\r02050    FDB OVER\r02060  FDB OVER\r02070  FDB SWAP\r02080  FDB MONE\r02090  FDB RW get block\r02100  FDB SUB2\r02110 BLOKLE   FDB XMACH\r02120         PULU X buffer\r02130     BRA BLOKL\r02140 BLOKFD  STX UPREV,Y\r02150       LEAX 2,X data\r02160     STX ,U\r02165    PULS Y\r02170    NEXT\r02180 *\r02200      FCC '(LINE)'\r02210      FCB 6\r02220     FCB MFORE\r02230         FDB BLOCK-CFAOFF\r02240  FDB BIF+2\r02250         FDB PINSTA-CFAOFF\r02260         FDB XLOOP-CFAOFF\r02270 XLINE    DOCOL   see fig-FORTH model\r02280       FDB TOR\r02290   FDB CPERL line width\r02300      FDB BPBUF\r02310         FDB SSMOD byte in sector\r02320  FDB RFROM\r02330         FDB BPSCR\r02340         FDB STAR base of screen\r02350   FDB ADD\r02360   FDB BLOCK\r02370         FDB ADD byte of buffer\r02380    FDB CPERL\r02390         FDB SEMIS\r02400 *\r02500         FCC '.LINE'\r02510       FCB 5\r02520     FCB MFORE\r02530         FDB XLINE-CFAOFF\r02540  FDB BIF+2\r02550         FDB DOTQ-CFAOFF\r02560   FDB DOTR-CFAOFF\r02570 DOTLIN    DOCOL   see fig-FORTH model\r02580       FDB XLINE\r02590         FDB DTRAIL\r02600        FDB TYPE\r02610  FDB SEMIS\r02690 *\r02700         FCC 'SPACES'\r02710      FCB 6\r02720     FCB MFORE\r02730         FDB DOTLIN-CFAOFF\r02740         FDB BIF+2\r02750         FDB 0\r02760     FDB 0\r02770 SPACES      LDD ,U  see fig-FORTH model\r02780       BGT SPACEY\r02783        LEAU 2,U\r02785  NEXT\r02790 SPACEY       DOCOL\r02800     FDB ZERO\r02810  FDB XDO\r02820   FDB SPACE\r02830         FDB XLOOP\r02840         FDB -6\r02850    FDB SEMIS\r02890 *\r02900         FCC '<#'\r02910  FCB 2\r02920     FCB MFORE\r02930         FDB SPACES-CFAOFF\r02940         FDB BIF+2\r02950         FDB 0\r02960     FDB BUILDS-CFAOFF\r02970 BEGHSH  LDX <UP\r02980   LDD UPAD,X\r02990        STD UHLD,X\r03000        NEXT\r03090 *\r03100      FCC '#>'\r03110  FCB 2\r03120     FCB MFORE\r03130         FDB BEGHSH-CFAOFF\r03140         FDB BIF+2\r03150         FDB STORE-CFAOFF\r03160  FDB TICK-CFAOFF\r03170 ENDHSH    LDX <UP\r03180   LDD UPAD,X\r03190        SUBD UHLD,X\r03200       STD ,U count\r03210      LDD UHLD,X\r03220        STD 2,U\r03230   NEXT\r03290 *\r03300      FCC 'SIGN'\r03310        FCB 4\r03320     FCB MFORE\r03330         FDB ENDHSH-CFAOFF\r03340         FDB BIF+2\r03350         FDB SCR-CFAOFF\r03360    FDB 0\r03370 SIGN        DOCOL   see fig-FORTH model\r03380       FDB ROT\r03390   FDB ZLESS\r03400         FDB ZBR\r03410   FDB SIGNP-*-2\r03420     FDB LIT\r03430   FDB $2D\r03440   FDB HOLD\r03450 SIGNP    FDB SEMIS\r03490 *\r03500         FCC '#'\r03510   FCB 1\r03520     FCB MFORE\r03530         FDB SIGN-CFAOFF\r03540   FDB BIF+2\r03550         FDB 0\r03560     FDB 0\r03570 HASH        DOCOL   see fig-FORTH model\r03580       FDB BASE\r03590  FDB FETCH\r03600         FDB MSMOD\r03610         FDB ROT\r03620   FDB XMACH\r03630         LDB 1,U\r03640   CMPB #9\r03650   BLS HASHX+4\r03660       CMPB #'A-'Z+10\r03670    BLS HASHX+2\r03680 HASHX ADDB #'a-'Z-1\r03690     ADDB #'A-'9-1\r03700     ADDB #'0\r03710  STB 1,U\r03720   DOCOL\r03730     FDB HOLD\r03740  FDB SEMIS\r03790 *\r03800         FCC '#S'\r03810  FCB 2\r03820     FCB MFORE\r03830         FDB HASH-CFAOFF\r03840   FDB BIF+2\r03850         FDB 0\r03860     FDB 0\r03870 HASHS       DOCOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\ 1\ 2ÆÇÇ\ 6Á\bÅ
\f\r\ eÂ\10È\12\13È\15Ã\17\18Ç\1aÄ\1c\1dÄ\1fÆ!"É$Â&'Ç)*Âÿÿÿ/0Á2É456Éÿ9:;Éÿÿÿÿÿÿÿÿÿ0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000BIF     ASM\ 3ÿ\0\0ö\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFU    INC\ 3ÿ\ 3\0E\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF     M  \ 3ÿ\ 4\0×\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFDP   ASM\ 3ÿ\ 5\0\e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFST   ASM\ 3ÿ\a\0ð\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIFB    ASM\ 3ÿ    \0ê\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF1    ASM\ 3ÿ\v\0¤\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF1B   ASM\ 3ÿ\ f\0]\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF2    ASM\ 3ÿ\11\0\98\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF2B   ASM\ 3ÿ\14\0&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF3    ASM\ 3ÿ\16\0+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF3B   ASM\ 3ÿ\19\0v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF4    ASM\ 3ÿ\e\0Ê\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF4B   ASM\ 3ÿ\1e\0©\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF5    ASM\ 3ÿ \0       \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF5B   ASM\ 3ÿ#\0|\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF6    ASM\ 3ÿ%\0\ e\0\0\ 1\0\0\18\ e\0\0\0\0\0\0\0\0\0BIF6B   ASM\ 3ÿ(\0\ e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0IF6809NBIN\ 2\0+\0´\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF7    ASM\ 3ÿ.\0é\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF7B   ASM\ 3ÿ1\0\ f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BIF6809 BIN\ 2\03\0µ\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0BIF6809CBIN\ 2\08\0µ\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0IFD1P  BIN\ 2\0:\0\ 5\0\0\ 1\0\0\0\ 5\0\0\0\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿL\r03880         FDB HASH\r03890  FDB XMACH\r03900         LDD 2,U\r03910   BNE HASHS\r03920         LDD ,U\r03930    BNE HASHS\r03940         NEXT\r03950 *\r04000      FCC 'D.R'\r04010         FCB 3\r04020     FCB MFORE\r04030         FDB HASHS-CFAOFF\r04040  FDB BIF+2\r04050         FDB 0\r04060     FDB 0\r04070 DDOTR       DOCOL   see fig-FORTH model\r04080       FDB TOR\r04090   FDB SWAP save sign\r04100        FDB OVER\r04110  FDB DABS\r04120  FDB BEGHSH\r04130        FDB HASHS\r04140         FDB SIGN\r04150  FDB ENDHSH\r04160        FDB RFROM field width\r04170     FDB OVER\r04180  FDB SUB\r04190   FDB SPACES <0 => no spaces\r04200        FDB TYPE\r04210  FDB SEMIS\r04220 *\r04230         FCC 'D.'\r04240  FCB 2\r04250     FCB MFORE\r04260         FDB DDOTR-CFAOFF\r04270  FDB BIF+2\r04280         FDB 0\r04290     FDB DDOTR-CFAOFF\r04300 DDOT     DOCOL   see fig-FORTH model\r04310       FDB ZERO\r04320  FDB DDOTR\r04330         FDB SPACE\r04340         FDB SEMIS\r04350 *\r04360         FCC '.R'\r04370  FCB 2\r04380     FCB MFORE\r04390         FDB DDOT-CFAOFF\r04400   FDB BIF+2\r04410         FDB 0\r04420     FDB 0\r04430 DOTR        DOCOL   see fig-FORTH model\r04440       FDB TOR\r04450   FDB STOD\r04460  FDB RFROM\r04470         FDB DDOTR\r04480         FDB SEMIS\r04490 *\r04500         FCC '.'\r04510   FCB 1\r04520     FCB MFORE\r04530         FDB DOTR-CFAOFF\r04540   FDB BIF+2\r04550         FDB DDUP-CFAOFF\r04560   FDB DOTLIN-CFAOFF\r04570 DOT     DOCOL   see fig-FORTH model\r04580       FDB STOD\r04590  FDB DDOT\r04600  FDB SEMIS\r04610 *\r04620         FCC '?'\r04630   FCB 1\r04640     FCB MFORE\r04650         FDB DOT-CFAOFF\r04660    FDB BIF+2\r04670         FDB TOVID-CFAOFF\r04680  FDB TNULL-CFAOFF\r04690 QDOT     LDD [,U++]\r04700        PSHU D\r04710    BRA DOT\r04720 *\r04800   FCC 'MESSAGE'\r04810     FCB 7\r04820     FCB MFORE\r04830         FDB DOTLIN-CFAOFF\r04840         FDB BIF+2\r04850         FDB MAX-CFAOFF\r04860    FDB 0\r04870 MESS        DOCOL   see fig-FORTH model\r04880       FDB WARN\r04890  FDB FETCH print text?\r04893     FDB ONE\r04896   FDB AND\r04900   FDB ZBR\r04910   FDB MESSN-*-2\r04920     FDB DDUP not 0?\r04930   FDB ZBR\r04940   FDB MESSX-*-2\r04950     FDB LIT\r04960   FDB 4\r04970     FDB OFFSET\r04980        FDB FETCH\r04990         FDB BPSCR\r05000         FDB SLASH screen offset\r05010   FDB SUB\r05020   FDB DOTLIN\r05030        FDB BRANCH\r05040        FDB MESSX-*-2\r05050 MESSN       FDB XDOTQ\r05060         FCB 6\r05070     FCC 'MSG # '\r05080      FDB DOT\r05090 MESSX     FDB SEMIS\r05190 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (See BIF/ASM)\r00030 *\r05200  FCC '(ABORT)'\r05210     FCB 7\r05220     FCB MFORE\r05230         FDB MESS-CFAOFF\r05240   FDB BIF+2\r05250         FDB XDOTQ-CFAOFF\r05260  FDB XDO-CFAOFF\r05270 IABORT DOCOL       see fig-FORTH model\r05280       FDB ABORT\r05290         FDB SEMIS\r05390 *\r05400         FCC 'ERROR'\r05410       FCB 5\r05420     FCB MFORE\r05430         FDB IABORT-CFAOFF\r05440         FDB BIF+2\r05450         FDB ERASE-CFAOFF\r05460  FDB EXEC-CFAOFF\r05470 ERROR DOCOL\r05480         FDB WORDPD last WORD\r05490      FDB COUNT\r05500         FDB TYPE\r05510  FDB XDOTQ\r05520         FCB 3\r05530     FCC ' ? '\r05540         FDB MESS\r05550  FDB WARN\r05560  FDB FETCH\r05570         FDB ZLESS\r05580         FDB ZBR\r05590   FDB 2\r05600     FDB IABORT\r05610        FDB SPSTO\r05620         FDB IN\r05630    FDB FETCH\r05640         FDB BLK\r05650   FDB FETCH\r05660         FDB QUIT\r05670  FDB SEMIS\r05680 *\r05700         FCC 'EDITOR'\r05710      FCB MIMM.OR.6\r05720     FCB MFORE\r05730         FDB ERROR-CFAOFF\r05740  FDB BIF+2 parent voc\r05750      FDB 0\r05760     FDB 0\r05770 EDITOR      DOVOC\r05780     FDB EBLK-CFAOFF (NFA)\r05790 *\r05800     FCC 'QSYNC'\r05810       FCB 5\r05820     FCB MFORE\r05830         FDB EDITOR-CFAOFF\r05840         FDB EDITOR+2\r05850      FDB 0\r05860     FDB 0\r05870 QSYNC       LDX <UP\r05880   LDB URNUM+1,X\r05890     LDA #4\r05900    STD $88\r05910   NEXT\r05990 *\r06000      FCC 'EBLK'\r06010        FCB 4\r06020     FCB MFORE\r06030         FDB QSYNC-CFAOFF\r06040  FDB EDITOR+2\r06050      FDB CURSOR-CFAOFF\r06060         FDB QDUMP-CFAOFF\r06070 EBLK     DOUSER\r06080    FCB UEBLK\r06090 *\r06000         FCC 'CURSOR'\r06010      FCB 6\r06020     FCB MFORE\r06030         FDB QSYNC-CFAOFF\r06040  FDB EDITOR+2\r06050      FDB 0\r06060     FDB 0\r06070 CURSOR      DOCOL\r06080     FDB EBLK\r06090  FDB FETCH\r06100         FDB BLOCK\r06110         FDB RNUM\r06120  FDB FETCH\r06130         FDB ADD\r06140   FDB SEMIS\r06190 *\r06200         FCC 'QDUMP'\r06210       FCB 5\r06220     FCB MFORE\r06230         FDB CURSOR-CFAOFF\r06240         FDB EDITOR+2\r06250      FDB QARROW-CFAOFF\r06260         FDB QUICK-CFAOFF\r06270 QDUMP    PSHS Y\r06280    PULU Y\r06290    LDX #$400 screen\r06300  CLRA\r06310 QDUMPL       LDB ,Y+\r06320   STB ,X+\r06330   DECA\r06340      BNE QDUMPL\r06350        PULS Y\r06360    NEXT\r06390 *\r06400      FCC 'QARROW'\r06410      FCB 6\r06420     FCB MFORE\r06430         FDB QDUMP-CFAOFF\r06440  FDB EDITOR+2\r06450      FDB 0\r06460     FDB 0\r06470 QARROW      LDB 1,U\r06480   LDA #4\r06490    LEAX QTBL,PCR\r06500 QAROL       CMPB ,X+\r06510  BEQ QARODO\r06520        DECA\r06530      BNE QAROL\r06540         CMPB #21 shifted BS?\r06550      BNE QAROX\r06552         DOCOL\r06554     FDB CURSOR\r06556        FDB XMACH\r06560         LDD #$2060 spaces\r06565         STA [,U++] buffer\r06570         STB [$88] video\r06580   LDB #-1\r06590   BRA *+4\r06600 QARODO    LDB 3,X\r06610   LDX <UP\r06620   ADDB URNUM+1,X\r06630    STB URNUM+1,X\r06650     LDD #0\r06660    STD ,U\r06670 QAROX      NEXT\r06700 QTBL FCB '^ up\r06710         FCB 10 down\r06720       FCB 8 back\r06730        FCB 9 front\r06740       FCB -32 offsets\r06750   FCB 32\r06760    FCB -1\r06770    FCB 1\r06790 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ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         FCB 0 ; NEEDED\r03800    FCB MIMM.OR.0\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*\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r05200  FCC 'NAME,'\r05210       FCB 5\r05220     FCB MFORE\r05230         FDB DIFIND-CFAOFF\r05240         FDB BIF+2\r05250         FDB 0\r05260     FDB 0\r05270 NCOMMA      DOCOL\r05280     FDB WORDPD\r05300        FDB COUNT\r05310         FDB TOR\r05330   FDB HERE\r05340  FDB R\r05350     FDB ALLOT\r05360         FDB R\r05370     FDB CMOVE name\r05380    FDB HERE node\r05390     FDB RFROM\r05400         FDB SEMIS\r05490 *\r05500         FCC 'FORE-MARK'\r05510   FCB 9\r05520     FCB MFORE\r05530         FDB NCOMMA-CFAOFF\r05540         FDB BIF+2\r05550         FDB FIRST-CFAOFF\r05560  FDB FORGET-CFAOFF\r05570 FOREMK  LDX <UP\r05580   LDD UFORE,X\r05590       BEQ FOREMN\r05600        LDX UCURR,X\r05610       LDB 1,X\r05620   ORB #MFORE\r05630        STB 1,X\r05640 FOREMN    NEXT\r05690 *\r05700      FCC '(INSTALL)'\r05710   FCB MCOMP.OR.9\r05720    FCB MFORE\r05730         FDB DIFIND-CFAOFF\r05740         FDB BIF+2\r05750         FDB 0\r05760     FDB 0\r05770 PINSTA      LDX ,U vocab\r05772      BNE PINSTV\r05774        LDD #$18\r05776  PSHU D\r05778    JMP ERROR\r05780 PINSTV  PSHS Y\r05784    LDY 2,U nfa\r05788       LDB ,Y\r05792    ANDB #NLMASK\r05796      TFR B,A\r05800   NEGA\r05804      LEAY A,Y name\r05808     DECA for NUL\r05812      LEAS A,S allocate\r05816         CLRA\r05820      STA B,S term\r05824      PSHU Y\r05828    PSHU D,S\r05832  PSHS B mark\r05836       DOCOL\r05840     FDB CMOVE\r05844         FDB XMACH\r05848         LDX ,U vocab\r05852      LEAY 1,S\r05856 PINSTL   PSHU X,Y\r05860  DOCOL\r05864     FDB PFIND slot?\r05868   FDB XMACH\r05872         LDD ,U++ flag\r05876     BEQ PINSTI\r05880        LDX [,U++] old nfa\r05884        CMPX #NUBLK-CFAOFF\r05888        BNE *+7\r05892   LDD #$1C\r05896  BRA PINSTV-5\r05900      LDB ,X\r05904    ORB #MHID hide old\r05908        STB ,X\r05912    LEAX RTOFF,X fake voc\r05916     BRA PINSTL\r05920 PINSTI PULS B\r05924    INCB\r05928      LEAS B,S\r05932  LDX ,U insert point\r05936       BNE PINSTG\r05940        LDD #$19\r05944  BRA PINSTV-5\r05948 PINSTG       LDD 2,U vocab\r05952     LDY 4,U nfa\r05956       STY ,X link in\r05960    STD GFAOFF,Y\r05964 PINSTX       LEAU 6,U\r05970  PULS Y\r05980    NEXT\r06290 *\r06300      FCC '0!'\r06310  FCB 2\r06320     FCB MFORE\r06330         FDB PINSTA-CFAOFF\r06340         FDB BIF+2\r06350         FDB 0\r06360     FDB 0\r06370 INULL       LDD #0\r06380    STD >0\r06390    NEXT\r06395 *\r06400      FCC '?0'\r06410  FCB 2\r06420     FCB MFORE\r06430         FDB INULL-CFAOFF\r06440  FDB BIF+2\r06450         FDB 0\r06460     FDB 0\r06470 TNULL       LDD >0\r06480    BNE *+4\r06490   NEXT\r06500      LDD #5\r06510    PSHU D\r06520    LDX <UP\r06530   LDA UWARN,X\r06540       ORA #$80 abort\r06550    STA UWARN,X\r06560       JMP ERROR\r06590 *\r07000         FCC 'QUICK'\r07010       FCB 5\r07020     FCB MFORE\r07030         FDB TNULL-CFAOFF\r07040  FDB EDITOR+2\r07050      FDB QSYNC-CFAOFF\r07060  FDB 0\r07070 QUICK       PSHS Y\r07080    LDY <UP\r07090   LDD UEBLK,Y\r07100       LDX URNUM,Y\r07110       PSHS D,X nest\r07120     PULU D\r07130    STD UEBLK,Y\r07140       LDD #0\r07150    STD URNUM,Y\r07160       DOCOL\r07170     FDB CURSOR\r07180        FDB QDUMP fill screen\r07190     FDB QSYNC\r07200 QUICKL  FDB KEY\r07210   FDB XMACH\r07220         LDB 1,U\r07230   CMPB #3 break?\r07240    BEQ QUICKB\r07250        DOCOL\r07260     FDB QARROW\r07270        FDB QSYNC\r07280         FDB CURSOR\r07290        FDB XMACH\r07300         LDD 2,U\r07310   BNE QUICKC\r07320        LDB [,U++] from buffer\r07330    BRA QUICKE\r07340 QUICKC CMPB #'\\r07350  BNE *+10\r07360  DOCOL\r07370     FDB KEY literal\r07380   FDB XMACH\r07390         PULU D\r07400    STB [,U++] in buffer\r07410      INC URNUM+1,Y bump\r07420        LDA [UPREV,Y] update\r07430      ORA #$80\r07440  STA [UPREV,Y]\r07450 QUICKE      CLRA\r07460      STD ,U\r07470    DOCOL\r07480     FDB EMIT\r07485  FDB QSYNC\r07490         FDB BRANCH\r07500        FDB QUICKL-*-2\r07510 QUICKB     LEAU 2,U\r07520  PULS D,X un-nest\r07530  STD UEBLK,Y\r07540       STX URNUM,Y\r07550       PULS Y\r07560    NEXT\r07570 *\r07800      FCC 'NODE.'\r07810       FCB 5\r07820     FCB MFORE\r07830         FDB QUICK-CFAOFF\r07840  FDB BIF+2\r07850         FDB 0\r07860     FDB 0\r07870 NDOT        DOCOL\r07880     FDB DUP\r07890   FDB IDDOT\r07900         FDB SPACE\r07910         FDB ZERO\r07920  FDB DDOT\r07930  FDB CR\r07940    FDB QTERM\r07943         FDB DUP\r07945   FDB ZLESS break?\r07950  FDB ZBR\r07955   FDB 4\r07960     FDB DROP\r07965  FDB KEY\r07970   FDB SEMIS\r07990 *\r08000         FCC 'VISIT'\r08010       FCB 5\r08020     FCB MFORE\r08030         FDB NDOT-CFAOFF\r08040   FDB BIF+2\r08050         FDB 0\r08060     FDB 0\r08070 VISIT       PSHS Y\r08080    LDY <UP\r08090   LDX UVMK,Y save\r08100   PSHS D,X allocate\r08110         STS UVMK,Y\r08120        LDX ,U++\r08130  PULU D\r08140    BEQ VISITX vocab\r08150  LDX ,X\r08160    BEQ VISITX\r08170        ADDD #CFAOFF function\r08180     STD ,S\r08190 VISITL     PSHS X\r08200    CMPS US0,Y overflow?\r08210      BHI *+7\r08220   LDB #$0B\r08230  JMP QSTERR\r08240        LDX LFTOFF,X\r08250 VISITR       BNE VISITL\r08260        CMPS UVMK,Y\r08270       BHS VISITX\r08280        LDX ,S node\r08290       LDD [UVMK,Y] function\r08300     PSHU D,X\r08310  DOCOL\r08320     FDB EXEC\r08330  FDB QSTACK\r08340        FDB XMACH\r08343         LDD ,U++\r08346  BMI VISITX terminate?\r08350     PULS X\r08360    LDX RTOFF,X\r08370       BRA VISITR\r08375 VISITX LDS UVMK,Y\r08380        PULS D,X\r08390  STX UVMK,Y\r08400        PULS Y\r08410    NEXT\r08490 *\r08500      FCC 'VLIST'\r08510       FCB 5\r08520     FCB MFORE\r08530         FDB VISIT-CFAOFF\r08540  FDB EDITOR+2\r08550      FDB VISIT-CFAOFF\r08560  FDB VOCAB-CFAOFF\r08570 VLIST    DOCOL\r08580     FDB LIT\r08590   FDB NDOT-CFAOFF\r08600   FDB ROOT\r08610  FDB FETCH\r08620         FDB VISIT\r08630         FDB SEMIS\r08690 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0u\12
+®ä\10¯ä\1f\12n±ìñ6\ 6n±5\ 66\ 6n±æñOÓ\06\ 6n±5\10ìÄ£\84\10£\ 2%\bÌ\0\f6\ 6~+\144\ 2¦\ 4=íÄ5\ 2æ\ 4=\1f\98«ÄæA0\ 50\8b¯Än±\9e\0æñOì\8b6\ 6\9e\05\ 6í\ en±®äì\816\10\10¯ä\1f\ 2n±5\10ì\81®\816\16\0\0\80\13\0\12~\13:\12~\13æh    \0\04\8d\0\bzYyUzWz­\0\1f\0\ 14à4á2õ{p{-\0 {ð\80\0COLD\ 4\80\0\0\0\0\0\01\8d\0y\1eR\7f\0qì<í\88\12ì,í
+ì.í\fì¨\10í\ eí\88\106\ 6\8d\11Ì+P6\ 6\8d
+Ì3\f6\ 6\8d\ 3~\13ë46\10\9e\0®Á'?ì\84';\10£*#\aÌ\0\0\80\13\80\0\0í\84 /\1f\ 1Ì\0\04\ 6ì\b'\ e\10£*#\aÌ\0\0í\b \ 24\ 6ì\ 6'\ e\10£*"\ 4\1f\ 1 áÌ\0\0í\ 6®á&Ø5¶\10ÎzW4\ 1\1aP4 Ì\12\0\1f\8b\10\8e\13\10®¤\9f\0ÎyUÌ\0\0ý\0\09WARM\ 4\80\1302õ0Ê\1d¹1\8cÎ\1eRì"í\0í\88 ì$í\ 2ì>í\88(ì&í\ 4ì\0\0\80\14\0\b\10ì"í\88\14í\88"ì$í\88\16ì&í\88\18ì(í\88\1aí\88\88&ì*í\88\1cÌ\0\10í\88\1eÌ\0\0í\98\ 2í\98\0\86*1\88*ç J&û5\ 1\1cï\9d
+%\963;@\ 1\80\13Ü2õ\19Y\18\82ìÔíÄn±!\ 1\80\14L2õ-Ö ©ìBíÔ3Dn±LIT\83\80\14]2õ\0\0\0\0ì¡6\ 6\0\0\80\14\80n±DLIT\84\80\14r2õ\0\0\0\0ì¡®¡6\16n±EXECUTE\87\80\14\86\0\0\0\0®Á'\ 2n\84Ì\0        6\ 6~+\141BRANCH\87\80\14\9f\0\0\0\0ìÁ&\141"n±BRANCH\86\80\14¾2õ\0\0\0\0ì¡1«n±0BRANCH\87\80\14Ö2õ\0\0\0\0ìÁ'å1"n±(\0\0\80\15\0LOOP)\86\80\14í2õ\0\0\0\0Ì\0\ 1ãäíä£b-Æ1"2dn±(+LOOP)\87\80\15\ 5\0\0\0\0ìÁ*Ýãäíä£b.£ Û(DO)\ 4\80\15'2õ\0\0\0\07\164\16n±I\ 1\80\15C2õ\1e¯#1ìä6\ 6n±J\ 1\80\15T2õ(*\0\0ìd6\ 6n±DIGIT\ 5\80\15e2õ\0\0\80\15\80 Ø\16^æCÁ9#\14ÁA% ÁZ#
+Áa%\18Áz"\14À\ 6À\aÀ0áA$
+OíBÌÿÿíÄn±3BÌ\0\0 õ(FIND)\ 6\80\15z2õ*õ"ÖìÄ'\1f\9d
+\17v"à3B®Ô'\ fæ\84Ä '\ 60\b¯Ä è\8eÿÿìįÄíBn±ENCLOSE\a\80\15»2õ%\8c\0\0®Bæ\0\0\80\16\0\80'\ 4áA'ø0\1f¯Bæ\80'\ 4áA&ø\1f\10\83\0\ 1£BíÄn±LITERALG\80\15ó2õ\14r'\95\8d\11Ì\14|í¡7\ 6í¡\10¯\f5 ~\1f,\9e\0æ\889ÄÀ5\ 6&\ 2n±4 \10®\f\1e\ 5DLITERALH\80\16%2õ\14\86\1aB\8dØÌ\14\90í¡7\ 6 ÁEMIT\ 4\80\16^2õ\1a\9d\15\0\0\80\16\80ó7\ 6\1f\98_4h\1f\9b­\9f \ 25hn±KEY\ 3\80\16w2õ\1e
+\1dX4h_\86Ï\1f\9b\9e\88æ\84§\84­\9f \0'úç\84_\81\ 3&\ 1S\1e\895h6\ 6n±?TERMINAL \80\16\952õ(=\0\04h_\1f\9b­\9f \0 ÔCR\ 2\80\16Ë2õ"\8a\0\0Æ\r \93(;CODE)\87\80\16â2õ\0\0\0\0\0\80\17\0\0\9e\0®\88\120
\8d\0    §\80\10¯\815 n±½\0\0>PRT\ 4\80\16÷2õ\0\0\0\0Æþ÷\0on±>VID\ 4\80\17\1c\0\0\0\0\7f\0on±2*\ 2\80\1712õ\0\0\0\0hAiÄn±2/\ 2\80\17B2õ\1c¹\1d\13gÄfAn±(REFIND)\b\80\17T2õ\0\0\0\0Ì\0\f4&®Ä'# \0\0\80\17\802\10®Bæ\84Ä\1f'\ e\1f\98@0\86¦  \80&\rZ&÷¦¤&\ 65&6\ 6n±®ÔM+\ 4Æ\b \ 2Æ\ 60\85ça¯Ä®\84&Ê ãMOVE\ 4\80\17l2õ\1a\97ìÁ'\124`\10®ÄîB7\10¯¡\83\0\ 1&÷5`3Dn±CMOVE\ 5\80\17½2õ _'=Ì\0\0£Á4"70'\v¦ §\80\\0\0\80\18\0&ùlä&õ5"n±U*\ 2\80\17æ2õ\1aÉ%i2|¦AæC=íb¦ÄæB=íäìA=ãa$\ 2läía¦ÄæC=ãa$\ 2läía5\16íįBn±U/\ 2\80\18\f\0\0\0\0\86\114\ 2ìB\10£Ä$\ 4\1cþ \ 4£Ä\1a\ 1iEiDjä'\ 6YI$ç î2a3B®BíB¯Än±A\0\0\80\18\80ND\ 3\80\18H2õ!²\e\1f7\ 6äA¤ÄíÄn±OR\ 2\80\18\822õ ë\1e\1a7\ 6êAªÄíÄn±XOR\ 3\80\18\98\0\0\0\07\ 6èA¨ÄíÄn±SP@\ 3\80\18¯2õ\18Ù\0\0\1f16\10n±SP!\ 3\80\18Æ2õ\0\0\0\0\9e\0î\0oÄoAn±RP!\ 3\80\18Ù2õ\0\0\0\0\9e\0\10î\ 2o\0\0\80\19\0äoan±;SB\80\18ð2õ\0\0\0\05 n±LEAVE\85\80\19\a2õ > Nìäíbn±>R\82\80\19\1a\19¯*\987\ 64\ 6n±R>\82\80\19,2õ\19K#ð\ e\19R\ 1\80\19>2õ2¸\1e\9f~\15^=\ 1\80\19K2õ\19m&©7\ 6\10£Ä'& ;<\ 1\80\19Y2õ(\r)\8fìB\10£Á-\12 '\0\0\80\19\800=\ 2\80\19m2õ\0\0\1cßìÄ&\17ÌÿÿíÄn±0<\ 2\80\19\82\1cÍ\19\82¦Ä+éÌ\0\0íÄn±>\ 1\80\19\99\0\0\17\1cìB\10£Á.Рå+\ 1\80\19¯2õ3\84$¯7\ 6ãÄíÄn±-\ 1\80\19Ã2õ\0\0\0\0ìB£ÁíÄn±D+\ 2\80\19Ö2õ1J!ÈìFãBíFìDéA©Ä\0\0\80\1a\03DíÄn±D-\ 2\80\19ê2õ!\9d*XìF£BíFìDâA¢Ä3DíÄn±MINUS\ 5\80\1a\b\0\0$ÆÌ\0\0£ÄíÄn±DMINUS\ 6\80\1a)2õ\0\0\0\0Ì\0\0£BíBÌ\0\0âA¢ÄíÄn±OVER\ 4\80\1aB2õ\18\98 \86ìB6\ 6n±DROP\ 4\80\1ab2õ\1ep\16w\0\0\80\1a\803Bn±SWAP\ 4\80\1av2õ\e\ 51j7\166\ 66\10n±DUP\ 3\80\1a\88\0\0\1fõìÄ6\ 6n±+!\ 2\80\1a\9d\0\0\0\07\10ì\84ãÁí\84n±TOGGLE\ 6\80\1a¯2õ\1d¥"ê7\16è\84ç\84n±C@\ 2\80\1aÉ2õ(\83\19êæÔOíÄn±C!\ 2\80\1aÝ2õ\0\0\0\0æCçÔ3D\0\0\80\e\0n±ROT\ 3\80\1að2õ\19>"U4 766\166 5 n±BACK\84\80\e\ 5\1dj#m\9e\07\ 6£\f\83\0\ 26\ 6~\1fcNOT\ 3\80\e\1f2õ05\0\0ìÄSCíÄn±'A\80\e:2õ*\11\0\0\9d
+.S\1a\80\1a§\19\8c\1c×&\97\16/\19\11-->C\80\eM2õ'w*\85\9d
+'*\1c×\1e\14\14g\0\0\80\e\80\1d\87\1e\ 5\14V\1al$Ð\19à\1e\ 5\1a¹\19\111ARRAY\ 6\80\el2õ\1c\8f\14¾\9d
+0ò(4\9d("à®Ä\8c\0ÿ#\bÌ\0\r6\ 6\16\ fYìDíįDìB£Ä-ìÃ\0\ 1íB6\16\9d
+\18\16\14|\0\r&\97\196\1fc\1fc\1f\80\19H\1fL"_\19\11UTILITIESI\80\e\98\0\0\0\0\9d`\1c\ 2D\0\0\80\1c\0P@\ 3\80\eñ\eý\0\0\0\0\1f¸_6\ 6n±DCONSTANT      \80\1c\ 2\0\0\0\0\9d
+0ò(4\9du\1fc\1fc"_\19\11SWAB\ 4\80\1c\1c\0\0\1cPìÄçħAn±SWAN\ 4\80\1c:2õ\0\0\0\0¦AæADVDVDVDVçA¦ÄæÄDVDVDVDVçÄn±1+\ 2\80\1cP2õ\0\0\80\1c\80\19\99\1c¤Ì\0\ 1ãÄíÄn±1-\ 2\80\1cz2õ\0\0\0\0ÌÿÿãÄíÄn±2+\ 2\80\1c\8f\1d\ 4\17\0\ 2ãÄíÄn±2-\ 2\80\1c¤2õ\0\0\0\0ÌÿþãÄíÄn±0\ 1\80\1c¹2õ$\91/|Ì\0\06\ 6n±1\ 1\80\1cÍ2õ\14í\0\0Ì\0\ 16\ 6n±-1\ 2\80\1cß2õ\0\0.IÌÿÿ6\0\0\80\1d\0\ 6n±2\ 1\80\1cò2õ\e\98\17B\9d\13\0\ 23\ 1\80\1d\ 4\0\0\0\0\9d\13\0\ 3BL\ 2\80\1d\13\0\0\0\0\9d\13\0 C/L\ 3\80\1d#2õ\0\0\0\0\9dU\18FIRST\ 5\80\1d42õ\0\0\1e\80\9dU\1aLIMIT\ 5\80\1dF2õ\19\1a\16%\9dU\1cB/BUF\ 5\80\1dX2õ3\0\1d}\9d\13\ 1\0B/SCR\ 5\80\1d\0\0\80\1d\80j2õ\0\0\0\0\9d\13\0\ 4+ORIGIN\a\80\1d}2õ\0\0\0\0Ì\13\0\16ü-TIB\ 3\80\1d\92\0\0\0\0\9d\1f\ 4WARNING\a\80\1d¥2õ\0\0\0\0\9d\1f\bFENCE\ 5\80\1d¹2õ\0\0\0\0\9d\1f
+DP\ 2\80\1dË2õ'ê\0\0\9d\1f\fROOT\ 4\80\1dÚ2õ\0\0\0\0\9d\1f\ eBLK\ 3\80\1dë2\0\0\80\1e\0õ!0(Õ\9d\1f.IN\ 2\80\1dû2õ"A2F\9d\1f*OUT\ 3\80\1e
+2õ\0\0\0\0\9d\1f,SCR\ 3\80\1e\1a\0\0\0\0\9d\1f2OFFSET\ 6\80\1e*2õ\0\0\0\0\9d\1f6STATE\ 5\80\1e=2õ)m\1c:\9d\1f8BASE\ 4\80\1eO2õ\0\0\0\0\9d\1f\1eDPL\ 3\80\1e`2õ\1dÚ%Ì\9d\1f:FLD\0\0\80\1e\80\ 3\80\1ep2õ\0\0\0\0\9d\1f<CSP\ 3\80\1e\80\0\0\1eØ\9d\1f R#\ 2\80\1e\90\0\0&\12\9d\1f4HLD\ 3\80\1e\9f2õ ½!D\9d\1f"FOREWARD\b\80\1e¯2õ\0\0\0\0\9d\1f@CURRENT\a\80\1eÄ2õ\0\0\0\0\9d\1f\12PREV\ 4\80\1eØ2õ\0\0\0\0\9d\1f&USE\ 3\80\1eé2õ\0\0\0\80\1f\0\0\0\0\9d\1f$DROOT\ 5\80\1eù2õ\0\0\0\0\9d\1f\10HERE\ 4\80\1f\v2õ.Û\15T\9e\0ì\f6\ 6\9e\0\11£\f#\ 2n±Ì\0\ 26\ 6~+\14ALLOT\ 5\80\1f\1c2õ#\88\0\0\9e\0ì\f+ããÁí\f Ô,\ 1\80\1fB2õ\1d\92\19Ö7\ 6\10\9e\0®,í\81¯,5  ¸C,\ 2\80\1fY2õ\1að\1d4\0\0\80\1f\807\ 6\10\9e\0®,ç\80 áSPACE\ 5\80\1fv2õ\18Æ\1e\8dý\90\16öà-DUP\ 4\80\1f\92\1cò"¨ìÄ'\ 26\ 6n±?CST\ 4\80\1f§2õ'\0&\8d\9e\0æ\889ÄÀO6\ 6n±IFÂ\80\1f½2õ$\ e\9d
+'G\14÷\1f&\1c×\1fc\14|IF\19\11ELSEÄ\80\1fÕ2õ+D\0\0\9d\0\0\80 \0
+\1a§\14|IF&ì'G\14à\1f&\1c×\1fc\e\ f#[\1a\92\19\11ENDIFÅ\80\1fõ2õ\1av.
+\9d
+&³\14|IF&ì#[\19\11LATEST\ 6\80  2õ\0\0\0\0\9dU\12LFA\ 3\80 >2õ\0\0\0\0Æ\ 2 \ fCFA\ 3\80 N2õ\0\0\0\0Æ
+\1dãÄíÄn±GFA\ 3\80 _2õ\0\0\0\0Æ\0\0\80 \80\ 4 èPFA\ 3\80 u2õ!d\1eéÆ\f ×NFA\ 3\80 \862õ.°\e:Æô Æ!CSP\ 4\80 \97\0\0\9e\0ï\88 n±HEX\ 3\80 ©2õ\0\0\0\0Æ\10O\9e\0í\88\1en±DECIMAL\a\80 ½2õ3Ì3\19Æ
+ ãOCTAL\ 5\80 Ø2õ\0\0\1e\b ÐFILL\ 4\80 \0\0\80!\0ë2õ\1dË#Q4 76ç 0\1f&ú5 n±ERASE\ 5\80 ý2õ\0\0\0\0Æ\06\ 6 ÝBLANKS\ 6\80!\1a\1d#\0\0Æ 6\ 6 ÇHOLD\ 4\80!02õ\0\0\0\07\ 6\10\9e\0®¨"ç\82¯¨"5 n±PAD\ 3\80!D2õ\0\0\0\0\9dU\14S->D\ 4\80!d2õ\18ð)Ä3\0\0\80!\80^ìB\16ø\1f+-\ 2\80!u2õ\1a¯%2ìÁ\10\9bn±D+-\ 3\80!u2õ\0\0\0\0ìÁ\10\9fn±ABS\ 3\80!\9d2õ31\1fBìÄ\10+øqn±DABS\ 4\80!²2õ\1a\b\15zìÄ\10+øtn±MIN\ 3\80!È2õ%\ e\17½7\ 6\10£Ä,\ 2íÄn±MAX\ 3\80!Ý2õ\0\0\0\07\0\0\80"\0\ 6\10£Ä/\ 2íÄn±[A\80!õ2õ\18¯\0\0Æ?\9e\0ä\88\889n±]\ 1\80"\v\0\0\0\0ÆÀ\9e\0ê\88\889n±IMMEDIATE   \80""2õ\0\0\0\0Æ@ \12SMUDGE\ 6\80"A2õ!u\1f\92Æ \9e\0è\98\12ç\98\12n±COMPILE-ONLY\f\80"U2õ\0\0\0\0\0\80"\80\0Æ\80 ÜCOUNT\ 5\80"w2õ\0\0\0\0®Äæ\80¯ÄO6\ 6n±-TRAILING     \80"\8a2õ.\97\0\0ìÄ®B0\8b\86 ¡\82&\ 4¬B$ø\1f\10£BÃ\0\ 1íÄn±(MACHINE)\89\80"¨2õ)*,\17\1f!5 n\84TYPE\ 4\80"Ö2õ\0\0\0\0ìÄ'\19ãBíÄ®Bæ\80\0\0\80#\0¯BO6\ 6\9d
+\16\81"à®B¬Ä%í3Dn±(.")\84\80"ê2õ\15'\16÷æ O\1f!1«6\16 ÆID.\ 3\80#\19\0\0\0\07\10æ\84Ä\1fP0\85PO6\16 ªFILL-IN\87\80#12õ\0\0\0\0\9e\0ì\f£Ä\83\0\ 2íÑn±BEGINÅ\80#Q2õ\1e`\0\0\9d
+&³\1f&\14|B\0\0\80#\80E\19\11AGAINÅ\80#m2õ\0\0\0\0\9d
+\14|BE&ì'G\14à\e)\19\11UNTILÅ\80#\88\18H\0\0\9d
+\14|BE&ì'G\14÷\e)\19\11WHILEÅ\80#§2õ\13Ü,Ô\9d
+\1a§\14|BE&ì'G\14÷\1f&\1c×\1fc\14|WH\19\11REPEATÆ\80#Æ2õ4/\1dë\9d
+\14|WH\0\0\80$\0\196#\92\19H#[\19\11DOÂ\80#Æ2õ\1aÝ  \9d
+'G\15M\1f&\14|DO\19\11M*\ 2\80$\ e\0\0$NìĨB4\ 6\9d
+!¼\1a\92\18\16"àìá\10\ 2n±M/\ 2\80$(2õ\0\0\0\0\9d
+\1al\196\196!Ò\19U!¼\18R\19H\19U\18¹!\92\1a\92\19H!\92\1a\92\19\11*\ 1\80$N2\0\0\80$\80õ\15»$Ý\9d
+\18\16\1a\80\19\11/MOD\ 4\80${2õ\0\0\0\0ìÄ6\ 6ÌÿÿmD+\ 3Ã\0\ 1íB\16ÿª/\ 1\80$\91\el\1cz\9d
+$\9b\1a\92\1a\80\19\11MOD\ 3\80$¯2õ\0\0\0\0\9d
+$\9b\1a\80\19\11*/MOD\ 5\80$Æ2õ$õ\0\0\9d
+\196$2\19H$X\19\11*/\ 2\80$Ý2õ\0\0\0\0\9d\0\0\80%\0
+$ç\1a\92\1a\80\19\11M/MOD\ 5\80$õ2õ$(*¯\9d
+\196\1c×\19U\18R\19H\1a\92\196\18R\19H\19\11+BUF\ 4\80%\ e\0\0\0\0\9e\0ü\1d\0\ 4ãÄ\10£\88\1c%\ 3ì\88\1aíÄ\10£\88&'\ 5Ìÿÿ \ 3Ì\0\06\ 6n±UPDATE\ 6\80%22õ#§1\86\9e\0ì\98&\8a\80í\98&n±E\0\0\80%\80MPTY-BUFFERS\r\80%i2õ\0\0\0\0\9e\0ì\88\1c\83\0\ 14&®\88\1a\10\8e\0\0ü\1dv¬ä$\ e\10¯\810\8b¬ä$\ 5\10¯\81 î5&n±DRIVE-OFFSET\f\80%\8c2õ%ì\1f\v\9d(\0\0\0\ 4\ 2\ 2v\ 2v\80\0\80\0\80\0DRIVE\ 5\80%Ì2õ\0\0\0\0\8e%ÝÌ\0\0ã\81+\ 6\0\0\80&\0jA*ø£\1e\9e\0í\8863Bn±R/W\ 3\80%ì2õ\0\0\0\04h\10¾À\ 6\8e%ÝìB£\81$ü(\bÌ\0\ 66\ 6~+\14ã\834\106\ 6Ì\0\126\ 6\9d
+$\9b"à7\ 6ç"7\ 6\ç#5\ 6\83%ÝWç!ìDí$Æ\ 2®Ä&\ 1\ç¤O\1f\8b­\9fÀ\ 45h3F¾À\ 6æ\ 6'\ f\9e\0Ì\0\0í\bÌ\0\b\0\0\80&\806\ 6~+\14n±?ERROR\ 6\80&\12\0\0\0\07\10ìÁ&\ 2n±6\10~+\14?COMP\ 5\80&\8d\19,&Æ\9e\0æ\889ÄÀ&>Ì\0\11 4?EXEC\ 5\80&©2õ\1f½&â\9e\0æ\889'#Ì\0\12 \19?PAIRS\ 6\80&Æ2õ' \16Ë7\ 6£Á'\bÌ\0\136\ 6~+\14n±?CSP\0\0\80'\0\ 4\80&â2õ\0\0\0\0\9e\0\1f\88 'çÌ\0\14 Ý?LOADING\b\80'\0\0\0\0\0\9e\0ì\88.&ÉÌ\0\16 ¿COMPILE\a\80' 2õ\130"w\9d
+&³"àì¡6\ 6~\1fcLOOPÄ\80'=2õ\16\95,n\9d
+\14|DO&ì'G\15\ f\e)\19\11+LOOPÅ\80'X2õ!\88\1f\0\0\80'\80Y\9d
+\14|DO&ì'G\151\e)\19\11LOAD\ 4\80'w2õ\0\0\0\0\10\9e\0ì¨*®¨.4\16Ì\0\0í¨*\9d
+\1d\87$\85\1e\ 5\14g2P"à5\16í¨*¯¨.5 n±<BUILDS\87\80'\95\0\0\0\0\9d
+\1c×1T\19\11DOES>\85\80'Ó2õ\0\0\0\0\9e\0®\88\12ì\8d\0  í
+\10\0\0\80(\0¯\f5 n±\9dh;CODEÅ\80'ê2õ1º\19\a\9d
+'
+'G\17\ 1"\153
+ ³\19\11IP,\83\80(\r\0\0\0\0~'M?STACK\ 6\80(*2õ\0\0\0\0\9e\0\11¬\ 2#\ 4Æ
+ %ì\98\ 2\11¬\0"\ 4Æ\v \17ì\98\0&\ 5\11£\0#\ 4Æ\ 1   \11£\f#\ 2n±Æ\aO6\ 6~+\14BUF\0\0\80(\80FER\ 6\80(=2õ\1dû\1fv4 \10\9e\0ì¨$4\ 66\ 6\9d
+%<\14÷ÿú"à7\ 6í¨$®äì\84*\11\84\7f0\ 26\16Ì\0\06\ 6\9d
+&\1c"à7\ 65\10í\84¯¨&0\ 26\105 n±BLOCK\ 5\80(\83\0\0-E4 \10\9e\0ì¨6ãÄíÄ®¨&ì\84\84\7f\10£Ä'"6\10\9d
+%<\14È\0\0\0\80)\0\12\1a\80\1a§(\8d\1al\1al\1a\92\1cü&\1c\1cÃ"à7\10 Õ¯¨&0\ 2¯Ä5 n±(LINE)\ 6\80(Õ2õ/\0\15\ 5\9d
+\196\1d>\1dt$ç\19H\1d\87$\85\19Í(ß\19Í\1d>\19\11.LINE\ 5\80)*2õ1Ô*n\9d
+)4"²"ô\19\11SPACES\ 6\80)S2õ\0\0\0\0ìÄ.\ 43Bn±\9d\0\0\80)\80
+\1c×\15M\1f\9c\15\ fÿú\19\11<#\ 2\80)m2õ\0\0\9e\0ì\88\14í\88"n±#>\ 2\80)\8f\14]\eM\9e\0ì\88\14£\88"íÄì\88"íBn±SIGN\ 4\80)¥2õ\1e*\0\0\9d
+\e\ f\19£\14÷\0\ 6\14|\0-!N\19\11#\ 1\80)Ä2õ\0\0\0\0\9d
+\1ej\14V%\18\e\ f"àæAÁ  #\bÁñ#\0\0\80*\0\ 2Ë\ 6Ë\aË0çA\9d
+!N\19\11#S\ 2\80)á2õ\0\0\0\0\9d
+)ë"àìB&öìÄ&òn±D.R\ 3\80*\11\0\0\0\0\9d
+\196\1a\92\1al!Ò)\99*\e)Î)¯\19H\1al\19à)w"ô\19\11D.\ 2\80*.2õ\0\0*.\9d
+\1c×*8\1f\9c\19\11.R\ 2\80*X2õ\0\0\0\0\9d
+\196!\7f\19H\0\0\80*\80*8\19\11.\ 1\80*n2õ\1f§)S\9d
+!\7f*b\19\11?\ 1\80*\85\171/\90ìÑ6\ 6 çMESSAGE\a\80)S2õ!õ\0\0\9d
+\1dÃ\14V\1cé\18\8c\14÷\0\1a\1f±\14÷\0\1f\14|\0\ 4\1eG\14V\1d\87\19à)]\14à\0\v##\ 6MSG # *\8f\19\11(ABORT)\a\80*¯2õ#\19\15C\9d\0\0\80+\0
+3;\19\11ERROR\ 5\80*õ2õ!\1a\14\9f\9d
+,Þ"\94"ô##\ 3 ? *¹\1dÃ\14V\19£\14÷\0\ 2*ÿ\18ã\1e\14\14V\1e\ 5\14V2Â\19\11EDITORF\80+
+2õ\0\0\0\0\9d`+qQSYNC\ 5\80+D+P\0\0\0\0\9e\0æ\885\86\ 4ý\0\88n±EBLK\ 4\80+W+P+\84\9d\1f0CU\0\0\80+\80RSOR\ 6\80+W+P\0\0\0\0\9d
++{\14V(ß\1e©\14V\19Í\19\11QDUMP\ 5\80+\84+P+Æ/¶4 7 \8e\ 4\0Oæ ç\80J&ù5 n±QARROW\ 6\80+£+P\0\0\0\0æA\86\ 40\8d\0\80'\1aJ&ùÁ\15&"\9d
++\8e"àÌ `§Ñç\9f\0\88Æÿ \ 2æ\ 3\9e\0ë\88\885\0\0\80,\0Ì\0\0íÄn±^
+\b      à ÿ\ 1(NUMBER)\b\80+Æ2õ\0\0\17l4 7 \9e\0æ O6\ 6ì\88\1e6\ 6\9d
+\15\84\14÷\0%\1a\92\1ej\14V\18\16\1a\80\e\ f\1ej\14V\18\16\19ô"à\9e\0ì\88:+ÑÃ\0\ 1í\88: É"à1?6 5 n±NUMBER\ 6\80,\172õ!Ý\1ab7\100\ 1æ\84À-\0\0\80,\80&\ 200010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r01000      FCC 'CREATE'\r01010      FCB 6\r01020     FCB MFORE\r01030         FDB VLIST-CFAOFF\r01040  FDB BIF+2\r01050         FDB CR-CFAOFF\r01060     FDB CSP-CFAOFF\r01070 CREATE     DOCOL\r01080     FDB DDFIND\r01090        FDB OVER\r01100  FDB ZBR\r01110   FDB CREATN-*-2\r01120    FDB SWAP nfa\r01130      FDB IDDOT\r01135         FDB SPACE\r01140         FDB LIT\r01150   FDB 4\r01160     FDB MESS\r01170  FDB SPACE\r01190         FDB NFA vocab\r01200     FDB IDDOT\r01205         FDB CR\r01210    FDB BRANCH\r01220        FDB 4\r01230 CREATN      FDB DROP\r01240  FDB DROP\r01250  FDB NCOMMA\r01260        FDB CCOMMA length\r01270         FDB ZERO\r01280  FDB CCOMMA mode\r01290   FDB LATEST allocation link\r01300        FDB COMMA\r01310         FDB DUP nfa\r01320       FDB CURR\r01330  FDB STORE new LATEST\r01340      FDB ZERO vocab\r01350    FDB COMMA\r01360         FDB ZERO\r01370  FDB COMMA left\r01380    FDB ZERO\r01390  FDB COMMA right\r01400   FDB SMUDGE hide\r01410   FDB FOREMK\r01420        FDB DROOT\r01430         FDB FETCH\r01440         FDB PINSTA in vocab\r01450       FDB SEMIS\r01490 *\r01500         FCC 'CONSTANT'\r01510    FCB 8\r01520     FCB MFORE\r01530         FDB CREATE-CFAOFF\r01540         FDB BIF+2\r01550         FDB CMOVE-CFAOFF\r01560  FDB CREATE-CFAOFF\r01570 CONST   DOCOL\r01580     FDB CREATE\r01590        FDB IPCOM\r01600         DOCON\r01610     FDB COMMA\r01620         FDB SMUDGE visible\r01630        FDB SEMIS\r01690 *\r01700         FCC 'VARIABLE'\r01710    FCB 8\r01720     FCB MFORE\r01730         FDB CONST-CFAOFF\r01740  FDB BIF+2\r01750         FDB USTAR-CFAOFF\r01760  FDB WORD-CFAOFF\r01770 VAR       DOCOL\r01780     FDB CREATE\r01790        FDB IPCOM\r01800         DOVAR\r01810     FDB COMMA initial value\r01820   FDB SMUDGE visible\r01830        FDB SEMIS\r01890 *\r01900         FCC 'USER'\r01910        FCB 4\r01920     FCB MFORE\r01930         FDB VAR-CFAOFF\r01940    FDB BIF+2\r01950         FDB USE-CFAOFF\r01960    FDB UTIL-CFAOFF\r01970 USER      DOCOL\r01980     FDB CREATE\r01990        FDB IPCOM\r02000         DOUSER\r02010    FDB CCOMMA offset\r02020         FDB SMUDGE visible\r02030        FDB SEMIS\r02080 *\r02090 SCOMP   EQU MCOMP.OR.MIMM\r02100         FCC ':'\r02110   FCB MIMM.OR.1\r02120     FCB MFORE\r02130         FDB USER-CFAOFF\r02140   FDB BIF+2\r02150         FDB ADD-CFAOFF\r02160    FDB FETCH-CFAOFF\r02170 COLON    DOCOL\r02180     FDB QEXEC\r02190         FDB STOCSP\r02200        FDB CREATE\r02210        FDB IPCOM\r02220         DOCOL\r02230     FDB RBRAK\r02240         FDB SEMIS\r02290 *\r02300         FCC ';'\r02310   FCB MIMM.OR.1\r02320     FCB MFORE\r02330         FDB COLON-CFAOFF\r02340  FDB BIF+2\r02350         FDB 0\r02360     FDB 0\r02370 SEMI        DOCOL   see fig-FORTH model\r02380       FDB QCSP\r02390  FDB COMP\r02400  FDB SEMIS\r02410         FDB SMUDGE\r02420        FDB LBRAK\r02430         FDB SEMIS\r02490 *\r02500         FCC '."'\r02510  FCB MIMM.OR.2\r02520     FCB MFORE\r02530         FDB SEMI-CFAOFF\r02540   FDB BIF+2\r02550         FDB 0\r02560     FDB 0\r02570 DOTQ        DOCOL\r02572     FDB ONE past delimiter\r02574    FDB IN\r02576    FDB ADDSTO\r02580        FDB LIT\r02590   FDB '"\r02600    FDB WORD\r02610  FDB WORDPD\r02620        FDB QCST\r02630  FDB ZBR\r02640   FDB DOTQT-*-2\r02650     FDB COMP\r02660  FDB XDOTQ\r02670         FDB HERE\r02680  FDB OVER\r02690  FDB CFEH count\r02700    FDB ADD1\r02710  FDB DUP\r02720   FDB ALLOT\r02730         FDB CMOVE\r02732         FDB ONE past end quote\r02734    FDB IN\r02736    FDB ADDSTO\r02740        FDB BRANCH\r02750        FDB 4\r02760 DOTQT       FDB COUNT\r02770         FDB TYPE\r02780  FDB SEMIS\r02790 *\r02800         FCC '[COMPILE]'\r02810   FCB MIMM.OR.9\r02820     FCB MFORE\r02830         FDB DOTQ-CFAOFF\r02840   FDB BIF+2\r02850         FDB LBRAK-CFAOFF\r02860  FDB RBRAK-CFAOFF\r02870 BCOMP    DOCOL\r02880     FDB DDFIND\r02890        FDB DROP vocab\r02900    FDB DUP\r02910   FDB ZEQ\r02920   FDB ZERO\r02930  FDB QERR\r02940  FDB CFA\r02950   FDB COMMA\r02960         FDB SEMIS\r03180 *\r03200         FCC 'INTERPRET'\r03210   FCB 9\r03220     FCB MFORE\r03230         FDB BCOMP-CFAOFF\r03240  FDB BIF+2\r03250         FDB 0 * INDEX-CFAOFF\r03260      FDB J-CFAOFF\r03270 INTERP       DOCOL\r03280     FDB DIFIND\r03290        FDB DROP\r03300  FDB DDUP\r03310  FDB ZBR\r03320   FDB INTERN-*-2\r03330    FDB DUP\r03340   FDB CFA\r03350   FDB SWAP\r03360  FDB CFEH length\r03370   FDB DUP\r03380   FDB NOT\r03390   FDB LIT\r03400   FDB MIMM\r03410  FDB AND\r03420   FDB QCST\r03430  FDB AND\r03440   FDB ZBR\r03450   FDB INTERX-*-2\r03460    FDB DROP length\r03470   FDB COMMA\r03480         FDB BRANCH\r03490        FDB INTERE-*-2\r03500 INTERX     FDB LIT\r03510   FDB MCOMP\r03520         FDB AND\r03530   FDB QCST\r03540  FDB NOT\r03550   FDB AND\r03560   FDB LIT\r03570   FDB $11\r03580   FDB QERR\r03590  FDB EXEC\r03600  FDB BRANCH\r03610        FDB INTERE-*-2\r03620 INTERN     FDB WORDPD\r03630        FDB NUMBER\r03640        FDB DPL\r03645   FDB FETCH\r03650         FDB ZLESS\r03660         FDB ZBR\r03670   FDB INTERE-*-4\r03680    FDB DROP\r03690  FDB LITER\r03700         FDB BRANCH\r03710        FDB INTERE-*-2\r03720    FDB DLITER\r03730 INTERE FDB QSTACK\r03740        FDB BRANCH\r03750        FDB INTERP-*\r03790 *\r04200      FCC 'QUIT'\r04210        FCB 4\r04220     FCB MFORE\r04230         FDB INTERP-CFAOFF\r04240         FDB BIF+2\r04250         FDB 0\r04260     FDB 0\r04270 QUIT        DOCOL   see fig-FORTH model\r04280       FDB ZERO\r04290  FDB BLK\r04300   FDB STORE\r04310         FDB LBRAK\r04320 QUITL   FDB TNULL\r04325         FDB RPSTO\r04330         FDB CR\r04340    FDB QUERY\r04350         FDB INTERP\r04360        FDB QCST\r04370  FDB TBR\r04380   FDB QUITL-*-2\r04390     FDB XDOTQ\r04400         FCB 3\r04410     FCC ' OK'\r04420         FDB BRANCH\r04430        FDB QUITL-*-2\r04490 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ00010 * Include file for BIF\r00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)\r00030 *\r04500      FCC 'BIF'\r04510         FCB MIMM.OR.3\r04520     FCB MFORE\r04530         FDB QUIT-CFAOFF\r04540   FDB BIF+2 (PFA)\r04550   FDB COLON-CFAOFF\r04560  FDB IF-CFAOFF\r04570 BIF DOVOC\r04580     FDB BIF-CFAOFF (NFA)\r04590 *\r04600      FCC 'ASSEMBLER'\r04610   FCB MIMM.OR.9 immediate?\r04620  FCB MFORE\r04630         FDB BIF-CFAOFF\r04640    FDB BIF+2 parent voc\r04650      FDB 0\r04660     FDB 0\r04670 ASMBLR      DOVOC\r04680     FDB 0 (NFA)\r04690 *\r04700       FCC 'DEFINITIONS'\r04710         FCB 11\r04720    FCB MFORE\r04730         FDB ASMBLR-CFAOFF\r04740         FDB BIF+2\r04750         FDB 0\r04760     FDB 0\r04770 DEFS        LDX <UP\r04780   LDD UROOT,X\r04790       STD UDROOT,X\r04800      NEXT\r04890 *\r04900      FCC 'ABORT'\r04910       FCB 5\r04920     FCB MFORE\r04930         FDB DEFS-CFAOFF\r04940   FDB BIF+2\r04950         FDB 0\r04960     FDB 0\r04970 ABORT       DOCOL   see fig-FORTH model\r04975       FDB INULL\r04980         FDB SPSTO\r04990         FDB DEC\r05000   FDB ZERO\r05010  FDB DRIVE\r05020         FDB CR\r05030    FDB XDOTQ\r05040         FCB 13\r05050    FCC '6809 BIF V1.0'\r05060       FDB BIF\r05070   FDB DEFS\r05080  FDB QUIT\r05090 *\r05100  FCC 'VOCABULARY'\r05110  FCB 10\r05120    FCB MFORE\r05130         FDB ABORT-CFAOFF\r05140  FDB BIF+2\r05150         FDB 0\r05160     FDB 0\r05170 VOCAB       DOCOL\r05180     FDB CREATE\r05190        FDB IPCOM\r05200         DOVOC\r05210     FDB ZERO\r05220  FDB COMMA local\r05255   FDB SMUDGE\r05260        FDB SEMIS\r05290 *\r05300         FCC '('\r05301   FCB MIMM.OR.1\r05302     FCB 0\r05303     FDB VOCAB-CFAOFF\r05304  FDB BIF+2\r05305         FDB ENDHSH-CFAOFF\r05306         FDB STAR-CFAOFF\r05310 PAREN     PSHS Y\r05320    LDY <UP\r05330 PARENL    LDD #')\r05340   PSHU D\r05350    DOCOL\r05360     FDB WORD\r05370  FDB XMACH\r05380         LDX UBLK,Y\r05390        BNE *+6\r05400   LDX UTIB,Y\r05401        BRA *+12\r05403  PSHU X\r05405    DOCOL\r05406     FDB BLOCK get adr\r05408         FDB XMACH\r05409         PULU X\r05410    LDD UIN,Y\r05420         LDA D,X\r05425   BEQ PARENE NUL?\r05430   CMPA #')\r05440  BNE PARENL\r05450        INCB    bump\r05453      BNE *+5 UIN>15\r05456    INC UIN,Y carry\r05460   STB UIN+1,Y\r05470 PARENE        PULS Y\r05480    NEXT\r05490 *\r05500      FCC 'DAD'\r05510         FCB 3\r05520     FCB MFORE\r05530         FDB PAREN-CFAOFF\r05540  FDB BIF+2\r05550         FDB 0\r05560     FDB DCON-CFAOFF\r05570 DAD       PSHS Y\r05580    PULU Y nfa\r05590        LDB ,Y\r05600    ANDB #NLMASK\r05610      TFR B,A\r05620   NEGA\r05630      LEAX A,Y name\r05640     DECA for NUL\r05650      LEAS A,S allocate\r05660         CLRA\r05670      STA B,S NUL\r05680       PSHU X\r05690    PSHU D,S\r05700  PSHS B,X mark\r05710     DOCOL\r05720     FDB CMOVE for (REFIND)\r05730    FDB XMACH\r05740         LEAX 3,S name\r05750     PSHU X\r05760    LDX GFAOFF,Y\r05770      PSHU X\r05780 DADL       DOCOL\r05790     FDB PREF\r05800  FDB XMACH\r05810         LDX [2,U]\r05820         BNE DADC\r05830  LDD #$19 not found\r05840        PSHU D\r05850    JMP ERROR\r05860 DADC    CMPY [2,U] this node?\r05870     BEQ DADR\r05880  LEAX RTOFF,X deeper\r05890       LEAU 2,U\r05900  STX ,U\r05910    BRA DADL\r05920 DADR     PULS B,X\r05930  STX 4,U\r05950   INCB for NUL\r05960      LEAS B,S drop name\r05970        PULS Y\r05980    NEXT\r05990 *\r20500      FCC 'REPEAL'\r20510      FCB 6\r20520     FCB MFORE\r20530         FDB DAD-CFAOFF\r20540    FDB BIF+2\r20550         FDB 0\r20560     FDB 0\r20570 REPEAL      PSHS Y\r20580    LDX <UP\r20590   LDY UCURR,X\r20592       CMPY UFENCE,X\r20594     BLS REPELX\r20600        LDD LFAOFF,Y\r20610      STD UCURR,X update\r20620        LDD GFAOFF,Y  stash\r20625       PSHU Y\r20630    LEAY PFAOFF,Y\r20640     CMPY UROOT,X\r20650      BNE REPELD\r20660        STD UROOT,X\r20670 REPELD        CMPY UDROOT,X\r20680     BNE REPELF\r20690        STD UDROOT,X\r20700 REPELF       LDY ,U\r20710    LDD #0\r20720    CMPY UFORE,X end?\r20730         BNE REPELA\r20740        STD UFORE,X\r20750 REPELA        DOCOL\r20760     FDB DAD\r20760   FDB XMACH\r20770         LEAU 2,U\r20960  LDD #0\r20970    STD [,U++] ground parent\r20980  PULU D\r20990    LDX <UP\r21000   STD UDP,X\r21010 REPELX  PULS Y\r21020    NEXT\r21090 *\r21100      FCC 'FORGET'\r21110      FCB 6\r21120     FCB MFORE\r21130         FDB REPEAL-CFAOFF\r21140         FDB BIF+2\r21150         FDB FORE-CFAOFF\r21160   FDB GFA-CFAOFF\r21170 FORGET     DOCOL\r21180     FDB DDFIND\r21190        FDB XMACH\r21200         PSHS Y\r21210    LEAU 2,U\r21220  LDY ,U++\r21230  BNE FORGEF found?\r21240         LDD #0\r21250    PSHU D\r21260    JMP ERROR\r21270 FORGEF  LDX <UP\r21280   CMPY UFENCE,X\r21290     BHI FORGER\r21300        LDD #$15\r21310  BRA FORGEF-5\r21320 FORGER       LDB MFAOFF,Y\r21330      ANDB #MFORE\r21370       BEQ FORGEL\r21380        LDD #$1A\r21390  BRA FORGEF-5\r21400 FORGEL       LDX <UP\r21410   CMPY UCURR,X\r21420      BHS FORGEO\r21430        DOCOL\r21440     FDB REPEAL\r21450        FDB XMACH\r21460         BRA FORGEL\r21470 FORGEO BEQ FORGEN\r21480        LDD #$1B\r21490  BRA FORGEF-5\r21500 FORGEN       PULS Y\r21510    JMP REPEAL\r21520 FOLLOW EQU *\r21530 * FORGET should be the last definition in the pre-assembled kernel\r21540 *\rÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0u\12
+®ä\10¯ä\1f\12n±ìñ6\ 6n±5\ 66\ 6n±æñOÓ\06\ 6n±5\10ìÄ£\84\10£\ 2%\bÌ\0\f6\ 6~+\144\ 2¦\ 4=íÄ5\ 2æ\ 4=\1f\98«ÄæA0\ 50\8b¯Än±\9e\0æñOì\8b6\ 6\9e\05\ 6í\ en±®äì\816\10\10¯ä\1f\ 2n±5\10ì\81®\816\16\0\0\80\13\0\12~\13:\12~\13æh    \0\04\8e\0\bzYyUzWz­\0\1f\0\ 14á4â2ö{p{-\0 {ð\80\0COLD\ 4\80\0\0\0\0\0\01\8d\0y\1eR\7f\0qì<í\88\12ì,í
+ì.í\fì¨\10í\ eí\88\106\ 6\8d\11Ì+P6\ 6\8d
+Ì3\r6\ 6\8d\ 3~\13ë46\10\9e\0®Á'?ì\84';\10£*#\aÌ\0\0\80\13\80\0\0í\84 /\1f\ 1Ì\0\04\ 6ì\b'\ e\10£*#\aÌ\0\0í\b \ 24\ 6ì\ 6'\ e\10£*"\ 4\1f\ 1 áÌ\0\0í\ 6®á&Ø5¶\10ÎzW4\ 1\1aP4 Ì\12\0\1f\8b\10\8e\13\10®¤\9f\0ÎyUÌ\0\0ý\0\09WARM\ 4\80\1302ö0Ë\1d¹1\8cÎ\1eRì"í\0í\88 ì$í\ 2ì>í\88(ì&í\ 4ì\0\0\80\14\0\b\10ì"í\88\14í\88"ì$í\88\16ì&í\88\18ì(í\88\1aí\88\88&ì*í\88\1cÌ\0\10í\88\1eÌ\0\0í\98\ 2í\98\0\86*1\88*ç J&û5\ 1\1cï\9d
+%\963<@\ 1\80\13Ü2ö\19Y\18\82ìÔíÄn±!\ 1\80\14L2ö-× ©ìBíÔ3Dn±LIT\83\80\14]2ö\0\0\0\0ì¡6\ 6\0\0\80\14\80n±DLIT\84\80\14r2ö\0\0\0\0ì¡®¡6\16n±EXECUTE\87\80\14\86\0\0\0\0®Á'\ 2n\84Ì\0        6\ 6~+\141BRANCH\87\80\14\9f\0\0\0\0ìÁ&\141"n±BRANCH\86\80\14¾2ö\0\0\0\0ì¡1«n±0BRANCH\87\80\14Ö2ö\0\0\0\0ìÁ'å1"n±(\0\0\80\15\0LOOP)\86\80\14í2ö\0\0\0\0Ì\0\ 1ãäíä£b-Æ1"2dn±(+LOOP)\87\80\15\ 5\0\0\0\0ìÁ*Ýãäíä£b.£ Û(DO)\ 4\80\15'2ö\0\0\0\07\164\16n±I\ 1\80\15C2ö\1e¯#1ìä6\ 6n±J\ 1\80\15T2ö(*\0\0ìd6\ 6n±DIGIT\ 5\80\15e2ö\0\0\80\15\80 Ø\16^æCÁ9#\14ÁA% ÁZ#
+Áa%\18Áz"\14À\ 6À\aÀ0áA$
+OíBÌÿÿíÄn±3BÌ\0\0 õ(FIND)\ 6\80\15z2ö*õ"ÖìÄ'\1f\9d
+\17v"à3B®Ô'\ fæ\84Ä '\ 60\b¯Ä è\8eÿÿìįÄíBn±ENCLOSE\a\80\15»2ö%\8c\0\0®Bæ\0\0\80\16\0\80'\ 4áA'ø0\1f¯Bæ\80'\ 4áA&ø\1f\10\83\0\ 1£BíÄn±LITERALG\80\15ó2ö\14r'\95\8d\11Ì\14|í¡7\ 6í¡\10¯\f5 ~\1f,\9e\0æ\889ÄÀ5\ 6&\ 2n±4 \10®\f\1e\ 5DLITERALH\80\16%2ö\14\86\1aB\8dØÌ\14\90í¡7\ 6 ÁEMIT\ 4\80\16^2ö\1a\9d\15\0\0\80\16\80ó7\ 6\1f\98_4h\1f\9b­\9f \ 25hn±KEY\ 3\80\16w2ö\1e
+\1dX4h_\86Ï\1f\9b\9e\88æ\84§\84­\9f \0'úç\84_\81\ 3&\ 1S\1e\895h6\ 6n±?TERMINAL \80\16\952ö(=\0\04h_\1f\9b­\9f \0 ÔCR\ 2\80\16Ë2ö"\8a\0\0Æ\r \93(;CODE)\87\80\16â2ö\0\0\0\0\0\80\17\0\0\9e\0®\88\120
\8d\0    §\80\10¯\815 n±½\0\0>PRT\ 4\80\16÷2ö\0\0\0\0Æþ÷\0on±>VID\ 4\80\17\1c\0\0\0\0\7f\0on±2*\ 2\80\1712ö\0\0\0\0hAiÄn±2/\ 2\80\17B2ö\1c¹\1d\13gÄfAn±(REFIND)\b\80\17T2ö\0\0\0\0Ì\0\f4&®Ä'# \0\0\80\17\802\10®Bæ\84Ä\1f'\ e\1f\98@0\86¦  \80&\rZ&÷¦¤&\ 65&6\ 6n±®ÔM+\ 4Æ\b \ 2Æ\ 60\85ça¯Ä®\84&Ê ãMOVE\ 4\80\17l2ö\1a\97ìÁ'\124`\10®ÄîB7\10¯¡\83\0\ 1&÷5`3Dn±CMOVE\ 5\80\17½2ö _'=Ì\0\0£Á4"70'\v¦ §\80\\0\0\80\18\0&ùlä&õ5"n±U*\ 2\80\17æ2ö\1aÉ%i2|¦AæC=íb¦ÄæB=íäìA=ãa$\ 2läía¦ÄæC=ãa$\ 2läía5\16íįBn±U/\ 2\80\18\f\0\0\0\0\86\114\ 2ìB\10£Ä$\ 4\1cþ \ 4£Ä\1a\ 1iEiDjä'\ 6YI$ç î2a3B®BíB¯Än±A\0\0\80\18\80ND\ 3\80\18H2ö!²\e\1f7\ 6äA¤ÄíÄn±OR\ 2\80\18\822ö ë\1e\1a7\ 6êAªÄíÄn±XOR\ 3\80\18\98\0\0\0\07\ 6èA¨ÄíÄn±SP@\ 3\80\18¯2ö\18Ù\0\0\1f16\10n±SP!\ 3\80\18Æ2ö\0\0\0\0\9e\0î\0oÄoAn±RP!\ 3\80\18Ù2ö\0\0\0\0\9e\0\10î\ 2o\0\0\80\19\0äoan±;SB\80\18ð2ö\0\0\0\05 n±LEAVE\85\80\19\a2ö > Nìäíbn±>R\82\80\19\1a\19¯*\987\ 64\ 6n±R>\82\80\19,2ö\19K#ð\ e\19R\ 1\80\19>2ö2¹\1e\9f~\15^=\ 1\80\19K2ö\19m&©7\ 6\10£Ä'& ;<\ 1\80\19Y2ö(\r)\8fìB\10£Á-\12 '\0\0\80\19\800=\ 2\80\19m2ö\0\0\1cßìÄ&\17ÌÿÿíÄn±0<\ 2\80\19\82\1cÍ\19\82¦Ä+éÌ\0\0íÄn±>\ 1\80\19\99\0\0\17\1cìB\10£Á.Рå+\ 1\80\19¯2ö3\85$¯7\ 6ãÄíÄn±-\ 1\80\19Ã2ö\0\0\0\0ìB£ÁíÄn±D+\ 2\80\19Ö2ö1K!ÈìFãBíFìDéA©Ä\0\0\80\1a\03DíÄn±D-\ 2\80\19ê2ö!\9d*XìF£BíFìDâA¢Ä3DíÄn±MINUS\ 5\80\1a\b\0\0$ÆÌ\0\0£ÄíÄn±DMINUS\ 6\80\1a)2ö\0\0\0\0Ì\0\0£BíBÌ\0\0âA¢ÄíÄn±OVER\ 4\80\1aB2ö\18\98 \86ìB6\ 6n±DROP\ 4\80\1ab2ö\1ep\16w\0\0\80\1a\803Bn±SWAP\ 4\80\1av2ö\e\ 51k7\166\ 66\10n±DUP\ 3\80\1a\88\0\0\1fõìÄ6\ 6n±+!\ 2\80\1a\9d\0\0\0\07\10ì\84ãÁí\84n±TOGGLE\ 6\80\1a¯2ö\1d¥"ê7\16è\84ç\84n±C@\ 2\80\1aÉ2ö(\83\19êæÔOíÄn±C!\ 2\80\1aÝ2ö\0\0\0\0æCçÔ3D\0\0\80\e\0n±ROT\ 3\80\1að2ö\19>"U4 766\166 5 n±BACK\84\80\e\ 5\1dj#m\9e\07\ 6£\f\83\0\ 26\ 6~\1fcNOT\ 3\80\e\1f2ö06\0\0ìÄSCíÄn±'A\80\e:2ö*\11\0\0\9d
+.T\1a\80\1a§\19\8c\1c×&\97\16/\19\11-->C\80\eM2ö'w*\85\9d
+'*\1c×\1e\14\14g\0\0\80\e\80\1d\87\1e\ 5\14V\1al$Ð\19à\1e\ 5\1a¹\19\111ARRAY\ 6\80\el2ö\1c\8f\14¾\9d
+0ó(4\9d("à®Ä\8c\0ÿ#\bÌ\0\r6\ 6\16\ fYìDíįDìB£Ä-ìÃ\0\ 1íB6\16\9d
+\18\16\14|\0\r&\97\196\1fc\1fc\1f\80\19H\1fL"_\19\11UTILITIESI\80\e\98\0\0\0\0\9d`\1c\ 2D\0\0\80\1c\0P@\ 3\80\eñ\eý\0\0\0\0\1f¸_6\ 6n±DCONSTANT      \80\1c\ 2\0\0\0\0\9d
+0ó(4\9du\1fc\1fc"_\19\11SWAB\ 4\80\1c\1c\0\0\1cPìÄçħAn±SWAN\ 4\80\1c:2ö\0\0\0\0¦AæADVDVDVDVçA¦ÄæÄDVDVDVDVçÄn±1+\ 2\80\1cP2ö\0\0\80\1c\80\19\99\1c¤Ì\0\ 1ãÄíÄn±1-\ 2\80\1cz2ö\0\0\0\0ÌÿÿãÄíÄn±2+\ 2\80\1c\8f\1d\ 4\17\0\ 2ãÄíÄn±2-\ 2\80\1c¤2ö\0\0\0\0ÌÿþãÄíÄn±0\ 1\80\1c¹2ö$\91/}Ì\0\06\ 6n±1\ 1\80\1cÍ2ö\14í\0\0Ì\0\ 16\ 6n±-1\ 2\80\1cß2ö\0\0.JÌÿÿ6\0\0\80\1d\0\ 6n±2\ 1\80\1cò2ö\e\98\17B\9d\13\0\ 23\ 1\80\1d\ 4\0\0\0\0\9d\13\0\ 3BL\ 2\80\1d\13\0\0\0\0\9d\13\0 C/L\ 3\80\1d#2ö\0\0\0\0\9dU\18FIRST\ 5\80\1d42ö\0\0\1e\80\9dU\1aLIMIT\ 5\80\1dF2ö\19\1a\16%\9dU\1cB/BUF\ 5\80\1dX2ö3\ 1\1d}\9d\13\ 1\0B/SCR\ 5\80\1d\0\0\80\1d\80j2ö\0\0\0\0\9d\13\0\ 4+ORIGIN\a\80\1d}2ö\0\0\0\0Ì\13\0\16ü-TIB\ 3\80\1d\92\0\0\0\0\9d\1f\ 4WARNING\a\80\1d¥2ö\0\0\0\0\9d\1f\bFENCE\ 5\80\1d¹2ö\0\0\0\0\9d\1f
+DP\ 2\80\1dË2ö'ê\0\0\9d\1f\fROOT\ 4\80\1dÚ2ö\0\0\0\0\9d\1f\ eBLK\ 3\80\1dë2\0\0\80\1e\0ö!0(Õ\9d\1f.IN\ 2\80\1dû2ö"A2G\9d\1f*OUT\ 3\80\1e
+2ö\0\0\0\0\9d\1f,SCR\ 3\80\1e\1a\0\0\0\0\9d\1f2OFFSET\ 6\80\1e*2ö\0\0\0\0\9d\1f6STATE\ 5\80\1e=2ö)m\1c:\9d\1f8BASE\ 4\80\1eO2ö\0\0\0\0\9d\1f\1eDPL\ 3\80\1e`2ö\1dÚ%Ì\9d\1f:FLD\0\0\80\1e\80\ 3\80\1ep2ö\0\0\0\0\9d\1f<CSP\ 3\80\1e\80\0\0\1eØ\9d\1f R#\ 2\80\1e\90\0\0&\12\9d\1f4HLD\ 3\80\1e\9f2ö ½!D\9d\1f"FOREWARD\b\80\1e¯2ö\0\0\0\0\9d\1f@CURRENT\a\80\1eÄ2ö\0\0\0\0\9d\1f\12PREV\ 4\80\1eØ2ö\0\0\0\0\9d\1f&USE\ 3\80\1eé2ö\0\0\0\80\1f\0\0\0\0\9d\1f$DROOT\ 5\80\1eù2ö\0\0\0\0\9d\1f\10HERE\ 4\80\1f\v2ö.Ü\15T\9e\0ì\f6\ 6\9e\0\11£\f#\ 2n±Ì\0\ 26\ 6~+\14ALLOT\ 5\80\1f\1c2ö#\88\0\0\9e\0ì\f+ããÁí\f Ô,\ 1\80\1fB2ö\1d\92\19Ö7\ 6\10\9e\0®,í\81¯,5  ¸C,\ 2\80\1fY2ö\1að\1d4\0\0\80\1f\807\ 6\10\9e\0®,ç\80 áSPACE\ 5\80\1fv2ö\18Æ\1e\8dý\90\16öà-DUP\ 4\80\1f\92\1cò"¨ìÄ'\ 26\ 6n±?CST\ 4\80\1f§2ö'\0&\8d\9e\0æ\889ÄÀO6\ 6n±IFÂ\80\1f½2ö$\ e\9d
+'G\14÷\1f&\1c×\1fc\14|IF\19\11ELSEÄ\80\1fÕ2ö+D\0\0\9d\0\0\80 \0
+\1a§\14|IF&ì'G\14à\1f&\1c×\1fc\e\ f#[\1a\92\19\11ENDIFÅ\80\1fõ2ö\1av.\v\9d
+&³\14|IF&ì#[\19\11LATEST\ 6\80  2ö\0\0\0\0\9dU\12LFA\ 3\80 >2ö\0\0\0\0Æ\ 2 \ fCFA\ 3\80 N2ö\0\0\0\0Æ
+\1dãÄíÄn±GFA\ 3\80 _2ö\0\0\0\0Æ\0\0\80 \80\ 4 èPFA\ 3\80 u2ö!d\1eéÆ\f ×NFA\ 3\80 \862ö.±\e:Æô Æ!CSP\ 4\80 \97\0\0\9e\0ï\88 n±HEX\ 3\80 ©2ö\0\0\0\0Æ\10O\9e\0í\88\1en±DECIMAL\a\80 ½2ö3Í3\1aÆ
+ ãOCTAL\ 5\80 Ø2ö\0\0\1e\b ÐFILL\ 4\80 \0\0\80!\0ë2ö\1dË#Q4 76ç 0\1f&ú5 n±ERASE\ 5\80 ý2ö\0\0\0\0Æ\06\ 6 ÝBLANKS\ 6\80!\1a\1d#\0\0Æ 6\ 6 ÇHOLD\ 4\80!02ö\0\0\0\07\ 6\10\9e\0®¨"ç\82¯¨"5 n±PAD\ 3\80!D2ö\0\0\0\0\9dU\14S->D\ 4\80!d2ö\18ð)Ä3\0\0\80!\80^ìB\16ø\1f+-\ 2\80!u2ö\1a¯%2ìÁ\10\9bn±D+-\ 3\80!u2ö\0\0\0\0ìÁ\10\9fn±ABS\ 3\80!\9d2ö32\1fBìÄ\10+øqn±DABS\ 4\80!²2ö\1a\b\15zìÄ\10+øtn±MIN\ 3\80!È2ö%\ e\17½7\ 6\10£Ä,\ 2íÄn±MAX\ 3\80!Ý2ö\0\0\0\07\0\0\80"\0\ 6\10£Ä/\ 2íÄn±[A\80!õ2ö\18¯\0\0Æ?\9e\0ä\88\889n±]\ 1\80"\v\0\0\0\0ÆÀ\9e\0ê\88\889n±IMMEDIATE   \80""2ö\0\0\0\0Æ@ \12SMUDGE\ 6\80"A2ö!u\1f\92Æ \9e\0è\98\12ç\98\12n±COMPILE-ONLY\f\80"U2ö\0\0\0\0\0\80"\80\0Æ\80 ÜCOUNT\ 5\80"w2ö\0\0\0\0®Äæ\80¯ÄO6\ 6n±-TRAILING     \80"\8a2ö.\98\0\0ìÄ®B0\8b\86 ¡\82&\ 4¬B$ø\1f\10£BÃ\0\ 1íÄn±(MACHINE)\89\80"¨2ö)*,\17\1f!5 n\84TYPE\ 4\80"Ö2ö\0\0\0\0ìÄ'\19ãBíÄ®Bæ\80\0\0\80#\0¯BO6\ 6\9d
+\16\81"à®B¬Ä%í3Dn±(.")\84\80"ê2ö\15'\16÷æ O\1f!1«6\16 ÆID.\ 3\80#\19\0\0\0\07\10æ\84Ä\1fP0\85PO6\16 ªFILL-IN\87\80#12ö\0\0\0\0\9e\0ì\f£Ä\83\0\ 2íÑn±BEGINÅ\80#Q2ö\1e`\0\0\9d
+&³\1f&\14|B\0\0\80#\80E\19\11AGAINÅ\80#m2ö\0\0\0\0\9d
+\14|BE&ì'G\14à\e)\19\11UNTILÅ\80#\88\18H\0\0\9d
+\14|BE&ì'G\14÷\e)\19\11WHILEÅ\80#§2ö\13Ü,Ô\9d
+\1a§\14|BE&ì'G\14÷\1f&\1c×\1fc\14|WH\19\11REPEATÆ\80#Æ2ö40\1dë\9d
+\14|WH\0\0\80$\0\196#\92\19H#[\19\11DOÂ\80#Æ2ö\1aÝ  \9d
+'G\15M\1f&\14|DO\19\11M*\ 2\80$\ e\0\0$NìĨB4\ 6\9d
+!¼\1a\92\18\16"àìá\10\ 2n±M/\ 2\80$(2ö\0\0\0\0\9d
+\1al\196\196!Ò\19U!¼\18R\19H\19U\18¹!\92\1a\92\19H!\92\1a\92\19\11*\ 1\80$N2\0\0\80$\80ö\15»$Ý\9d
+\18\16\1a\80\19\11/MOD\ 4\80${2ö\0\0\0\0ìÄ6\ 6ÌÿÿmD+\ 3Ã\0\ 1íB\16ÿª/\ 1\80$\91\el\1cz\9d
+$\9b\1a\92\1a\80\19\11MOD\ 3\80$¯2ö\0\0\0\0\9d
+$\9b\1a\80\19\11*/MOD\ 5\80$Æ2ö$õ\0\0\9d
+\196$2\19H$X\19\11*/\ 2\80$Ý2ö\0\0\0\0\9d\0\0\80%\0
+$ç\1a\92\1a\80\19\11M/MOD\ 5\80$õ2ö$(*¯\9d
+\196\1c×\19U\18R\19H\1a\92\196\18R\19H\19\11+BUF\ 4\80%\ e\0\0\0\0\9e\0ü\1d\0\ 4ãÄ\10£\88\1c%\ 3ì\88\1aíÄ\10£\88&'\ 5Ìÿÿ \ 3Ì\0\06\ 6n±UPDATE\ 6\80%22ö#§1\87\9e\0ì\98&\8a\80í\98&n±E\0\0\80%\80MPTY-BUFFERS\r\80%i2ö\0\0\0\0\9e\0ì\88\1c\83\0\ 14&®\88\1a\10\8e\0\0ü\1dv¬ä$\ e\10¯\810\8b¬ä$\ 5\10¯\81 î5&n±DRIVE-OFFSET\f\80%\8c2ö%ì\1f\v\9d(\0\0\0\ 4\ 2\ 2v\ 2v\80\0\80\0\80\0DRIVE\ 5\80%Ì2ö\0\0\0\0\8e%ÝÌ\0\0ã\81+\ 6\0\0\80&\0jA*ø£\1e\9e\0í\8863Bn±R/W\ 3\80%ì2ö\0\0\0\04h\10¾À\ 6\8e%ÝìB£\81$ü(\bÌ\0\ 66\ 6~+\14ã\834\106\ 6Ì\0\126\ 6\9d
+$\9b"à7\ 6ç"7\ 6\ç#5\ 6\83%ÝWç!ìDí$Æ\ 2®Ä&\ 1\ç¤O\1f\8b­\9fÀ\ 45h3F¾À\ 6æ\ 6'\ f\9e\0Ì\0\0í\bÌ\0\b\0\0\80&\806\ 6~+\14n±?ERROR\ 6\80&\12\0\0\0\07\10ìÁ&\ 2n±6\10~+\14?COMP\ 5\80&\8d\19,&Æ\9e\0æ\889ÄÀ&>Ì\0\11 4?EXEC\ 5\80&©2ö\1f½&â\9e\0æ\889'#Ì\0\12 \19?PAIRS\ 6\80&Æ2ö' \16Ë7\ 6£Á'\bÌ\0\136\ 6~+\14n±?CSP\0\0\80'\0\ 4\80&â2ö\0\0\0\0\9e\0\1f\88 'çÌ\0\14 Ý?LOADING\b\80'\0\0\0\0\0\9e\0ì\88.&ÉÌ\0\16 ¿COMPILE\a\80' 2ö\130"w\9d
+&³"àì¡6\ 6~\1fcLOOPÄ\80'=2ö\16\95,n\9d
+\14|DO&ì'G\15\ f\e)\19\11+LOOPÅ\80'X2ö!\88\1f\0\0\80'\80Y\9d
+\14|DO&ì'G\151\e)\19\11LOAD\ 4\80'w2ö\0\0\0\0\10\9e\0ì¨*®¨.4\16Ì\0\0í¨*\9d
+\1d\87$\85\1e\ 5\14g2Q"à5\16í¨*¯¨.5 n±<BUILDS\87\80'\95\0\0\0\0\9d
+\1c×1U\19\11DOES>\85\80'Ó2ö\0\0\0\0\9e\0®\88\12ì\8d\0  í
+\10\0\0\80(\0¯\f5 n±\9dh;CODEÅ\80'ê2ö1»\19\a\9d
+'
+'G\17\ 1"\153\v ³\19\11IP,\83\80(\r\0\0\0\0~'M?STACK\ 6\80(*2ö\0\0\0\0\9e\0\11¬\ 2#\ 4Æ
+ %ì\98\ 2\11¬\0"\ 4Æ\v \17ì\98\0&\ 5\11£\0#\ 4Æ\ 1   \11£\f#\ 2n±Æ\aO6\ 6~+\14BUF\0\0\80(\80FER\ 6\80(=2ö\1dû\1fv4 \10\9e\0ì¨$4\ 66\ 6\9d
+%<\14÷ÿú"à7\ 6í¨$®äì\84*\11\84\7f0\ 26\16Ì\0\06\ 6\9d
+&\1c"à7\ 65\10í\84¯¨&0\ 26\105 n±BLOCK\ 5\80(\83\0\0-E4 \10\9e\0ì¨6ãÄíÄ®¨&ì\84\84\7f\10£Ä'"6\10\9d
+%<\14È\0\0\0\80)\0\12\1a\80\1a§(\8d\1al\1al\1a\92\1cü&\1c\1cÃ"à7\10 Õ¯¨&0\ 2¯Ä5 n±(LINE)\ 6\80(Õ2ö/\ 1\15\ 5\9d
+\196\1d>\1dt$ç\19H\1d\87$\85\19Í(ß\19Í\1d>\19\11.LINE\ 5\80)*2ö1Õ*n\9d
+)4"²"ô\19\11SPACES\ 6\80)S2ö\0\0\0\0ìÄ.\ 43Bn±\9d\0\0\80)\80
+\1c×\15M\1f\9c\15\ fÿú\19\11<#\ 2\80)m2ö\0\0\9e\0ì\88\14í\88"n±#>\ 2\80)\8f\14]\eM\9e\0ì\88\14£\88"íÄì\88"íBn±SIGN\ 4\80)¥2ö\1e*\0\0\9d
+\e\ f\19£\14÷\0\ 6\14|\0-!N\19\11#\ 1\80)Ä2ö\0\0\0\0\9d
+\1ej\14V%\18\e\ f"àæAÁ  #\bÁñ#\0\0\80*\0\ 2Ë\ 6Ë\aË0çA\9d
+!N\19\11#S\ 2\80)á2ö\0\0\0\0\9d
+)ë"àìB&öìÄ&òn±D.R\ 3\80*\11\0\0\0\0\9d
+\196\1a\92\1al!Ò)\99*\e)Î)¯\19H\1al\19à)w"ô\19\11D.\ 2\80*.2ö\0\0*.\9d
+\1c×*8\1f\9c\19\11.R\ 2\80*X2ö\0\0\0\0\9d
+\196!\7f\19H\0\0\80*\80*8\19\11.\ 1\80*n2ö\1f§)S\9d
+!\7f*b\19\11?\ 1\80*\85\171/\91ìÑ6\ 6 çMESSAGE\a\80)S2ö!õ\0\0\9d
+\1dÃ\14V\1cé\18\8c\14÷\0\1a\1f±\14÷\0\1f\14|\0\ 4\1eG\14V\1d\87\19à)]\14à\0\v##\ 6MSG # *\8f\19\11(ABORT)\a\80*¯2ö#\19\15C\9d\0\0\80+\0
+3<\19\11ERROR\ 5\80*õ2ö!\1a\14\9f\9d
+,Þ"\94"ô##\ 3 ? *¹\1dÃ\14V\19£\14÷\0\ 2*ÿ\18ã\1e\14\14V\1e\ 5\14V2Ã\19\11EDITORF\80+
+2ö\0\0\0\0\9d`+qQSYNC\ 5\80+D+P\0\0\0\0\9e\0æ\885\86\ 4ý\0\88n±EBLK\ 4\80+W+P+\84\9d\1f0CU\0\0\80+\80RSOR\ 6\80+W+P\0\0\0\0\9d
++{\14V(ß\1e©\14V\19Í\19\11QDUMP\ 5\80+\84+P+Æ/·4 7 \8e\ 4\0Oæ ç\80J&ù5 n±QARROW\ 6\80+£+P\0\0\0\0æA\86\ 40\8d\0\80'\1aJ&ùÁ\15&"\9d
++\8e"àÌ `§Ñç\9f\0\88Æÿ \ 2æ\ 3\9e\0ë\88\885\0\0\80,\0Ì\0\0íÄn±^
+\b      à ÿ\ 1(NUMBER)\b\80+Æ2ö\0\0\17l4 7 \9e\0æ O6\ 6ì\88\1e6\ 6\9d
+\15\84\14÷\0%\1a\92\1ej\14V\18\16\1a\80\e\ f\1ej\14V\18\16\19ô"à\9e\0ì\88:+ÑÃ\0\ 1í\88: É"à1?6 5 n±NUMBER\ 6\80,\172ö!Ý\1ab7\100\ 1æ\84À-\0\0\80,\80&\ 20\ 1O6\ 6_6\ 66\ 66\10Ìÿÿ\9e\0í\88:\9d
+,!"à®Äæ\84'\1dÁ:'\bÁ-%\rÁ/"  0\ 1¯ÄÌ\0\0 ÚÌ\0\06\ 6~+\143B\9d
+\e\ f\14È\0\ 2\1aL\19\11WORDPAD\a\80,n2ö\0\0\0\0\9dU\16WORD\ 4\80,Ô2ö#Æ2 4 \10\9e\0ì¨.'\f6\ 6\9d
+(ß"\0\0\80-\0à7\ 6 \ 2ì$ã¨*7\10\1f\ 260\9d
+\15ý"à4 ìB£áãÄ\9e\0ã\88\88*7\ 6\10\83\0\1f#\ 3Ì\0\1f\10®\88\16ç o¥6&5 \9d
+\17ð\19\11BS\ 2\80,å2ö\14Ö\0\0\9dU(EXPECT\ 6\80-E2ö+
+ ý4 ìÄ\10®B\83\0\ 1->':0«¯Ä\9d
+\16\9f"àæA\9e\0á\88\0\0\80-\80)&\r\10¬D#\ 41? \13oA \ fÁ\r&\ 5\10¯B \ 6Á %ïç \9d
+\16\81\10¬Ä%Êo¤3D5 n±QUERY\ 5\80-X2ö'X\1a\88\9e\0Ì\0\0í\88\0\80®\ 46\16\9d
+-b\19\11\0@\80-·2ö\0\0\0\0\9e\0ì\88.'\eÃ\0\ 1í\88\0\0í\88\1d\89\88/&\b\9d
+&\0\0\80.\0Ð"à5 n±FIND\ 4\80-×2ö-X\1f\1cìBÃ\0\ 1íBìÄ®B6\16\9d
+\15Å"àìÄ&\ f®Dì\18\10£D'\ 63DíÄ ãìØ\ 23DíBn±-DFIND\ 6\80.\v\0\0\0\0\9d
+\1f\15\1dõ\1d-,ï\14V\1a\92\14V\1al\1al\19c\14÷\0\ 6\1a\80\14à\0\16\1a\92.\15\1al\14÷\0\ 6\0\0\80.\80\e\ f\1a\80\19\11\1a\80\1a\80\1a\92.\15\19\11-IFIND\ 6\80.J2ö\0\0\0\0\9d
+\1dõ\1f\15\14àÿ®NAME,\ 5\80.\98\0\0\0\0\9d
+,Þ"\94\196\1f&\19U\1fL\19U\17ð\1f&\19H\19\11FORE-MARK        \80.±2ö\1dF4\8e\9e\0ì\88@' ®\88\12æ\ 1Ê\80ç\ 1n±(INSTALL\0\0\80/\0)\89\80.\98\0\0\0\0®Ä&\bÌ\0\186\ 6~+\14\10®Bæ¤Ä\1f\1f\98@1¦J2æO§å6 6F4\ 4\9d
+\17ð"à®Ä1a60\9d
+\15Å"àìÁ'\16®Ñ\8c-×&\ 5Ì\0\1c ¿æ\84Ê ç\840\b Þ5\ 4\2å®Ä&\ 5Ì\0\19 §ìB\10®D\10¯\84í$3F5 n±0!\ 2\80/\0\0\80/\80\ 1\0\0\0\0Ì\0\0ý\0\0n±?0\ 2\80/}2ö\0\0\0\0ü\0\0&\ 2n±Ì\0\ 56\ 6\9e\0¦\b\8a\80§\b~+\14QUICK\ 5\80/\91+P+W\0\0\10\9e\0ì¨0®¨44\167\ 6í¨0Ì\0\0í¨4\9d
++\8e+­+a\16\9f"àæAÁ\ 3'8\9d
++Ð+a+\8e"àìB&\ 4æÑ \19Á\&\0\0\800\0\b\9d
+\16\9f"à7\ 6çÑl¨5¦¸&\8a\80§¸&OíÄ\9d
+\16\81+a\14àÿ¾3B5\16í¨0¯¨45 n±NODE.\ 5\80/·2ö\0\0\0\0\9d
+\1a§#;\1f\9c\1c×*b\16ì\16Õ\1a§\19£\14÷\0\ 4\1a\80\16\9f\19\11VISIT\ 5\80062ö\0\0\0\0\10\9e\0®¨>4\16\10ï¨>®Á7\ 6'\0\0\800\80\84'4Ã\0
+íä4\10\11¬ "\ 5Æ\v~(w®\ 6\11¬¨>$\19®äì¸>6\16\9d
+\14©(G"àìÁ+\ 65\10®\b ß\10î¨>5\16¯¨>5 n±VLIST\ 5\800c+P0c3j\9d
+\14|06\1dõ\14V0m\19\11CREATE\ 6\800Ë2ö\16â\1e\90\9d
+.T\1al\14÷\0\18\1a\92#\0\0\801\0;\1f\9c\14|\0\ 4\1f\9c ¡#;\16ì\14à\0\ 4\1a\80\1a\80\1f\80\1c×\1f\80 H\1fc\1a§\1eâ\14g\1c×\1fc\1c×\1fc\1c×\1fc"_.æ\1f\15\14V/\v\19\11CONSTANT\b\800é2ö\17æ0é\9d
+0ó(4\9d\13\1fc"_\19\11VARIABLE\b\801K2ö\18\f\9d
+0ó(4\9d\19\1fc"\0\0\801\80_\19\11USER\ 4\801k2ö\1eù\eñ\9d
+0ó(4\9d\1f\1f\80"_\19\11:A\801\87\19Ã\14L\9d
+&Р³0ó(4\9d
+",\19\11;A\801 2ö\0\0\0\0\9d
+'
+'G\19\11"_"\15\19\11."B\801»2ö\0\0\0\0\9d
+\1cé\1e\14\1a¹\14|\0",ï,Þ\1fÇ\14÷\0\1c'G##\1f&\1al\1aç\1c\0\0\802\0\84\1a§\1fL\17ð\1cé\1e\14\1a¹\14à\0\ 4"\94\19\11[COMPILE]I\801Õ2ö"\v""\9d
+.T\1a\80\1a§\19\8c\1c×&\97 i\1fc\19\11INTERPRET    \802 2ö\0\0\15e\9d
+.¢\1a\80\1f±\14÷\0:\1a§ i\1a\92\1aç\1a§\eD\14|\0@\18\8c\1fÇ\18\8c\14÷\0\b\1a\80\1fc\14à\00\14\0\0\802\80|\0\80\18\8c\1fÇ\eD\18\8c\14|\0\11&\97\14©\14à\0\18,Þ,x\1ez\14V\19£\14÷\0\b\1a\80\16/\14à\0\ 2\16h(G\14àÿ\9eQUIT\ 4\802G2ö\0\0\0\0\9d
+\1c×\1e\ 5\14g"\15/\9b\18ú\16ì-Á2Q\1fÇ\14Èÿð##\ 3 OK\14àÿæBIFC\802¹2ö1 \1fÕ\9d`2êASSEMBLE\0\0\803\0RI\802ê2ö\0\0\0\0\9d`\0\0DEFINITIONS\v\803\ 1\0\0\0\0\9e\0ì\ eí\88\10n±ABORT\ 5\803\1a\0\0\0\0\9d
+/\87\18ã â\1c×%ö\16ì##\r6809 BIF V1.02ô3$2ÃVOCABULARY
+\80322ö\0\0\0\0\9d
+0ó(4\9d`\1c×\1fc\0\0\803\80"_\19\11(A\03j2ö)¥${4 \10\9e\0Ì\0)6\ 6\9d
+,ï"ந.&\ 4®$ 
+6\10\9d
+(ß"à7\10ì¨*¦\8b'\r\81)&×\&\ 3l¨*ç¨+5 n±DAD\ 3\803\85\0\0\1c\1c4 7 æ¤Ä\1f\1f\98@0¦J2æO§å6\106F4\14\9d
+\17ð"à0c6\10®$6\10\9d
+\0\0\804\0\17v"à®Ø\ 2&\bÌ\0\196\ 6~+\14\10¬Ø\ 2'\b0\b3B¯Ä ß5\14¯D\2å5 n±REPEAL\ 6\803Í2ö\0\0\0\0\9e\0\10®\88\12\10¬
+#=ì"í\88\12ì$6 1,\10¬\ e&\ 2í\ e\10¬\88\10&\ 3í\88\10\10®ÄÌ\0\0\10¬\88@&\ 3í\88@\9d
+3×"à3BÌ\0\0íÑ7\ 6\0\0b4\80\9e\0í\f5 n±FORGET\ 6\80402ö\1eÄ u\9d
+.T"à4 3B\10®Á&\bÌ\0\06\ 6~+\14\9e\0\10¬
+"\ 5Ì\0\15 ïæ!Ä\80'\ 5Ì\0\1a ä\9e\0\10¬\88\12$\b\9d
+4:"à ð'\ 5Ì\0\e Í5 ~4:ÿ\0\0\0\0\0\0\0\0&O!'®Ä\8c\0ÿ#\bÌ\0\r6\ 6\16å\7fìDíįDìB£\0\0\80\1a\8aÄ-ìÃ\0\ 1íB6\16\17 \13¬\0\r\18-\1dÉ\1dÉ\1dê\18<\1d® «\18\ eUTIL0\ 1O6\ 6_6\ 66\ 66\10Ìÿÿ\9e\0í\88:\9d
+,!"à®Äæ\84'\1dÁ:'\bÁ-%\rÁ/"  0\ 1¯ÄÌ\0\0 ÚÌ\0\06\ 6~+\143B\9d
+\e\ f\14È\0\ 2\1aL\19\11WORDPAD\a\80,n2õ\0\0\0\0\9dU\16WORD\ 4\80,Ô2õ#Æ2\1f\10\9e\0ì¨.'\f6\ 6\9d
+(ß"\0\0\80-\0à7\ 6 \ 2ì$ã¨*7\10\1f\ 260\9d
+\15ý"à4 ìB£áãÄ\9e\0ã\88\88*7\ 6\10\83\0\1f#\ 3Ì\0\1f\10®\88\16ç o¥6&5 \9d
+\17ð\19\11BS\ 2\80,å2õ\14Ö\0\0\9dU(EXPECT\ 6\80-E2õ+
+ ý4 ìÄ\10®B\83\0\ 1->':0«¯Ä\9d
+\16\9f"àæA\9e\0á\88\0\0\80-\80)&\r\10¬D#\ 41? \13oA \ fÁ\r&\ 5\10¯B \ 6Á %ïç \9d
+\16\81\10¬Ä%Êo¤3D5 n±QUERY\ 5\80-X2õ'X\1a\88\9e\0Ì\0\0í\88\0\80®\ 46\16\9d
+-b\19\11@\80-·2õ\0\0\0\0\9e\0ì\88.'\eÃ\0\ 1í\88\0\0í\88\1d\89\88/&\b\9d
+&Ð\0\0\80.\0"à5 n±FIND\ 4\80-Ö2õ-X\1f\1cìBÃ\0\ 1íBìÄ®B6\16\9d
+\15Å"àìÄ&\ f®Dì\18\10£D'\ 63DíÄ ãìØ\ 23DíBn±-DFIND\ 6\80.
+2õ\0\0\0\0\9d
+\1f\15\1dõ\1d-,ï\14V\1a\92\14V\1al\1al\19c\14÷\0\ 6\1a\80\14à\0\16\1a\92.\14\1al\14÷\0\ 6\e\0\0\80.\80\ f\1a\80\19\11\1a\80\1a\80\1a\92.\14\19\11-IFIND\ 6\80.I2õ\0\0\0\0\9d
+\1dõ\1f\15\14àÿ®NAME,\ 5\80.\97\0\0\0\0\9d
+,Þ"\94\196\1f&\19U\1fL\19U\17ð\1f&\19H\19\11FORE-MARK        \80.°2õ\1dF4\8d\9e\0ì\88@' ®\88\12æ\ 1Ê\80ç\ 1n±(INSTALL)\0\0\80/\0\89\80.\97\0\0\0\0®Ä&\bÌ\0\186\ 6~+\14\10®Bæ¤Ä\1f\1f\98@1¦J2æO§å6 6F4\ 4\9d
+\17ð"à®Ä1a60\9d
+\15Å"àìÁ'\16®Ñ\8c-Ö&\ 5Ì\0\1c ¿æ\84Ê ç\840\b Þ5\ 4\2å®Ä&\ 5Ì\0\19 §ìB\10®D\10¯\84í$3F5 n±0!\ 2\80/\0\0\0\80/\80\0\0\0\0Ì\0\0ý\0\0n±?0\ 2\80/|2õ\0\0\0\0ü\0\0&\ 2n±Ì\0\ 56\ 6\9e\0¦\b\8a\80§\b~+\14QUICK\ 5\80/\90+P+W\0\0\10\9e\0ì¨0®¨44\167\ 6í¨0Ì\0\0í¨4\9d
++\8e+­+a\16\9f"àæAÁ\ 3'8\9d
++Ð+a+\8e"àìB&\ 4æÑ \19Á\&\b\0\0\800\0\9d
+\16\9f"à7\ 6çÑl¨5¦¸&\8a\80§¸&OíÄ\9d
+\16\81+a\14àÿ¾3B5\16í¨0¯¨45 n±NODE.\ 5\80/¶2õ\0\0\0\0\9d
+\1a§#;\1f\9c\1c×*b\16ì\16Õ\1a§\19£\14÷\0\ 4\1a\80\16\9f\19\11VISIT\ 5\80052õ\0\0\0\0\10\9e\0®¨>4\16\10ï¨>®Á7\ 6'8\0\0\800\80®\84'4Ã\0
+íä4\10\11¬ "\ 5Æ\v~(w®\ 6\11¬¨>$\19®äì¸>6\16\9d
+\14©(G"àìÁ+\ 65\10®\b ß\10î¨>5\16¯¨>5 n±VLIST\ 5\800b+P0b3i\9d
+\14|05\1dõ\14V0l\19\11CREATE\ 6\800Ê2õ\16â\1e\90\9d
+.S\1al\14÷\0\18\1a\92#;\0\0\801\0\1f\9c\14|\0\ 4\1f\9c ¡#;\16ì\14à\0\ 4\1a\80\1a\80\1f\80\1c×\1f\80 H\1fc\1a§\1eâ\14g\1c×\1fc\1c×\1fc\1c×\1fc"_.å\1f\15\14V/
+\19\11CONSTANT\b\800è2õ\17æ0è\9d
+0ò(4\9d\13\1fc"_\19\11VARIABLE\b\801J2õ\18\f\9d
+0ò(4\9d\19\1fc"_\0\0\801\80\19\11USER\ 4\801j2õ\1eù\eñ\9d
+0ò(4\9d\1f\1f\80"_\19\11:A\801\86\19Ã\14L\9d
+&Р³0ò(4\9d
+",\19\11;A\801\9f\0\0\0\0\9d
+'
+'G\19\11"_"\15\19\11."B\801º2õ\0\0\0\0\9d
+\1cé\1e\14\1a¹\14|\0",ï,Þ\1fÇ\14÷\0\1c'G##\1f&\1al\1aç\1c\84\0\0\802\0\1a§\1fL\17ð\1cé\1e\14\1a¹\14à\0\ 4"\94\19\11[COMPILE]I\801Ô2õ"\v""\9d
+.S\1a\80\1a§\19\8c\1c×&\97 i\1fc\19\11INTERPRET    \802\1f\0\0\15e\9d
+.¡\1a\80\1f±\14÷\0:\1a§ i\1a\92\1aç\1a§\eD\14|\0@\18\8c\1fÇ\18\8c\14÷\0\b\1a\80\1fc\14à\00\14|\0\0\802\80\0\80\18\8c\1fÇ\eD\18\8c\14|\0\11&\97\14©\14à\0\18,Þ,x\1ez\14V\19£\14÷\0\b\1a\80\16/\14à\0\ 2\16h(G\14àÿ\9eQUIT\ 4\802F2õ\0\0\0\0\9d
+\1c×\1e\ 5\14g"\15/\9a\18ú\16ì-Á2P\1fÇ\14Èÿð##\ 3 OK\14àÿæBIFC\802¸2õ1\9f\1fÕ\9d`2éASSEMBLER\0\0\803\0I\802é2õ\0\0\0\0\9d`\0\0DEFINITIONS\v\803\0\0\0\0\0\9e\0ì\ eí\88\10n±ABORT\ 5\803\19\0\0\0\0\9d
+/\86\18ã â\1c×%ö\16ì##\r6809 BIF V1.02ó3#2ÂVOCABULARY
+\80312õ\0\0\0\0\9d
+0ò(4\9d`\1c×\1fc"\0\0\803\80_\19\11(A\03i2õ)¥${4 \10\9e\0Ì\0)6\ 6\9d
+,ï"ந.&\ 4®$ 
+6\10\9d
+(ß"à7\10ì¨*¦\8b'\r\81)&×\&\ 3l¨*ç¨+5 n±DAD\ 3\803\84\0\0\1c\1c4 7 æ¤Ä\1f\1f\98@0¦J2æO§å6\106F4\14\9d
+\17ð"à0c6\10®$6\10\9d
+\17\0\0\804\0v"à®Ø\ 2&\bÌ\0\196\ 6~+\14\10¬Ø\ 2'\b0\b3B¯Ä ß5\14¯D\2å5 n±REPEAL\ 6\803Ì2õ\0\0\0\0\9e\0\10®\88\12\10¬
+#=ì"í\88\12ì$6 1,\10¬\ e&\ 2í\ e\10¬\88\10&\ 3í\88\10\10®ÄÌ\0\0\10¬\88@&\ 3í\88@\9d
+3Ö"à3BÌ\0\0íÑ7\ 6\9e\0\0a4\80\0í\f5 n±FORGET\ 6\804/2õ\1eÄ u\9d
+.S"à4 3B\10®Á&\bÌ\0\06\ 6~+\14\9e\0\10¬
+"\ 5Ì\0\15 ïæ!Ä\80'\ 5Ì\0\1a ä\9e\0\10¬\88\12$\b\9d
+49"à ð'\ 5Ì\0\e Í5 ~49ÿ\0\0\0\020      FDB BLOCK\r02130         FDB XMACH\r02140         PULU D\r02150    BRA *+4 UTIB < 16!\r02160\0\0u\12
+®ä\10¯ä\1f\12n±ìñ6\ 6n±5\ 66\ 6n±æñOÓ\06\ 6n±5\10ìÄ£\84\10£\ 2%\bÌ\0\f6\ 6~+\144\ 2¦\ 4=íÄ5\ 2æ\ 4=\1f\98«ÄæA0\ 50\8b¯Än±\9e\0æñOì\8b6\ 6\9e\05\ 6í\ en±®äì\816\10\10¯ä\1f\ 2n±5\10ì\81®\816\16\0\0\80\13\0\12~\13:\12~\13æh    \0\04\8e\0\bzYyUzWz­\0\1f\0\ 14á4â2ö{p{-\0 {ð\80\0COLD\ 4\80\0\0\0\0\0\01\8d\0y\1eR\7f\0qì<í\88\12ì,í
+ì.í\fì¨\10í\ eí\88\106\ 6\8d\11Ì+P6\ 6\8d
+Ì3\r6\ 6\8d\ 3~\13ë46\10\9e\0®Á'?ì\84';\10£*#\aÌ\0\0\80\13\80\0\0í\84 /\1f\ 1Ì\0\04\ 6ì\b'\ e\10£*#\aÌ\0\0í\b \ 24\ 6ì\ 6'\ e\10£*"\ 4\1f\ 1 áÌ\0\0í\ 6®á&Ø5¶\10ÎzW4\ 1\1aP4 Ì\12\0\1f\8b\10\8e\13\10®¤\9f\0ÎyUÌ\0\0ý\0\09WARM\ 4\80\1302ö0Ë\1d¹1\8cÎ\1eRì"í\0í\88 ì$í\ 2ì>í\88(ì&í\ 4ì\0\0\80\14\0\b\10ì"í\88\14í\88"ì$í\88\16ì&í\88\18ì(í\88\1aí\88\88&ì*í\88\1cÌ\0\10í\88\1eÌ\0\0í\98\ 2í\98\0\86*1\88*ç J&û5\ 1\1cï\9d
+%\963<@\ 1\80\13Ü2ö\19Y\18\82ìÔíÄn±!\ 1\80\14L2ö-× ©ìBíÔ3Dn±LIT\83\80\14]2ö\0\0\0\0ì¡6\ 6\0\0\80\14\80n±DLIT\84\80\14r2ö\0\0\0\0ì¡®¡6\16n±EXECUTE\87\80\14\86\0\0\0\0®Á'\ 2n\84Ì\0        6\ 6~+\141BRANCH\87\80\14\9f\0\0\0\0ìÁ&\141"n±BRANCH\86\80\14¾2ö\0\0\0\0ì¡1«n±0BRANCH\87\80\14Ö2ö\0\0\0\0ìÁ'å1"n±(\0\0\80\15\0LOOP)\86\80\14í2ö\0\0\0\0Ì\0\ 1ãäíä£b-Æ1"2dn±(+LOOP)\87\80\15\ 5\0\0\0\0ìÁ*Ýãäíä£b.£ Û(DO)\ 4\80\15'2ö\0\0\0\07\164\16n±I\ 1\80\15C2ö\1e¯#1ìä6\ 6n±J\ 1\80\15T2ö(*\0\0ìd6\ 6n±DIGIT\ 5\80\15e2ö\0\0\80\15\80 Ø\16^æCÁ9#\14ÁA% ÁZ#
+Áa%\18Áz"\14À\ 6À\aÀ0áA$
+OíBÌÿÿíÄn±3BÌ\0\0 õ(FIND)\ 6\80\15z2ö*õ"ÖìÄ'\1f\9d
+\17v"à3B®Ô'\ fæ\84Ä '\ 60\b¯Ä è\8eÿÿìįÄíBn±ENCLOSE\a\80\15»2ö%\8c\0\0®Bæ\0\0\80\16\0\80'\ 4áA'ø0\1f¯Bæ\80'\ 4áA&ø\1f\10\83\0\ 1£BíÄn±LITERALG\80\15ó2ö\14r'\95\8d\11Ì\14|í¡7\ 6í¡\10¯\f5 ~\1f,\9e\0æ\889ÄÀ5\ 6&\ 2n±4 \10®\f\1e\ 5DLITERALH\80\16%2ö\14\86\1aB\8dØÌ\14\90í¡7\ 6 ÁEMIT\ 4\80\16^2ö\1a\9d\15\0\0\80\16\80ó7\ 6\1f\98_4h\1f\9b­\9f \ 25hn±KEY\ 3\80\16w2ö\1e
+\1dX4h_\86Ï\1f\9b\9e\88æ\84§\84­\9f \0'úç\84_\81\ 3&\ 1S\1e\895h6\ 6n±?TERMINAL \80\16\952ö(=\0\04h_\1f\9b­\9f \0 ÔCR\ 2\80\16Ë2ö"\8a\0\0Æ\r \93(;CODE)\87\80\16â2ö\0\0\0\0\0\80\17\0\0\9e\0®\88\120
\8d\0    §\80\10¯\815 n±½\0\0>PRT\ 4\80\16÷2ö\0\0\0\0Æþ÷\0on±>VID\ 4\80\17\1c\0\0\0\0\7f\0on±2*\ 2\80\1712ö\0\0\0\0hAiÄn±2/\ 2\80\17B2ö\1c¹\1d\13gÄfAn±(REFIND)\b\80\17T2ö\0\0\0\0Ì\0\f4&®Ä'# \0\0\80\17\802\10®Bæ\84Ä\1f'\ e\1f\98@0\86¦  \80&\rZ&÷¦¤&\ 65&6\ 6n±®ÔM+\ 4Æ\b \ 2Æ\ 60\85ça¯Ä®\84&Ê ãMOVE\ 4\80\17l2ö\1a\97ìÁ'\124`\10®ÄîB7\10¯¡\83\0\ 1&÷5`3Dn±CMOVE\ 5\80\17½2ö _'=Ì\0\0£Á4"70'\v¦ §\80\\0\0\80\18\0&ùlä&õ5"n±U*\ 2\80\17æ2ö\1aÉ%i2|¦AæC=íb¦ÄæB=íäìA=ãa$\ 2läía¦ÄæC=ãa$\ 2läía5\16íįBn±U/\ 2\80\18\f\0\0\0\0\86\114\ 2ìB\10£Ä$\ 4\1cþ \ 4£Ä\1a\ 1iEiDjä'\ 6YI$ç î2a3B®BíB¯Än±A\0\0\80\18\80ND\ 3\80\18H2ö!²\e\1f7\ 6äA¤ÄíÄn±OR\ 2\80\18\822ö ë\1e\1a7\ 6êAªÄíÄn±XOR\ 3\80\18\98\0\0\0\07\ 6èA¨ÄíÄn±SP@\ 3\80\18¯2ö\18Ù\0\0\1f16\10n±SP!\ 3\80\18Æ2ö\0\0\0\0\9e\0î\0oÄoAn±RP!\ 3\80\18Ù2ö\0\0\0\0\9e\0\10î\ 2o\0\0\80\19\0äoan±;SB\80\18ð2ö\0\0\0\05 n±LEAVE\85\80\19\a2ö > Nìäíbn±>R\82\80\19\1a\19¯*\987\ 64\ 6n±R>\82\80\19,2ö\19K#ð\ e\19R\ 1\80\19>2ö2¹\1e\9f~\15^=\ 1\80\19K2ö\19m&©7\ 6\10£Ä'& ;<\ 1\80\19Y2ö(\r)\8fìB\10£Á-\12 '\0\0\80\19\800=\ 2\80\19m2ö\0\0\1cßìÄ&\17ÌÿÿíÄn±0<\ 2\80\19\82\1cÍ\19\82¦Ä+éÌ\0\0íÄn±>\ 1\80\19\99\0\0\17\1cìB\10£Á.Рå+\ 1\80\19¯2ö3\85$¯7\ 6ãÄíÄn±-\ 1\80\19Ã2ö\0\0\0\0ìB£ÁíÄn±D+\ 2\80\19Ö2ö1K!ÈìFãBíFìDéA©Ä\0\0\80\1a\03DíÄn±D-\ 2\80\19ê2ö!\9d*XìF£BíFìDâA¢Ä3DíÄn±MINUS\ 5\80\1a\b\0\0$ÆÌ\0\0£ÄíÄn±DMINUS\ 6\80\1a)2ö\0\0\0\0Ì\0\0£BíBÌ\0\0âA¢ÄíÄn±OVER\ 4\80\1aB2ö\18\98 \86ìB6\ 6n±DROP\ 4\80\1ab2ö\1ep\16w\0\0\80\1a\803Bn±SWAP\ 4\80\1av2ö\e\ 51k7\166\ 66\10n±DUP\ 3\80\1a\88\0\0\1fõìÄ6\ 6n±+!\ 2\80\1a\9d\0\0\0\07\10ì\84ãÁí\84n±TOGGLE\ 6\80\1a¯2ö\1d¥"ê7\16è\84ç\84n±C@\ 2\80\1aÉ2ö(\83\19êæÔOíÄn±C!\ 2\80\1aÝ2ö\0\0\0\0æCçÔ3D\0\0\80\e\0n±ROT\ 3\80\1að2ö\19>"U4 766\166 5 n±BACK\84\80\e\ 5\1dj#m\9e\07\ 6£\f\83\0\ 26\ 6~\1fcNOT\ 3\80\e\1f2ö06\0\0ìÄSCíÄn±'A\80\e:2ö*\11\0\0\9d
+.T\1a\80\1a§\19\8c\1c×&\97\16/\19\11-->C\80\eM2ö'w*\85\9d
+'*\1c×\1e\14\14g\0\0\80\e\80\1d\87\1e\ 5\14V\1al$Ð\19à\1e\ 5\1a¹\19\111ARRAY\ 6\80\el2ö\1c\8f\14¾\9d
+0ó(4\9d("à®Ä\8c\0ÿ#\bÌ\0\r6\ 6\16\ fYìDíįDìB£Ä-ìÃ\0\ 1íB6\16\9d
+\18\16\14|\0\r&\97\196\1fc\1fc\1f\80\19H\1fL"_\19\11UTILITIESI\80\e\98\0\0\0\0\9d`\1c\ 2D\0\0\80\1c\0P@\ 3\80\eñ\eý\0\0\0\0\1f¸_6\ 6n±DCONSTANT      \80\1c\ 2\0\0\0\0\9d
+0ó(4\9du\1fc\1fc"_\19\11SWAB\ 4\80\1c\1c\0\0\1cPìÄçħAn±SWAN\ 4\80\1c:2ö\0\0\0\0¦AæADVDVDVDVçA¦ÄæÄDVDVDVDVçÄn±1+\ 2\80\1cP2ö\0\0\80\1c\80\19\99\1c¤Ì\0\ 1ãÄíÄn±1-\ 2\80\1cz2ö\0\0\0\0ÌÿÿãÄíÄn±2+\ 2\80\1c\8f\1d\ 4\17\0\ 2ãÄíÄn±2-\ 2\80\1c¤2ö\0\0\0\0ÌÿþãÄíÄn±0\ 1\80\1c¹2ö$\91/}Ì\0\06\ 6n±1\ 1\80\1cÍ2ö\14í\0\0Ì\0\ 16\ 6n±-1\ 2\80\1cß2ö\0\0.JÌÿÿ6\0\0\80\1d\0\ 6n±2\ 1\80\1cò2ö\e\98\17B\9d\13\0\ 23\ 1\80\1d\ 4\0\0\0\0\9d\13\0\ 3BL\ 2\80\1d\13\0\0\0\0\9d\13\0 C/L\ 3\80\1d#2ö\0\0\0\0\9dU\18FIRST\ 5\80\1d42ö\0\0\1e\80\9dU\1aLIMIT\ 5\80\1dF2ö\19\1a\16%\9dU\1cB/BUF\ 5\80\1dX2ö3\ 1\1d}\9d\13\ 1\0B/SCR\ 5\80\1d\0\0\80\1d\80j2ö\0\0\0\0\9d\13\0\ 4+ORIGIN\a\80\1d}2ö\0\0\0\0Ì\13\0\16ü-TIB\ 3\80\1d\92\0\0\0\0\9d\1f\ 4WARNING\a\80\1d¥2ö\0\0\0\0\9d\1f\bFENCE\ 5\80\1d¹2ö\0\0\0\0\9d\1f
+DP\ 2\80\1dË2ö'ê\0\0\9d\1f\fROOT\ 4\80\1dÚ2ö\0\0\0\0\9d\1f\ eBLK\ 3\80\1dë2\0\0\80\1e\0ö!0(Õ\9d\1f.IN\ 2\80\1dû2ö"A2G\9d\1f*OUT\ 3\80\1e
+2ö\0\0\0\0\9d\1f,SCR\ 3\80\1e\1a\0\0\0\0\9d\1f2OFFSET\ 6\80\1e*2ö\0\0\0\0\9d\1f6STATE\ 5\80\1e=2ö)m\1c:\9d\1f8BASE\ 4\80\1eO2ö\0\0\0\0\9d\1f\1eDPL\ 3\80\1e`2ö\1dÚ%Ì\9d\1f:FLD\0\0\80\1e\80\ 3\80\1ep2ö\0\0\0\0\9d\1f<CSP\ 3\80\1e\80\0\0\1eØ\9d\1f R#\ 2\80\1e\90\0\0&\12\9d\1f4HLD\ 3\80\1e\9f2ö ½!D\9d\1f"FOREWARD\b\80\1e¯2ö\0\0\0\0\9d\1f@CURRENT\a\80\1eÄ2ö\0\0\0\0\9d\1f\12PREV\ 4\80\1eØ2ö\0\0\0\0\9d\1f&USE\ 3\80\1eé2ö\0\0\0\80\1f\0\0\0\0\9d\1f$DROOT\ 5\80\1eù2ö\0\0\0\0\9d\1f\10HERE\ 4\80\1f\v2ö.Ü\15T\9e\0ì\f6\ 6\9e\0\11£\f#\ 2n±Ì\0\ 26\ 6~+\14ALLOT\ 5\80\1f\1c2ö#\88\0\0\9e\0ì\f+ããÁí\f Ô,\ 1\80\1fB2ö\1d\92\19Ö7\ 6\10\9e\0®,í\81¯,5  ¸C,\ 2\80\1fY2ö\1að\1d4\0\0\80\1f\807\ 6\10\9e\0®,ç\80 áSPACE\ 5\80\1fv2ö\18Æ\1e\8dý\90\16öà-DUP\ 4\80\1f\92\1cò"¨ìÄ'\ 26\ 6n±?CST\ 4\80\1f§2ö'\0&\8d\9e\0æ\889ÄÀO6\ 6n±IFÂ\80\1f½2ö$\ e\9d
+'G\14÷\1f&\1c×\1fc\14|IF\19\11ELSEÄ\80\1fÕ2ö+D\0\0\9d\0\0\80 \0
+\1a§\14|IF&ì'G\14à\1f&\1c×\1fc\e\ f#[\1a\92\19\11ENDIFÅ\80\1fõ2ö\1av.\v\9d
+&³\14|IF&ì#[\19\11LATEST\ 6\80  2ö\0\0\0\0\9dU\12LFA\ 3\80 >2ö\0\0\0\0Æ\ 2 \ fCFA\ 3\80 N2ö\0\0\0\0Æ
+\1dãÄíÄn±GFA\ 3\80 _2ö\0\0\0\0Æ\0\0\80 \80\ 4 èPFA\ 3\80 u2ö!d\1eéÆ\f ×NFA\ 3\80 \862ö.±\e:Æô Æ!CSP\ 4\80 \97\0\0\9e\0ï\88 n±HEX\ 3\80 ©2ö\0\0\0\0Æ\10O\9e\0í\88\1en±DECIMAL\a\80 ½2ö3Í3\1aÆ
+ ãOCTAL\ 5\80 Ø2ö\0\0\1e\b ÐFILL\ 4\80 \0\0\80!\0ë2ö\1dË#Q4 76ç 0\1f&ú5 n±ERASE\ 5\80 ý2ö\0\0\0\0Æ\06\ 6 ÝBLANKS\ 6\80!\1a\1d#\0\0Æ 6\ 6 ÇHOLD\ 4\80!02ö\0\0\0\07\ 6\10\9e\0®¨"ç\82¯¨"5 n±PAD\ 3\80!D2ö\0\0\0\0\9dU\14S->D\ 4\80!d2ö\18ð)Ä3\0\0\80!\80^ìB\16ø\1f+-\ 2\80!u2ö\1a¯%2ìÁ\10\9bn±D+-\ 3\80!u2ö\0\0\0\0ìÁ\10\9fn±ABS\ 3\80!\9d2ö32\1fBìÄ\10+øqn±DABS\ 4\80!²2ö\1a\b\15zìÄ\10+øtn±MIN\ 3\80!È2ö%\ e\17½7\ 6\10£Ä,\ 2íÄn±MAX\ 3\80!Ý2ö\0\0\0\07\0\0\80"\0\ 6\10£Ä/\ 2íÄn±[A\80!õ2ö\18¯\0\0Æ?\9e\0ä\88\889n±]\ 1\80"\v\0\0\0\0ÆÀ\9e\0ê\88\889n±IMMEDIATE   \80""2ö\0\0\0\0Æ@ \12SMUDGE\ 6\80"A2ö!u\1f\92Æ \9e\0è\98\12ç\98\12n±COMPILE-ONLY\f\80"U2ö\0\0\0\0\0\80"\80\0Æ\80 ÜCOUNT\ 5\80"w2ö\0\0\0\0®Äæ\80¯ÄO6\ 6n±-TRAILING     \80"\8a2ö.\98\0\0ìÄ®B0\8b\86 ¡\82&\ 4¬B$ø\1f\10£BÃ\0\ 1íÄn±(MACHINE)\89\80"¨2ö)*,\17\1f!5 n\84TYPE\ 4\80"Ö2ö\0\0\0\0ìÄ'\19ãBíÄ®Bæ\80\0\0\80#\0¯BO6\ 6\9d
+\16\81"à®B¬Ä%í3Dn±(.")\84\80"ê2ö\15'\16÷æ O\1f!1«6\16 ÆID.\ 3\80#\19\0\0\0\07\10æ\84Ä\1fP0\85PO6\16 ªFILL-IN\87\80#12ö\0\0\0\0\9e\0ì\f£Ä\83\0\ 2íÑn±BEGINÅ\80#Q2ö\1e`\0\0\9d
+&³\1f&\14|B\0\0\80#\80E\19\11AGAINÅ\80#m2ö\0\0\0\0\9d
+\14|BE&ì'G\14à\e)\19\11UNTILÅ\80#\88\18H\0\0\9d
+\14|BE&ì'G\14÷\e)\19\11WHILEÅ\80#§2ö\13Ü,Ô\9d
+\1a§\14|BE&ì'G\14÷\1f&\1c×\1fc\14|WH\19\11REPEATÆ\80#Æ2ö40\1dë\9d
+\14|WH\0\0\80$\0\196#\92\19H#[\19\11DOÂ\80#Æ2ö\1aÝ  \9d
+'G\15M\1f&\14|DO\19\11M*\ 2\80$\ e\0\0$NìĨB4\ 6\9d
+!¼\1a\92\18\16"àìá\10\ 2n±M/\ 2\80$(2ö\0\0\0\0\9d
+\1al\196\196!Ò\19U!¼\18R\19H\19U\18¹!\92\1a\92\19H!\92\1a\92\19\11*\ 1\80$N2\0\0\80$\80ö\15»$Ý\9d
+\18\16\1a\80\19\11/MOD\ 4\80${2ö\0\0\0\0ìÄ6\ 6ÌÿÿmD+\ 3Ã\0\ 1íB\16ÿª/\ 1\80$\91\el\1cz\9d
+$\9b\1a\92\1a\80\19\11MOD\ 3\80$¯2ö\0\0\0\0\9d
+$\9b\1a\80\19\11*/MOD\ 5\80$Æ2ö$õ\0\0\9d
+\196$2\19H$X\19\11*/\ 2\80$Ý2ö\0\0\0\0\9d\0\0\80%\0
+$ç\1a\92\1a\80\19\11M/MOD\ 5\80$õ2ö$(*¯\9d
+\196\1c×\19U\18R\19H\1a\92\196\18R\19H\19\11+BUF\ 4\80%\ e\0\0\0\0\9e\0ü\1d\0\ 4ãÄ\10£\88\1c%\ 3ì\88\1aíÄ\10£\88&'\ 5Ìÿÿ \ 3Ì\0\06\ 6n±UPDATE\ 6\80%22ö#§1\87\9e\0ì\98&\8a\80í\98&n±E\0\0\80%\80MPTY-BUFFERS\r\80%i2ö\0\0\0\0\9e\0ì\88\1c\83\0\ 14&®\88\1a\10\8e\0\0ü\1dv¬ä$\ e\10¯\810\8b¬ä$\ 5\10¯\81 î5&n±DRIVE-OFFSET\f\80%\8c2ö%ì\1f\v\9d(\0\0\0\ 4\ 2\ 2v\ 2v\80\0\80\0\80\0DRIVE\ 5\80%Ì2ö\0\0\0\0\8e%ÝÌ\0\0ã\81+\ 6\0\0\80&\0jA*ø£\1e\9e\0í\8863Bn±R/W\ 3\80%ì2ö\0\0\0\04h\10¾À\ 6\8e%ÝìB£\81$ü(\bÌ\0\ 66\ 6~+\14ã\834\106\ 6Ì\0\126\ 6\9d
+$\9b"à7\ 6ç"7\ 6\ç#5\ 6\83%ÝWç!ìDí$Æ\ 2®Ä&\ 1\ç¤O\1f\8b­\9fÀ\ 45h3F¾À\ 6æ\ 6'\ f\9e\0Ì\0\0í\bÌ\0\b\0\0\80&\806\ 6~+\14n±?ERROR\ 6\80&\12\0\0\0\07\10ìÁ&\ 2n±6\10~+\14?COMP\ 5\80&\8d\19,&Æ\9e\0æ\889ÄÀ&>Ì\0\11 4?EXEC\ 5\80&©2ö\1f½&â\9e\0æ\889'#Ì\0\12 \19?PAIRS\ 6\80&Æ2ö' \16Ë7\ 6£Á'\bÌ\0\136\ 6~+\14n±?CSP\0\0\80'\0\ 4\80&â2ö\0\0\0\0\9e\0\1f\88 'çÌ\0\14 Ý?LOADING\b\80'\0\0\0\0\0\9e\0ì\88.&ÉÌ\0\16 ¿COMPILE\a\80' 2ö\130"w\9d
+&³"àì¡6\ 6~\1fcLOOPÄ\80'=2ö\16\95,n\9d
+\14|DO&ì'G\15\ f\e)\19\11+LOOPÅ\80'X2ö!\88\1f\0\0\80'\80Y\9d
+\14|DO&ì'G\151\e)\19\11LOAD\ 4\80'w2ö\0\0\0\0\10\9e\0ì¨*®¨.4\16Ì\0\0í¨*\9d
+\1d\87$\85\1e\ 5\14g2Q"à5\16í¨*¯¨.5 n±<BUILDS\87\80'\95\0\0\0\0\9d
+\1c×1U\19\11DOES>\85\80'Ó2ö\0\0\0\0\9e\0®\88\12ì\8d\0  í
+\10\0\0\80(\0¯\f5 n±\9dh;CODEÅ\80'ê2ö1»\19\a\9d
+'
+'G\17\ 1"\153\v ³\19\11IP,\83\80(\r\0\0\0\0~'M?STACK\ 6\80(*2ö\0\0\0\0\9e\0\11¬\ 2#\ 4Æ
+ %ì\98\ 2\11¬\0"\ 4Æ\v \17ì\98\0&\ 5\11£\0#\ 4Æ\ 1   \11£\f#\ 2n±Æ\aO6\ 6~+\14BUF\0\0\80(\80FER\ 6\80(=2ö\1dû\1fv4 \10\9e\0ì¨$4\ 66\ 6\9d
+%<\14÷ÿú"à7\ 6í¨$®äì\84*\11\84\7f0\ 26\16Ì\0\06\ 6\9d
+&\1c"à7\ 65\10í\84¯¨&0\ 26\105 n±BLOCK\ 5\80(\83\0\0-E4 \10\9e\0ì¨6ãÄíÄ®¨&ì\84\84\7f\10£Ä'"6\10\9d
+%<\14È\0\0\0\80)\0\12\1a\80\1a§(\8d\1al\1al\1a\92\1cü&\1c\1cÃ"à7\10 Õ¯¨&0\ 2¯Ä5 n±(LINE)\ 6\80(Õ2ö/\ 1\15\ 5\9d
+\196\1d>\1dt$ç\19H\1d\87$\85\19Í(ß\19Í\1d>\19\11.LINE\ 5\80)*2ö1Õ*n\9d
+)4"²"ô\19\11SPACES\ 6\80)S2ö\0\0\0\0ìÄ.\ 43Bn±\9d\0\0\80)\80
+\1c×\15M\1f\9c\15\ fÿú\19\11<#\ 2\80)m2ö\0\0\9e\0ì\88\14í\88"n±#>\ 2\80)\8f\14]\eM\9e\0ì\88\14£\88"íÄì\88"íBn±SIGN\ 4\80)¥2ö\1e*\0\0\9d
+\e\ f\19£\14÷\0\ 6\14|\0-!N\19\11#\ 1\80)Ä2ö\0\0\0\0\9d
+\1ej\14V%\18\e\ f"àæAÁ  #\bÁñ#\0\0\80*\0\ 2Ë\ 6Ë\aË0çA\9d
+!N\19\11#S\ 2\80)á2ö\0\0\0\0\9d
+)ë"àìB&öìÄ&òn±D.R\ 3\80*\11\0\0\0\0\9d
+\196\1a\92\1al!Ò)\99*\e)Î)¯\19H\1al\19à)w"ô\19\11D.\ 2\80*.2ö\0\0*.\9d
+\1c×*8\1f\9c\19\11.R\ 2\80*X2ö\0\0\0\0\9d
+\196!\7f\19H\0\0\80*\80*8\19\11.\ 1\80*n2ö\1f§)S\9d
+!\7f*b\19\11?\ 1\80*\85\171/\91ìÑ6\ 6 çMESSAGE\a\80)S2ö!õ\0\0\9d
+\1dÃ\14V\1cé\18\8c\14÷\0\1a\1f±\14÷\0\1f\14|\0\ 4\1eG\14V\1d\87\19à)]\14à\0\v##\ 6MSG # *\8f\19\11(ABORT)\a\80*¯2ö#\19\15C\9d\0\0\80+\0
+3<\19\11ERROR\ 5\80*õ2ö!\1a\14\9f\9d
+,Þ"\94"ô##\ 3 ? *¹\1dÃ\14V\19£\14÷\0\ 2*ÿ\18ã\1e\14\14V\1e\ 5\14V2Ã\19\11EDITORF\80+
+2ö\0\0\0\0\9d`+qQSYNC\ 5\80+D+P\0\0\0\0\9e\0æ\885\86\ 4ý\0\88n±EBLK\ 4\80+W+P+\84\9d\1f0CU\0\0\80+\80RSOR\ 6\80+W+P\0\0\0\0\9d
++{\14V(ß\1e©\14V\19Í\19\11QDUMP\ 5\80+\84+P+Æ/·4 7 \8e\ 4\0Oæ ç\80J&ù5 n±QARROW\ 6\80+£+P\0\0\0\0æA\86\ 40\8d\0\80'\1aJ&ùÁ\15&"\9d
++\8e"àÌ `§Ñç\9f\0\88Æÿ \ 2æ\ 3\9e\0ë\88\885\0\0\80,\0Ì\0\0íÄn±^
+\b      à ÿ\ 1(NUMBER)\b\80+Æ2ö\0\0\17l4 7 \9e\0æ O6\ 6ì\88\1e6\ 6\9d
+\15\84\14÷\0%\1a\92\1ej\14V\18\16\1a\80\e\ f\1ej\14V\18\16\19ô"à\9e\0ì\88:+ÑÃ\0\ 1í\88: É"à1?6 5 n±NUMBER\ 6\80,\172ö!Ý\1ab7\100\ 1æ\84À-\0\0\80,\80&\ 20\ 1O6\ 6_6\ 66\ 66\10Ìÿÿ\9e\0í\88:\9d
+,!"à®Äæ\84'\1dÁ:'\bÁ-%\rÁ/"  0\ 1¯ÄÌ\0\0 ÚÌ\0\06\ 6~+\143B\9d
+\e\ f\14È\0\ 2\1aL\19\11WORDPAD\a\80,n2ö\0\0\0\0\9dU\16WORD\ 4\80,Ô2ö#Æ2 4 \10\9e\0ì¨.'\f6\ 6\9d
+(ß"\0\0\80-\0à7\ 6 \ 2ì$ã¨*7\10\1f\ 260\9d
+\15ý"à4 ìB£áãÄ\9e\0ã\88\88*7\ 6\10\83\0\1f#\ 3Ì\0\1f\10®\88\16ç o¥6&5 \9d
+\17ð\19\11BS\ 2\80,å2ö\14Ö\0\0\9dU(EXPECT\ 6\80-E2ö+
+ ý4 ìÄ\10®B\83\0\ 1->':0«¯Ä\9d
+\16\9f"àæA\9e\0á\88\0\0\80-\80)&\r\10¬D#\ 41? \13oA \ fÁ\r&\ 5\10¯B \ 6Á %ïç \9d
+\16\81\10¬Ä%Êo¤3D5 n±QUERY\ 5\80-X2ö'X\1a\88\9e\0Ì\0\0í\88\0\80®\ 46\16\9d
+-b\19\11\0@\80-·2ö\0\0\0\0\9e\0ì\88.'\eÃ\0\ 1í\88\0\0í\88\1d\89\88/&\b\9d
+&\0\0\80.\0Ð"à5 n±FIND\ 4\80-×2ö-X\1f\1cìBÃ\0\ 1íBìÄ®B6\16\9d
+\15Å"àìÄ&\ f®Dì\18\10£D'\ 63DíÄ ãìØ\ 23DíBn±-DFIND\ 6\80.\v\0\0\0\0\9d
+\1f\15\1dõ\1d-,ï\14V\1a\92\14V\1al\1al\19c\14÷\0\ 6\1a\80\14à\0\16\1a\92.\15\1al\14÷\0\ 6\0\0\80.\80\e\ f\1a\80\19\11\1a\80\1a\80\1a\92.\15\19\11-IFIND\ 6\80.J2ö\0\0\0\0\9d
+\1dõ\1f\15\14àÿ®NAME,\ 5\80.\98\0\0\0\0\9d
+,Þ"\94\196\1f&\19U\1fL\19U\17ð\1f&\19H\19\11FORE-MARK        \80.±2ö\1dF4\8e\9e\0ì\88@' ®\88\12æ\ 1Ê\80ç\ 1n±(INSTALL\0\0\80/\0)\89\80.\98\0\0\0\0®Ä&\bÌ\0\186\ 6~+\14\10®Bæ¤Ä\1f\1f\98@1¦J2æO§å6 6F4\ 4\9d
+\17ð"à®Ä1a60\9d
+\15Å"àìÁ'\16®Ñ\8c-×&\ 5Ì\0\1c ¿æ\84Ê ç\840\b Þ5\ 4\2å®Ä&\ 5Ì\0\19 §ìB\10®D\10¯\84í$3F5 n±0!\ 2\80/\0\0\80/\80\ 1\0\0\0\0Ì\0\0ý\0\0n±?0\ 2\80/}2ö\0\0\0\0ü\0\0&\ 2n±Ì\0\ 56\ 6\9e\0¦\b\8a\80§\b~+\14QUICK\ 5\80/\91+P+W\0\0\10\9e\0ì¨0®¨44\167\ 6í¨0Ì\0\0í¨4\9d
++\8e+­+a\16\9f"àæAÁ\ 3'8\9d
++Ð+a+\8e"àìB&\ 4æÑ \19Á\&\0\0\800\0\b\9d
+\16\9f"à7\ 6çÑl¨5¦¸&\8a\80§¸&OíÄ\9d
+\16\81+a\14àÿ¾3B5\16í¨0¯¨45 n±NODE.\ 5\80/·2ö\0\0\0\0\9d
+\1a§#;\1f\9c\1c×*b\16ì\16Õ\1a§\19£\14÷\0\ 4\1a\80\16\9f\19\11VISIT\ 5\80062ö\0\0\0\0\10\9e\0®¨>4\16\10ï¨>®Á7\ 6'\0\0\800\80\84'4Ã\0
+íä4\10\11¬ "\ 5Æ\v~(w®\ 6\11¬¨>$\19®äì¸>6\16\9d
+\14©(G"àìÁ+\ 65\10®\b ß\10î¨>5\16¯¨>5 n±VLIST\ 5\800c+P0c3j\9d
+\14|06\1dõ\14V0m\19\11CREATE\ 6\800Ë2ö\16â\1e\90\9d
+.T\1al\14÷\0\18\1a\92#\0\0\801\0;\1f\9c\14|\0\ 4\1f\9c ¡#;\16ì\14à\0\ 4\1a\80\1a\80\1f\80\1c×\1f\80 H\1fc\1a§\1eâ\14g\1c×\1fc\1c×\1fc\1c×\1fc"_.æ\1f\15\14V/\v\19\11CONSTANT\b\800é2ö\17æ0é\9d
+0ó(4\9d\13\1fc"_\19\11VARIABLE\b\801K2ö\18\f\9d
+0ó(4\9d\19\1fc"\0\0\801\80_\19\11USER\ 4\801k2ö\1eù\eñ\9d
+0ó(4\9d\1f\1f\80"_\19\11:A\801\87\19Ã\14L\9d
+&Р³0ó(4\9d
+",\19\11;A\801 2ö\0\0\0\0\9d
+'
+'G\19\11"_"\15\19\11."B\801»2ö\0\0\0\0\9d
+\1cé\1e\14\1a¹\14|\0",ï,Þ\1fÇ\14÷\0\1c'G##\1f&\1al\1aç\1c\0\0\802\0\84\1a§\1fL\17ð\1cé\1e\14\1a¹\14à\0\ 4"\94\19\11[COMPILE]I\801Õ2ö"\v""\9d
+.T\1a\80\1a§\19\8c\1c×&\97 i\1fc\19\11INTERPRET    \802 2ö\0\0\15e\9d
+.¢\1a\80\1f±\14÷\0:\1a§ i\1a\92\1aç\1a§\eD\14|\0@\18\8c\1fÇ\18\8c\14÷\0\b\1a\80\1fc\14à\00\14\0\0\802\80|\0\80\18\8c\1fÇ\eD\18\8c\14|\0\11&\97\14©\14à\0\18,Þ,x\1ez\14V\19£\14÷\0\b\1a\80\16/\14à\0\ 2\16h(G\14àÿ\9eQUIT\ 4\802G2ö\0\0\0\0\9d
+\1c×\1e\ 5\14g"\15/\9b\18ú\16ì-Á2Q\1fÇ\14Èÿð##\ 3 OK\14àÿæBIFC\802¹2ö1 \1fÕ\9d`2êASSEMBLE\0\0\803\0RI\802ê2ö\0\0\0\0\9d`\0\0DEFINITIONS\v\803\ 1\0\0\0\0\9e\0ì\ eí\88\10n±ABORT\ 5\803\1a\0\0\0\0\9d
+/\87\18ã â\1c×%ö\16ì##\r6809 BIF V1.02ô3$2ÃVOCABULARY
+\80322ö\0\0\0\0\9d
+0ó(4\9d`\1c×\1fc\0\0\803\80"_\19\11(A\03j2ö)¥${4 \10\9e\0Ì\0)6\ 6\9d
+,ï"ந.&\ 4®$ 
+6\10\9d
+(ß"à7\10ì¨*¦\8b'\r\81)&×\&\ 3l¨*ç¨+5 n±DAD\ 3\803\85\0\0\1c\1c4 7 æ¤Ä\1f\1f\98@0¦J2æO§å6\106F4\14\9d
+\17ð"à0c6\10®$6\10\9d
+\0\0\804\0\17v"à®Ø\ 2&\bÌ\0\196\ 6~+\14\10¬Ø\ 2'\b0\b3B¯Ä ß5\14¯D\2å5 n±REPEAL\ 6\803Í2ö\0\0\0\0\9e\0\10®\88\12\10¬
+#=ì"í\88\12ì$6 1,\10¬\ e&\ 2í\ e\10¬\88\10&\ 3í\88\10\10®ÄÌ\0\0\10¬\88@&\ 3í\88@\9d
+3×"à3BÌ\0\0íÑ7\ 6\0\0b4\80\9e\0í\f5 n±FORGET\ 6\80402ö\1eÄ u\9d
+.T"à4 3B\10®Á&\bÌ\0\06\ 6~+\14\9e\0\10¬
+"\ 5Ì\0\15 ïæ!Ä\80'\ 5Ì\0\1a ä\9e\0\10¬\88\12$\b\9d
+4:"à ð'\ 5Ì\0\e Í5 ~4:ÿ\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file
diff --git a/cross_v/cs431.dsk b/cross_v/cs431.dsk
new file mode 100644 (file)
index 0000000..7692fff
--- /dev/null
@@ -0,0 +1 @@
+0) Index to BIF HI-LEVEL disk   2) Title page, Copr. notice     3) MONITOR CALL TO DEBUG        4) ERROR MESSAGES               6) HIGH LEVEL TOOLS & UTILITIES 7) LIST, INDEX, TRIAD           8) HIGH LEVEL DISK & SCREEN     11) FORWARD REFERENCING         12) PERIPHERAL UTILITIES        13) SLIST                       15) DUMP DEFINITION BY NAME     16) ASSEMBLER                   32) DOUBLES IN ASSEMBLER                                        40) HLL COMPILER                64) PAIR ASSOCIATION EXAMPLE    66) A TRY AT DIVIDE BY CONSTANT                                 100) SARDIS DMC STUFF                                           144) HOOCH COMPILER REMAINS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   BIF                      EDITOR, UTILITIES,           ASSEMBLER, AND EXAMPLES               VERSION 1.0                                                                                  COPYRIGHT    1989               JOEL MATTHEW REES                                           THESE ALGORITHMS ARE         EXPRESSED IN THREE LANGUAGES:   BIF, BIF ASSEMBLER FOR THE      MOTOROLA M6809 MICROPROCESSOR,  AND HEXADECIMAL MACHINE CODE FORTHE M6809.                                                         THE TEXT IS ORGANIZED FOR    EDITING ON A 32-COLUMN TERMINAL,SUCH AS IS FOUND ON A RADIO     SHACK COLOR COMPUTER 2.                                            THESE ALGORITHMS AND THEIR   TEXT ARE INTENDED FOR NO PURPOSEOTHER THAN EXPERIMENTATION, AND NO CLAIMS OR WARRANTIES ARE MADECONCERNING THEIR USEFULNESS IN  ANY PARTICULAR APPLICATION.                                     PUBLISHED 1989                     JOEL MATTHEW REES               SOUTH SALT LAKE CITY, UTAH                                   ( CALL TO MONITOR, IF SWI IS BREAKPOINT           JMR-88OCT?? )                                 CREATE MON HEX 3F C, 6EB1 ,       SMUDGE HERE 1- FENCE ! ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ( ERROR MESSAGES )              DATA STACK UNDERFLOW            DICTIONARY FULL                 ADDRESS RESOLUTION ERROR        HIDES DEFINITION IN             NULL VECTOR WRITTEN             DISC RANGE?                     DATA STACK OVERFLOW             DISC ERROR!                     CAN'T EXECUTE A NULL!           CONTROL STACK UNDERFLOW         CONTROL STACK OVERFLOW          ARRAY REFERENCE OUT OF BOUNDS   ARRAY DIMENSION NOT VALID       NO PROCEDURE TO ENTER                          ( WAS REGISTER )                                 COMPILATION ONLY, USE IN DEF    EXECUTION ONLY                  CONDITIONALS NOT PAIRED         DEFINITION INCOMPLETE           IN PROTECTED DICTIONARY         USE ONLY WHEN LOADING           OFF CURRENT EDITING SCREEN      DECLARE VOCABULARY              DEFINITION NOT IN VOCABULARY    IN FORWARD BLOCK                ALLOCATION LIST CORRUPTED: LOST CAN'T REDEFINE nul!             NOT FORWARD REFERENCE                         ( WAS IMMEDIATE )                                 ( MORE ERROR MESSAGES )         HAS INCORRECT ADDRESS MODE      HAS INCORRECT INDEX MODE        OPERAND NOT REGISTER            HAS ILLEGAL IMMEDIATE           PC OFFSET MUST BE ABSOLUTE      ACCUMULATOR OFFSET REQUIRED     ILLEGAL MEMORY INDIRECTION      ILLEGAL INDEX BASE              ILLEGAL TARGET SPECIFIED        CAN'T STACK ON SELF             DUPLICATE IN LIST               REGISTER NOT STACK              EMPTY REGISTER LIST             IMMEDIATE OPERAND REQUIRED      REQUIRES CONDITION                                              COMPILE-TIME STACK UNDERFLOW    COMPILE-TIME STACK OVERFLOW                                                                                                                                                                                                                                                                                                                                                                                                                                     ( UTILITIES DUMP QLIST QINDEX ) ( L/SCR ULIST      JMR-88NOV16)  BIF DEFINITIONS HEX             ( UTILITIES IS NOW IN KERNEL )  UTILITIES DEFINITIONS          : BYTE-DUMP -DUP IF                 0 DO DUP I + C@ 4 .R LOOP     ENDIF DROP ;  ( BASE > 6)      BIF DEFINITIONS                : DUMP -DUP IF OVER + SWAP          DO I 0 6 D.R I 4                  [ UTILITIES ] BYTE-DUMP         [ BIF ] 3A EMIT I 4 TYPE        CR ?TERMINAL 0< IF                KEY 0< IF LEAVE ENDIF         ENDIF 4 +LOOP ENDIF ;     : QLIST BLOCK [ EDITOR ] QDUMP    [ BIF ] 500 88 ! ( CENTER ) ; : QINDEX 1+ SWAP DO I QLIST         ." SCREEN=" I 4 /MOD .          3A EMIT . ."  BLOCK=" I .       KEY 0< IF LEAVE ENDIF         LOOP ;                         UTILITIES DEFINITIONS          : L/SCR B/BUF B/SCR C/L */ ;    : ULIST ( SCREEN N, FLAG BRK )    DUP SCR ! ." SCR # " . 0 ( F )  L/SCR 0 DO CR I 3 .R SPACE        I SCR @ .LINE                   ?TERMINAL 0< IF  ( BREAK? )       KEY 0< IF 1- LEAVE ENDIF      ENDIF LOOP CR ; -->         ( LIST INDEX TRIAD )                            ( JMR-88NOV16 )  BIF DEFINITIONS                : LIST ( WIDE OUTPUT ) DECIMAL    CR UTILITIES ULIST BIF DROP ;                                 : INDEX ( PRINT COMMENT LINES )   0C EMIT ( FORM FEED ) CR        1+ SWAP DO                        CR I 3 .R SPACE                 0 I .LINE                       C/L 49 < IF 1 I .LINE ENDIF     ?TERMINAL 0< IF                   KEY 0< IF LEAVE ENDIF         ENDIF                         LOOP ;                                                        : TRIAD ( LIST MULTIPLE ) >PRT    0C EMIT ( FORM FEED )           [ DECIMAL ] UTILITIES L/SCR     BIF 22 > IF 2 ELSE 3 ENDIF      >R R / R * DUP R> + SWAP        DO I UTILITIES ULIST BIF          0< IF LEAVE ENDIF               UTILITIES L/SCR BIF DUP         32 = SWAP 22 = OR NOT IF          CR CR ENDIF                 LOOP >VID ;    HEX                                                                                                                                         -->( HOME CLS QSAVE SAVE-BUFFERS    QCAN )         ( JMR-88DEC10 )  UTILITIES DEFINITIONS HEX      : HOME 400 88 ! ;               : MID 500 88 ! ;                 BIF DEFINITIONS                : CLS 400 200 60 FILL             UTILITIES HOME BIF ;           UTILITIES DEFINITIONS          : CAN-UP ( CANCEL UPDATE IN BUF)  DUP @ 7FFF AND OVER ! ;                                       : W-BUF ( WRITE BUF AT ADR )      DUP 2+ OVER @ 7FFF AND 0 R/W    CAN-UP ;                                                      : SAVE-BUF     ( IF UPDATED )     DUP @ 0< IF W-BUF ENDIF ;                                      BIF DEFINITIONS                : QSAVE PREV @ ( SAVE PREVIOUS )  UTILITIES SAVE-BUF BIF DROP ;                                                                 : SAVE-BUFFERS PREV @             BEGIN UTILITIES SAVE-BUF BIF      +BUF NOT UNTIL DROP ;                                       : QCAN PREV @ ( CAN UP OF PREV )  UTILITIES CAN-UP BIF DROP ;   -->                                                             ( CANCEL-UPDATES RE-QUICK .PREV  .BUFFERS QPREV   JMR-88DEC10 ) : CANCEL-UPDATES PREV @           BEGIN UTILITIES CAN-UP BIF        +BUF NOT UNTIL DROP ;                                       : RE-QUICK ( QUICK OLD PREVIOUS)  PREV @ DUP @ 7FFF AND 0 ROT !   [ EDITOR ] QUICK BIF ;                                        UTILITIES DEFINITIONS           : .BUF ( QLIST BUFFER, . BLOCK )  DUP @ DUP 7FFF AND DUP QLIST    MID ." BLOCK=" .                0< IF ."  UPDATED" ENDIF CR ;                                  BIF DEFINITIONS                : .BUFFERS PREV @ ( .BUF, PAUSE)  BEGIN UTILITIES .BUF BIF          +BUF DROP KEY 0< ( BREAK? )   UNTIL DROP ;                                                  : .PREV PREV @ UTILITIES .BUF     BIF DROP ;                                                    : EDIT DUP UTILITIES MID BIF      ." BLOCK=" . CR [ EDITOR ]      QUICK BIF PREV @ @              0< IF ." UPDATED" ENDIF ;                                     : QPREV PREV @ @ 7FFF AND         EDIT ;                     -->( QOPY COPY QBACK BACK-UP )                     ( JMR-88DEC11 ) : QOPY SWAP BLOCK SWAP BLOCK      B/BUF 2/ MOVE UPDATE ;                                        : COPY 2* 2*      ( SCREEN  )     SWAP 2* 2* DUP 4 + SWAP         DO I OVER QOPY 1+ LOOP DROP ; : QBACK  1+ SWAP DO I QLIST       I BLOCK DUP [ EDITOR ] QDUMP    ." BLOCK " I . ." TO "          0 DRIVE-OFFSET @ I + DUP .      KEY 59 = IF 0 R/W ( YES? )        ELSE DROP DROP                ENDIF LOOP ;                                                  : EEDIT ( ERASE AND EDIT BLOCK )  DUP BLOCK 2- UTILITIES .BUF 2+  MID BIF ." BLOCK=" OVER .       ."  CLEAR?" CR                  KEY 59 = IF ( YES? )              B/BUF BLANKS UPDATE           ELSE DROP ( DON'T CLEAR )       ENDIF EDIT ;             -->                                                                                                                                                                                                                                                                  ( RES-ERROR FORWARD :RESOLVE     :RESOLVE ;RES    JMR-16MAY89 )  UTILITIES DEFINITIONS HEX      : RES-ERROR ( ADR RESOLUTION )    3 ERROR ;                                                      BIF DEFINITIONS UTILITIES      : FORWARD ( REFERENCE HEADER )    CREATE 7E C, ( JMP EXTENDED )   IP, [ ' RES-ERROR CFA , ]       ( INIT TO RES-ERROR ) SMUDGE    FOREWARD @ 0= IF ( EARLIEST? )    LATEST FOREWARD ! ENDIF ;    ASSEMBLER DEFINITIONS           UTILITIES                      : :RESOLVE ( :ASM FORWARD REFS )  ?EXEC !CSP [COMPILE] ' DUP      CFA DUP 1+ SWAP C@ 7E - ( JMP)  OVER @ ' RES-ERROR CFA -        OR 1D ?ERROR ( HEADER? )        HERE SWAP ! ( LINK IT )         FOREWARD @ = IF ( END FORWD? )    0 FOREWARD ! ENDIF ;         IMMEDIATE                                                       BIF DEFINITIONS ASSEMBLER      : :RES ( RESOLVE : FORWARDS )     [COMPILE] :RESOLVE [ BIF ]      ( ASSEMBLE JMP <XCOL, COMPILE)  IP, [ LATEST CFA @ , ]  ] ;   : ;RES [COMPILE] ; SMUDGE ;      IMMEDIATE                      ( PL PTEST )                                    ( JMR-89AUG25 )  BIF DEFINITIONS DECIMAL        : PL 79 0 DO I 33 + EMIT LOOP ;                                 : PT    ( PL UNTIL KEY PRESS )    BEGIN PL ?TERMINAL UNTIL ;                                    : PTEST >PRT PT >VID ;           ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ( SLIST )                                       ( JMR-16OCT90 )  ROOT @ UTILITIES                                               : SLIST ( LIST SCREENS TO PRT )  >PRT 1+ SWAP DO                  I ULIST 0<  IF LEAVE ENDIF     LOOP >VID ;                     ROOT ! ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ( DISK ACCESS WORDS JMR-900228)                                 HEX                             : CM! FF48 C! ; : ST@ FF48 C@ ; : TR! FF49 C! ; : TR@ FF49 C@ ; : SE! FF4A C! ; : SE@ FF4A C@ ; : DA! FF4B C! ; : DA@ FF4B C@ ; : DR FF40 ! ;                   : DWAIT BEGIN ST@ DUP 1 AND       WHILE DROP REPEAT ;           : 1I DR 40 CM! DWAIT 0 DR . ;   : 1O DR 60 CM! DWAIT 0 DR . ;   : IN 0 DO DUP 1I LOOP DROP ;    : OUT 0 DO DUP 1O LOOP DROP ;   : ?ADR 0 FF42 C! 0 FF46 C!        28 OR DR ( MOTOR ON, DBL DNS)   C4 FF4C C! DWAIT . FF44 @ DROP  0 FF42 C! 0 FF46 C!             FF4E ? FF4E ? FF4E ? ;  ;S                                                                                                                                                                                                                                                                                                                                                                                                                                    ( NAMES )                                       ( JMR-89MAY16 )  BIF DEFINITIONS HEX            : NAME ( CFA TO NAME )            2+ NFA ID. ;                                                                                                                  : NAMES ( DUMP BY NAME )          -DUP IF 2* OVER + SWAP ( 0? )     DO I 0 6 D.R ( ADR )              I @ DUP 0 5 D.R ( NUMERIC)      3A EMIT NAME CR                 ?TERMINAL 0< IF                   KEY 0< IF LEAVE ENDIF       ENDIF 2 +LOOP ENDIF ; ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ( ^asm-util DREG REGISTERS #     DPREG DPR SETDP  JMR-88DEC19 )  ASSEMBLER DEFINITIONS HEX      VOCABULARY ^asm-util ( HIDDEN )  ^asm-util DEFINITIONS          : DREG ( REGISTER OPERANDS )      0FF0F AND 5245 DCONSTANT ;     ASSEMBLER DEFINITIONS           ^asm-util ( INDEX IN HI BYTE ) 8B00 DREG D     8608 DREG A     8509 DREG B     8C05 DREG PC    4003 DREG U     6004 DREG S     2002 DREG Y     0001 DREG X     EF0A DREG CC    EF0B DREG DP     ( ALL OPERANDS ARE DBL INTS )                                  ( ABSOLUTE IS 0 OR -1 HI WORD ) ( DIRECT IS ABSOLUTE IN DPAGE ) 494D CONSTANT # ( HI WORD )                                      ^asm-util DEFINITIONS           ( ASSEMBLY TIME DIRECT PAGE )  42 USER DPREG ( EMULATOR )       ( INIT DPREG ) UTILITIES DP@    ASSEMBLER ^asm-util DPREG !                                     ASSEMBLER DEFINITIONS           ( ACCESS DPREG )               : DPR [ ^asm-util ] DPREG         BIF @ ;                       : SETDP 0FF00 AND [ ^asm-util ]   DPREG BIF ! ; -->             ( OFF, ABS, V, PCOFF PCR, )                      ( JMR-89JAN2 )  ^asm-util DEFINITIONS          : OFF, ( SET IX b0, COMPILE 2 )   OVER DUP 80 < SWAP -81 > AND    IF C, C, ( SHORT )              ELSE 1 OR C, , ( LONG )         ENDIF ;                                                       : OP, ( COMPILE BYTE OR WORD )    DUP 0FF00 AND                   IF , ELSE C, ENDIF ;                                          : ABS, >R ( COMPILE ABS ADR OP )  OVER 0FF00 AND DPR =            IF R> DROP OP, C, ( DIR PAGE)   ELSE R> OR OP, ,   ( EXT )      ENDIF ;                                                       : PCOFF  ( ABSOLUTE TO PC REL )   HERE + 1+ - ( CALC OFFSET )     DUP 7F > OVER -80 < OR          IF 1- 0 ( WORD OFF )            ELSE -1 ( BYTE OFF ) ENDIF ;                                  : ?ABS ( TRUE IF ABSOLUTE )       DUP NOT 0= = ; ( USE T/F VAL)                                 : PCR, ( COMPILE A PC REL INDEX)  >R ?ABS NOT 25 ?ERROR           1 PCOFF IF R> C, C, ( BYTE )    ELSE R> 1 OR C, , ENDIF ; --> ( AUTO MASK, REG, IXOFF, EI, )                   ( JMR-89JAN2 )  ASSEMBLER DEFINITIONS          4155.0082 DCONSTANT -) ( AUTO ) 4155.0081 DCONSTANT )++ ( REG ) 4155.0080 DCONSTANT )+ ( MODE ) 4155.0083 DCONSTANT --) ( CONS)  ^asm-util DEFINITIONS                                          : MASK, OR C, ; ( FOR POSTBYTE)                                 : REG, ( REG OFF TO POST-BYTE )   SWAP DUP D DROP =                 OVER A DROP = OR OVER           B DROP = OR NOT 26 ?ERROR     SWAB OR C, ;                   ( REG, USES DUAL CODED REGS )                                  : IXOFF, ( REGISTER + CONSTANT )  OVER IF OVER ( NON-ZERO? )        DUP 0F > SWAP -10 < OR          OVER 10 AND OR ( []? )          IF 88 OR OFF, ( EXTERNAL )      ELSE ( OFFSET IN POST-BYTE)       SWAP 1F AND OR C,             ENDIF                         ELSE 84 OR C, DROP ( 0 OFF )    ENDIF ;                                                       : EI,  ( EXTENDED INDIRECT )      SWAP ?ABS NOT 27 ?ERROR         C, , ; -->                    ( IX, , INDIRECT )                               ( JMR-89JAN4 ) : IX, ( COMPILE AN INDEX MODE )   DUP 9F = IF EI,                 ELSE DUP 8F AND 8C = IF PCR,      ELSE SWAP DUP 4155 =              IF DROP MASK, ( AUTO )          ELSE DUP 5245 =                   IF DROP REG,                    ELSE ?ABS NOT 22 ?ERROR           IXOFF, ENDIF            ENDIF ENDIF ENDIF ;                                            ASSEMBLER DEFINITIONS          : , ( CONVERT TO INDEX )          5245 = ( REGISTER? )            OVER 00FF AND DUP 0 > SWAP      6 < AND ( X Y U S PC ? )        AND NOT 28 ?ERROR               SWAB 4958 ;                                                   : ) ( CONVERT TO INDIRECT )       DUP 5245 = ( REGISTER? )        IF ( ASSEMBLER ) ,              ELSE DUP [ ^asm-util ] ?ABS       [ ASSEMBLER ] IF 4958.009F      ELSE ( INDEX? )                   DUP 4958 = NOT 27 ?ERROR    ENDIF ENDIF ( SET BIT 4 )       SWAP 10 OR SWAP ;       -->                                                                   ( ACCM UNARY REG )                               ( JMR-89JAN5 )  ^asm-util DEFINITIONS HEX      : ACCM ( ENCODE ACCUMULATOR )     SWAP DUP 0FE AND ( A OR B? )    8 = NOT 29 ?ERROR               1 AND ( MASK B IN? )            IF OR ELSE DROP ENDIF ;                                       : UNARY ( OP-CODE COMPILER )      <BUILDS 0F AND C, ( OP-CODE )   DOES> C@ ( OP-CODE )            OVER 5245 = ( REGISTER? )       IF DUP 0E = 29 ?ERROR ( JMP?)     40 OR ROT 10 ACCM C, DROP     ELSE OVER 4958 = ( INDEX? )       IF 60 OR C, DROP IX,            ELSE SWAP ?ABS NOT 21 ?ERROR      70 ( EXT BITS ) ABS,        ENDIF ENDIF ;                                                 : REG ( ENCODE TARGET REG )       DUP C@ 8D = IF C@ 1 ( JSR )     ELSE SWAP 5245 - 29 ?ERROR        OVER DUP A DROP =               SWAP B DROP = OR                IF C@ SWAP 40 ACCM 0 ( BYTE)    ELSE SWAP 00FF AND ( REG? )       OVER 1+ C@ ( CT? ) OVER         > NOT 29 ?ERROR ( RANGE )       2* + 2+ @ -1 ( WORD REG )   ENDIF ENDIF ; -->             ( #, BINARY REG-REG )                           ( JMR-89JAN12 ) : #, ( COMPILE AN IMMEDIATE )     SWAP DUP 0F AND 5 - ( BIT OK)   OVER 5 AND 5 = ( ST OR JSR? )   AND 24 ?ERROR    OP,            IF BIF , [ ^asm-util ] ( WORD)  ELSE C, ENDIF ;      ( BYTE )                                 : BINARY ( OP-CODE COMPILER )     <BUILDS 8F AND C, ( A/B OP )    05 AND DUP C, -DUP IF ( OP CT)    0 DO 11CF AND BIF , ( DXYUS)      [ ^asm-util ] LOOP ENDIF    DOES> REG ROT ( SOURCE )        DUP 4958 = IF ( INDEX ? )         DROP DROP 20 OR OP, IX,       ELSE DUP 494D = ( IMMEDIATE? )    IF DROP #,                      ELSE ?ABS NOT 21 ?ERROR           DROP 10 OR 20 ABS,          ENDIF ENDIF ;                                                                                 : REG-REG ( OP-CODE COMPILER )    <BUILDS C, ( OP-CODE ) DOES>    C@ C, ( OP-CODE )               5245 = ROT 5245 = AND           NOT 23 ?ERROR ( 2 REGS? )       0F AND SWAP SWAN 0F0 AND        OR C, ; -->                                                   ( REG-BITS PACK MOVEM )                         ( JMR-89JAN12 ) 0 0B 1 1ARRAY REG-BITS ( PACK )  0 REG-BITS ( INITIALIZE )       06 OVER C! 1+ 10 OVER C! 1+     20 OVER C! 1+ 40 OVER C! 1+     40 OVER C! 1+ 80 OVER C! 1+     -1 OVER ! 2+ ( UNDEFINED )      02 OVER C! 1+ 04 OVER C! 1+     01 OVER C! 1+ 08 SWAP C!        ( STABILIZE PACK: UNDEF=ALL )                                  : PACK >R 0 ( PSH/PUL LIST )      BEGIN OVER 5245 = WHILE           SWAP DROP SWAP ( REG )          DUP R = 2A ?ERROR ( SELF? )     0FF AND REG-BITS C@ ( BIT )     OVER OVER AND 2B ?ERROR         OR REPEAT ( ^ IS DUPLICATE?)  R> DROP ;                                                     : MOVEM ( OP-CODE COMPILER )      <BUILDS 0FD AND C, DOES> ( OP)  C@ >R ( OP ) 5245 = OVER        1+ 0FE AND 4 = AND ( S OR U?)   NOT 2C ?ERROR                   R> OVER U DROP = ( SELECT S/U)  IF 2 OR ENDIF C,                PACK DUP 0= 2D ?ERROR           C, ; -->                                                                                      ( BR DCOND CC-IMM IMPLY )                       ( JMR-89JAN13 )  ASSEMBLER DEFINITIONS          : BR ( COMPILE CONDITIONAL BR )   434F - 2F ?ERROR ( CONDITION?)  [ ^asm-util ] SWAP ( ADR? )     ?ABS NOT 21 ?ERROR              SWAP 1 PCOFF IF ( SHORT )         SWAP DUP 0<                     IF 0FF AND ( BSR )              ELSE 0F AND 20 OR ENDIF         C, C, ( BOTH BYTES )          ELSE SWAP DUP 01000 AND           IF SWAB 017 AND ( BSR/BRA )     ELSE 0F AND 1020 OR               SWAP 1- SWAP ENDIF            OP, BIF , ENDIF ; ASSEMBLER  ^asm-util DEFINITIONS          : DCOND ( CONDITIONAL OPERANDS)   434F DCONSTANT ;                                              : CC-IMM ( OP-CODE COMPILER )     <BUILDS C, ( OP-CODE ) DOES>    C@ C, ( OP-CODE )               494D - 2E ?ERROR ( IMMEDIATE?)  C, ;                                                          : IMPLY    ( OP-CODE COMPILER )   <BUILDS BIF , ( OP-CODE )       DOES> @ OP, ; -->                                                                             ( MNEMONICS )                                   ( JMR-89JAN13 )  ASSEMBLER DEFINITIONS           ^asm-util                       10CE 0CE 108E 8E 0CC 5 86      BINARY LD                        10CF 0CF 108F 8F 0CD 5 87      BINARY ST                        118C 1183 108C 8C 1083 5 81    BINARY CMP                      35 MOVEM PUL    34 MOVEM PSH    46 UNARY ROR    49 UNARY ROL    39 IMPLY RTS    3B IMPLY RTI    0 82 BINARY SBC 978D DCOND SR   1F REG-REG TFR  4D UNARY TST    83 1 80 BINARY SUB              103F IMPLY SWI2 113F IMPLY SWI3 3F IMPLY SWI    13 IMPLY SYNC   0 84 BINARY AND 0 89 BINARY ADC 48 UNARY ASL    47 UNARY ASR    0C3 1 8B BINARY ADD             3A IMPLY ABX    5 DCOND CS      43 UNARY COM    4F UNARY CLR    1600 DCOND AL   0 85 BINARY BIT 4A UNARY DEC    19 IMPLY DAA    2 DCOND HI      0B DCOND MI     7 DCOND EQ      0C DCOND GE     1E REG-REG EXG  4C UNARY INC    0 8D BINARY JSR 4E UNARY JMP    0 88 BINARY EOR 0E DCOND GT     4 DCOND HS      12 IMPLY NOP    3 DCOND LS      0A DCOND PL --> ( MORE MNEMONICS )                              ( JMR-89JAN13 ) 44 UNARY LSR    48 UNARY LSL    0D DCOND LT     6 DCOND NE      3D IMPLY MUL    40 UNARY NEG    0 8A BINARY OR  1A CC-IMM ORCC  1 DCOND NV      1D IMPLY SEX    1C CC-IMM ANDCC 3C CC-IMM CWAI  8 DCOND VC      9 DCOND VS      4 DCOND CCLR ( LO LE FOLLOW )                                    ^asm-util DEFINITIONS          1 4 1 1ARRAY EA-IX ( TRANSLATE)  1 EA-IX ( INITIALIZE )          0 OVER C! 1+    1 OVER C! 1+    3 OVER C! 1+    2 SWAP C!                                       ASSEMBLER DEFINITIONS          : LEA ( OP-CODE ASSEMBLER )       5245 - 23 ?ERROR ( REGISTER?)   0F BIF AND [ ^asm-util ]        EA-IX C@  30 BIF OR C,          4958 - 21 ?ERROR ( INDEX? )     [ ^asm-util ] IX, ;                                           0F DCOND LE     5 DCOND LO -->                                                                                                                                                                                                  ( [CD]  & ! ^ NEXT )                            ( JMR-89JAN17 )  ASSEMBLER DEFINITIONS BIF HEX  : [CD]   ( CFA OF DEF )           -IFIND DROP DUP 0= 0 ?ERROR     CFA 0 [COMPILE] DLITERAL ;     IMMEDIATE                                                      CREATE &  [CD] AND JMP SMUDGE   CREATE !  [CD]  OR JMP SMUDGE   CREATE ^  [CD] XOR JMP SMUDGE                                    ASSEMBLER                      : NEXT )++ Y ) JMP ; -->                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( INVERTCC LIF IF )                              ( JMR-89FEB3 )  ^asm-util DEFINITIONS  HEX                                     CREATE INVERTCC ( CONDITIONS )    0. U , X LD 434F # X CMP        HERE DUP 2+ 0 NE BR ( CC? )     2. U , D LD ( BSR? )            HERE DUP 2+ 0 MI BR             A CLR 1 # B EOR ( TOGGLE CC )   HERE 4 + 0 NE BR ( ALWAYS? )    AL DROP SWAB # A LD             2. U , D ST   NEXT ( FILL BR)   1+ HERE OVER 1+ - SWAP C!       1+ HERE OVER 1+ - SWAP C!       2F # D LD D U PSH ( TO ERROR)   [CD] ERROR JMP SMUDGE                                          ASSEMBLER DEFINITIONS                                          : LIF ( MARK AND ASM LONG BR )    [ ^asm-util ] INVERTCC          [ ASSEMBLER ] >R >R             HERE 4146 ( MARK )              [ UTILITIES ] [CD] RES-ERROR    [ ASSEMBLER ] R> R> BR ;                                      : IF ( MARK AND ASM SHORT BR )    [ ^asm-util ] INVERTCC          [ ASSEMBLER ] >R >R             HERE 4146 ( MARK )              OVER 2+ 0 R> R> BR ; -->      ( FILL-IN )                                      ( JMR-89FEB7 )  ^asm-util DEFINITIONS                                          CREATE FILL-IN ( BR OFFSETS )     UTILITIES DP@ 0 X LD DP DP@ @    - ASSEMBLER 0 X , D LD         0. U , D SUB  D U PSH ( OFFS)   2. U , X LD  0. X , D LD ( BR)  16 # A CMP ( ALWAYS? )          HERE DUP 2+ 0 EQ BR             0FE # A AND  0F0 # B AND        1020 # D CMP ( LONG? )          HERE DUP 2+ 0 EQ BR             ( SHORT BRANCH )                0F0 # A AND  20 # A CMP ( BR?)  UTILITIES [CD] RES-ERROR        ASSEMBLER NE BR                 0. U , D LD  7E # D ADD A TST   UTILITIES [CD] RES-ERROR        ASSEMBLER NE BR ( TOO FAR? )    80 # B SUB                      1. X , B ST ( OFFSET )          HERE 4. U , U LEA NEXT          ROT 1+ HERE OVER 1+ - SWAP C!   0. U , D LD ( LONG BR ALWAYS)   3 # D SUB  1. X , D ST          DUP 0 AL BR SWAP                1+ HERE OVER 1+ - SWAP C!       0. U , D LD ( LONG BR COND )    4 # D SUB  2. X , D ST          0 AL BR SMUDGE -->            ( ELSE LELSE ENDIF )                             ( JMR-89FEB6 )  ASSEMBLER DEFINITIONS HEX       ^asm-util                                                      : ELSE ( SHORT BRANCH, RESOLVE)   4146 ?PAIRS                     >R NV IF R> FILL-IN ;                                         : LELSE ( LONG BRANCH, RESOLVE)   4146 ?PAIRS                     >R NV LIF R> FILL-IN ;                                        : ENDIF 4146 ?PAIRS FILL-IN ;                                   : BEGIN HERE 4142 ;                                             : UNTIL ( COND BR TO BEGIN )      >R >R 4142 ?PAIRS 0             R> R> INVERTCC BR ;                                           : WHILE ( COND BR PAST REPEAT )   ROT 4142 ?PAIRS                 IF DROP 4157 ;                                                : REPEAT ( LOOP, RESOLVE WHILE)   4157 ?PAIRS SWAP 0 AL BR        FILL-IN ;                                                     : LWHILE ( LONG WHILE )           ROT 4142 ?PAIRS                 LIF DROP 4157 ;  -->          ( :ASM ;ASM )                                   ( JMR-89MAR28 )  ASSEMBLER DEFINITIONS HEX                                      : :ASM CREATE !CSP ;                                            : ;ASM ?CSP SMUDGE ;                                            : I-CODE ( SHIFT TO HI-LEVEL )    [ ' :ASM CFA @ ] LITERAL        [ BIF ] , ( ASMBL JMP <XCOL )   DROOT @ ROOT !  ] ; ( COMPILE) ASSEMBLER                                                                                                                      : MACHINE ( SHIFT TO LO-LEVEL )   COMPILE (MACHINE) ( IN DEF )    [COMPILE] [ ( NOW INTERPRET )   [COMPILE] ASSEMBLER ;          IMMEDIATE  ;S                                                                                                                  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( D! D@ )                                       ( JMR-89FEB16 )  BIF DEFINITIONS ASSEMBLER                                      :ASM D! ( STORE DBL ) X U PUL     D U PUL  0. X , D ST            D U PUL  2. X , D ST            NEXT ;ASM                                                     :ASM D@ ( FETCH DBL ) X U PUL     0. X , D LD    2. X , X LD      D X U PSH   NEXT  ;ASM                                        :ASM DOVER ( DOUBLE OVER DOUBLE)  4. U , D LD   6. U , X LD       D X U PSH     NEXT  ;ASM                                      :ASM DSWAP ( SWAP DOUBLES )       4. U , D LD    0. U , X LD      4. U , X ST    0. U , D ST      6. U , D LD    2. U , X LD      6. U , X ST    2. U , D ST      NEXT ;ASM                      ;S                                                                                                                                                                                                                                                                                             ( [& ,& ]& )                                    ( JMR-93MAR20 )  BIF DEFINITIONS HEX                                            : [& ( START ARRAY INDEX LIST )   0 0 4152 ;                                                    : ,& ( ACCUMULATE INDEX LIST )    ROT 4152 - 35 ?ERROR ( SPAN?)   OVER - DUP F000 AND 33 ?ERROR   1+ SWAP >R ( SAVE LO )          DUP ROT * R> + ( NEW RELOC )    ROT 1+ DUP 7 > 34 ?ERROR        SWAP 4152 ;                                                   : ]& ( COMPLETE THE ARRAY DEF )   DUP 1- FF00 AND 33 ?ERROR       <BUILDS >R ,& DROP ( AR FLAG)   R * ( NEW REL ) R> SWAP >R      SWAP DUP , ( STORE COUNT )      0 DO DUP , * LOOP ( SIZES )     DUP , ( ARR SZ ) R> , ( REL )   ALLOT ?STACK DOES>              0 ( SUM ) SWAP                  DUP 2+ SWAP @ ( COUNT )         2* OVER + DUP >R ( SAVE END )   SWAP DO ( SUM OF PRODUCTS )       SWAP I @ * + 2 +LOOP          R 2+ @ ( RELOCATE ) - DUP 0<    OVER R @ < 0= ( BOUNDS? )       OR 0C ?ERROR                    R> 4 + + ;                    ( ^ LABEL LOCVOC )                              ( JMR-93MAR21 )  BIF DEFINITIONS DECIMAL                                        : ^ ( EXPONENT WITH ?ERROR )      -DUP 0= IF DROP 1 ( N 0 ^ )     ELSE OVER DUP 0= ( 0 N ^ )        SWAP 1 = OR ( 1 N ^ )           OVER 1 = OR ( N 1 ^ )           IF DROP                         ELSE 1 SWAP                       0 DO                              OVER M* 54 ?ERROR             LOOP SWAP DROP                ENDIF ENDIF ;                                               : LABEL ( --- ) ( BUILD GOTO )    <BUILDS IMMEDIATE COMPILE-ONLY  0 , DOES>                       DUP @ IF COMPILE BRANCH           @ HERE - 2- ,                 ELSE HERE SWAP !                ENDIF ;                                                       : LOCVOC VOCABULARY IMMEDIATE ;                                 : GETNUMBER ( ADR N --- )         1- OVER 1+ SWAP EXPECT          BL ENCLOSE OVER + 0 SWAP C!     NUMBER DROP ;                                                 : $ DUP . ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ( CS431 TESTPARAMS FACTORIAL )                  ( JMR-93MAR24 )  DECIMAL 33 LOAD ( ARRAYS )      DECIMAL 34 LOAD ( ^ LABEL )    BIF DEFINITIONS LOCVOC CS431     CS431 DEFINITIONS DECIMAL      6805 VARIABLE X 6800 VARIABLE Y  LOCVOC     PARAMSLOCAL          PARAMSLOCAL DEFINITIONS        0 VARIABLE A    0 VARIABLE B    0 VARIABLE C    0 VARIABLE X    0 2 2 1ARRAY D                   CS431 DEFINITIONS PARAMSLOCAL  : TESTPARAMS ( N ADR --- )        1 A !  2 B !  3 C !  4 X !      4 0 D !  5 1 D !  6 2 D !       SWAP ." BY-VAL WAS" .           DUP @ 0 D @ * 2 D @ C @ / -       1 D @ A @ * B @ * + SWAP      OVER 0 D @ / B @ * 2 D @ *        OVER !                        ." BY-VAL PARAMETER=" SWAP .    ." BY-ADR PARAMETER=" @ .       ." LOCAL X=" X @ . ; CS431    : FACTORIAL ( ADR --- )           [ SMUDGE ] ( RECURSIVE )        DUP @ 12 > IF ." TOO BIG "      ELSE ." FACTOR" DUP ?             DUP @ 2 > IF                      DUP @ 1- SP@ FACTORIAL          OVER @ * OVER ! ENDIF       ENDIF ." N!=" ? ; SMUDGE   -->( CS431 RECORDS )                               ( JMR-93MAR24 )  CS431 DEFINITIONS              LOCVOC     RECLOC                RECLOC DEFINITIONS             LOCVOC     US                    US DEFINITIONS                 0 VARIABLE ME   0 VARIABLE YOU  0 2 2 1ARRAY THEM                RECLOC DEFINITIONS             0 VARIABLE X                     CS431 DEFINITIONS RECLOC       : TESTRECORDS ( --- )             1 X !   US 3 ME !   6 YOU !     2 0 THEM !   4 1 THEM !         6 2 THEM !                      2 THEM @ 10 * YOU @ /             1 THEM @ - 0 THEM @ +  ME !   ." BEFORE CALL, US.ME=" ME ?    ."   US.THEM[2]=" 2 THEM ?      ME @ 2 THEM TESTPARAMS          ." AFTER CALL, LOCAL X=" X ?    ." GLOBAL X=" CS431 X ?         RECLOC US                       ." US.ME=" ME ?                 ." US.THEM[2]=" 2 THEM ? ;      CS431 DEFINITIONS               -->                                                                                                                                                           ( CS431 MAIN )                                  ( JMR-93MAR24 )  CS431 DEFINITIONS DECIMAL      LOCVOC     MAINLOC               MAINLOC DEFINITIONS             LABEL LOOPTO                   0 VARIABLE A   0 VARIABLE B     0 VARIABLE C   0 VARIABLE D     0 VARIABLE E   0 VARIABLE F     0 VARIABLE G                    0 VARIABLE I   0 VARIABLE J     0 VARIABLE K   0 VARIABLE X     0 VARIABLE CHOICE               0 VARIABLE RESULT               [& -1 1 ,& 5 7 ,& 10 11          2 ]& ARRAY                     0 79 1 1ARRAY STR               0 VARIABLE AA   0 VARIABLE BB   0 VARIABLE CC   0 VARIABLE DRES  CS431 DEFINITIONS MAINLOC      ( MIGHT AS WELL START HERE! )   : MAIN ( --- ) ( WE HOPE )        LOOPTO ." CHOICE (1 - 9): "    0 STR 80 GETNUMBER               DUP CHOICE ! 0= IF                ." I BE DONE!" QUIT           ELSE CHOICE @ 1 = IF              1 A !  2 B !  3 C !  4 D !      5 E !  6 F !  7 G !             A @ B @ * $ C @ D @ * $         F @ B @ / $ D @ B @ / $         G @ 100 * $           -->   ( CS431 CONTINUE MAIN )                                           E @ E @ * E @ * $ 23 C @ - $    B @ G @ B @ - * C @ * $         C @ A @ B @ D @ * + * E @ / $   A @ B @ + C @ + G @ F @ -         D @ - * $                     E @ F @ + G @ + A @ B @ + / $   G @ MINUS G @ - $               A @ MINUS B @ MINUS *             G @ MINUS +   $               F @ D @ * MINUS                   B @ C @ * MINUS / $             + + + + + + + +                 - + - + +                       RESULT !                        ." RESULT=" RESULT ?          ELSE CHOICE @ 2 = IF              2 AA ! 3 BB ! 4 CC !            AA @ AA @ ^ AA @ BB @ ^ +         AA @ ^ AA @ CC @ ^ /            DRES ! DRES @ RESULT !        ." RESULT=" RESULT ?          ELSE CHOICE @ 3 = IF              2 -1 DO                     BIF I MAINLOC I !                     8 5 DO                    BIF I MAINLOC J !                       12 10 DO                BIF I MAINLOC K !                         ." ARRAY AT"                    I ? J ? K ?     -->   ( CS431 MAIN CONTINUED )                                                  0 STR 80                        GETNUMBER                       I @ J @ K @ ARRAY !           LOOP LOOP LOOP              0 RESULT !                      2 -1 DO                     BIF I MAINLOC I !                     8 5 DO                    BIF I MAINLOC J !                       12 10 DO                BIF I MAINLOC K !                         I @ J @ K @ ARRAY @             RESULT +!                 LOOP LOOP LOOP                  ." RESULT=" RESULT ?          ELSE CHOICE @ 4 = IF              21 0 DO                     BIF I MAINLOC I !                     I @ 0= IF ." ZERO"              ELSE I @ 10 < IF                  ." I=" I ?                    ELSE I @ 10 = IF                  16 I ! R> DROP 16 >R          ELSE ." NEAT-O"                 ENDIF ENDIF ENDIF             2 +LOOP                       ELSE CHOICE @ 5 = IF              2 A ! 4 B ! 0 X !               ." A BEFORE CALL=" A ?          ." B BEFORE CALL=" B ? -->  ( CS431 MAIN CONTINUED )                                            A @ B TESTPARAMS                ." AFTER A=" A ?                ." AFTER B=" B ?                ." GLOBAL X=" CS431 X ?         ." MAIN X=" MAINLOC X ?       ELSE CHOICE @ 6 = IF              0 STR 80                        GETNUMBER                       SP@ FACTORIAL ." ^:" 0 D.     ELSE CHOICE @ 7 = IF              TESTRECORDS                   ELSE CHOICE @ 8 = IF              ." NO CASE "                  ENDIF ENDIF ENDIF ENDIF         ENDIF ENDIF ENDIF ENDIF         ENDIF                           CHOICE @ 9 < IF LOOPTO ENDIF                                    ." THE WRONG END TO PRINT" ;   ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
\ No newline at end of file
diff --git a/cross_v/tools.dsk b/cross_v/tools.dsk
new file mode 100644 (file)
index 0000000..8028576
--- /dev/null
@@ -0,0 +1 @@
+0) Index to BIF HI-LEVEL disk   2) Title page, Copr. notice     3) MONITOR CALL TO DEBUG        4) ERROR MESSAGES               6) HIGH LEVEL TOOLS & UTILITIES 7) LIST, INDEX, TRIAD           8) HIGH LEVEL DISK & SCREEN     11) FORWARD REFERENCING         12) PERIPHERAL UTILITIES        13) SLIST                       15) DUMP DEFINITION BY NAME     16) ASSEMBLER                   32) DOUBLES IN ASSEMBLER                                        40) HLL COMPILER                64) PAIR ASSOCIATION EXAMPLE    66) A TRY AT DIVIDE BY CONSTANT                                 100) SARDIS DMC STUFF                                           144) HOOCH COMPILER REMAINS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   BIF                      EDITOR, UTILITIES,           ASSEMBLER, AND EXAMPLES               VERSION 1.0                                                                                  COPYRIGHT    1989               JOEL MATTHEW REES                                           THESE ALGORITHMS ARE         EXPRESSED IN THREE LANGUAGES:   BIF, BIF ASSEMBLER FOR THE      MOTOROLA M6809 MICROPROCESSOR,  AND HEXADECIMAL MACHINE CODE FORTHE M6809.                                                         THE TEXT IS ORGANIZED FOR    EDITING ON A 32-COLUMN TERMINAL,SUCH AS IS FOUND ON A RADIO     SHACK COLOR COMPUTER 2.                                            THESE ALGORITHMS AND THEIR   TEXT ARE INTENDED FOR NO PURPOSEOTHER THAN EXPERIMENTATION, AND NO CLAIMS OR WARRANTIES ARE MADECONCERNING THEIR USEFULNESS IN  ANY PARTICULAR APPLICATION.                                     PUBLISHED 1989                     JOEL MATTHEW REES               SOUTH SALT LAKE CITY, UTAH                                   ( CALL TO MONITOR, IF SWI IS BREAKPOINT           JMR-88OCT?? )                                 CREATE MON HEX 3F C, 6EB1 ,       SMUDGE HERE 1- FENCE ! ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ( ERROR MESSAGES )              DATA STACK UNDERFLOW            DICTIONARY FULL                 ADDRESS RESOLUTION ERROR        HIDES DEFINITION IN             NULL VECTOR WRITTEN             DISC RANGE?                     DATA STACK OVERFLOW             DISC ERROR!                     CAN'T EXECUTE A NULL!           CONTROL STACK UNDERFLOW         CONTROL STACK OVERFLOW          ARRAY REFERENCE OUT OF BOUNDS   ARRAY DIMENSION NOT VALID       NO PROCEDURE TO ENTER                          ( WAS REGISTER )                                 COMPILATION ONLY, USE IN DEF    EXECUTION ONLY                  CONDITIONALS NOT PAIRED         DEFINITION INCOMPLETE           IN PROTECTED DICTIONARY         USE ONLY WHEN LOADING           OFF CURRENT EDITING SCREEN      DECLARE VOCABULARY              DEFINITION NOT IN VOCABULARY    IN FORWARD BLOCK                ALLOCATION LIST CORRUPTED: LOST CAN'T REDEFINE nul!             NOT FORWARD REFERENCE                         ( WAS IMMEDIATE )                                 ( MORE ERROR MESSAGES )         HAS INCORRECT ADDRESS MODE      HAS INCORRECT INDEX MODE        OPERAND NOT REGISTER            HAS ILLEGAL IMMEDIATE           PC OFFSET MUST BE ABSOLUTE      ACCUMULATOR OFFSET REQUIRED     ILLEGAL MEMORY INDIRECTION      ILLEGAL INDEX BASE              ILLEGAL TARGET SPECIFIED        CAN'T STACK ON SELF             DUPLICATE IN LIST               REGISTER NOT STACK              EMPTY REGISTER LIST             IMMEDIATE OPERAND REQUIRED      REQUIRES CONDITION                                              COMPILE-TIME STACK UNDERFLOW    COMPILE-TIME STACK OVERFLOW                                                                                                                                                                                                                                                                                                                                                                                                                                     ( UTILITIES DUMP QLIST QINDEX ) ( L/SCR ULIST      JMR-88NOV16)  BIF DEFINITIONS HEX             ( UTILITIES IS NOW IN KERNEL )  UTILITIES DEFINITIONS          : BYTE-DUMP -DUP IF                 0 DO DUP I + C@ 4 .R LOOP     ENDIF DROP ;  ( BASE > 6)      BIF DEFINITIONS                : DUMP -DUP IF OVER + SWAP          DO I 0 6 D.R I 4                  [ UTILITIES ] BYTE-DUMP         [ BIF ] 3A EMIT I 4 TYPE        CR ?TERMINAL 0< IF                KEY 0< IF LEAVE ENDIF         ENDIF 4 +LOOP ENDIF ;     : QLIST BLOCK [ EDITOR ] QDUMP    [ BIF ] 500 88 ! ( CENTER ) ; : QINDEX 1+ SWAP DO I QLIST         ." SCREEN=" I 4 /MOD .          3A EMIT . ."  BLOCK=" I .       KEY 0< IF LEAVE ENDIF         LOOP ;                         UTILITIES DEFINITIONS          : L/SCR B/BUF B/SCR C/L */ ;    : ULIST ( SCREEN N, FLAG BRK )    DUP SCR ! ." SCR # " . 0 ( F )  L/SCR 0 DO CR I 3 .R SPACE        I SCR @ .LINE                   ?TERMINAL 0< IF  ( BREAK? )       KEY 0< IF 1- LEAVE ENDIF      ENDIF LOOP CR ; -->         ( LIST INDEX TRIAD )                            ( JMR-88NOV16 )  BIF DEFINITIONS                : LIST ( WIDE OUTPUT ) DECIMAL    CR UTILITIES ULIST BIF DROP ;                                 : INDEX ( PRINT COMMENT LINES )   0C EMIT ( FORM FEED ) CR        1+ SWAP DO                        CR I 3 .R SPACE                 0 I .LINE                       C/L 49 < IF 1 I .LINE ENDIF     ?TERMINAL 0< IF                   KEY 0< IF LEAVE ENDIF         ENDIF                         LOOP ;                                                        : TRIAD ( LIST MULTIPLE ) >PRT    0C EMIT ( FORM FEED )           [ DECIMAL ] UTILITIES L/SCR     BIF 22 > IF 2 ELSE 3 ENDIF      >R R / R * DUP R> + SWAP        DO I UTILITIES ULIST BIF          0< IF LEAVE ENDIF               UTILITIES L/SCR BIF DUP         32 = SWAP 22 = OR NOT IF          CR CR ENDIF                 LOOP >VID ;    HEX                                                                                                                                         -->( HOME CLS QSAVE SAVE-BUFFERS    QCAN )         ( JMR-88DEC10 )  UTILITIES DEFINITIONS HEX      : HOME 400 88 ! ;               : MID 500 88 ! ;                 BIF DEFINITIONS                : CLS 400 200 60 FILL             UTILITIES HOME BIF ;           UTILITIES DEFINITIONS          : CAN-UP ( CANCEL UPDATE IN BUF)  DUP @ 7FFF AND OVER ! ;                                       : W-BUF ( WRITE BUF AT ADR )      DUP 2+ OVER @ 7FFF AND 0 R/W    CAN-UP ;                                                      : SAVE-BUF     ( IF UPDATED )     DUP @ 0< IF W-BUF ENDIF ;                                      BIF DEFINITIONS                : QSAVE PREV @ ( SAVE PREVIOUS )  UTILITIES SAVE-BUF BIF DROP ;                                                                 : SAVE-BUFFERS PREV @             BEGIN UTILITIES SAVE-BUF BIF      +BUF NOT UNTIL DROP ;                                       : QCAN PREV @ ( CAN UP OF PREV )  UTILITIES CAN-UP BIF DROP ;   -->                                                             ( CANCEL-UPDATES RE-QUICK .PREV  .BUFFERS QPREV   JMR-88DEC10 ) : CANCEL-UPDATES PREV @           BEGIN UTILITIES CAN-UP BIF        +BUF NOT UNTIL DROP ;                                       : RE-QUICK ( QUICK OLD PREVIOUS)  PREV @ DUP @ 7FFF AND 0 ROT !   [ EDITOR ] QUICK BIF ;                                        UTILITIES DEFINITIONS           : .BUF ( QLIST BUFFER, . BLOCK )  DUP @ DUP 7FFF AND DUP QLIST    MID ." BLOCK=" .                0< IF ."  UPDATED" ENDIF CR ;                                  BIF DEFINITIONS                : .BUFFERS PREV @ ( .BUF, PAUSE)  BEGIN UTILITIES .BUF BIF          +BUF DROP KEY 0< ( BREAK? )   UNTIL DROP ;                                                  : .PREV PREV @ UTILITIES .BUF     BIF DROP ;                                                    : EDIT DUP UTILITIES MID BIF      ." BLOCK=" . CR [ EDITOR ]      QUICK BIF PREV @ @              0< IF ." UPDATED" ENDIF ;                                     : QPREV PREV @ @ 7FFF AND         EDIT ;                     -->( QOPY COPY QBACK BACK-UP )                     ( JMR-88DEC11 ) : QOPY SWAP BLOCK SWAP BLOCK      B/BUF 2/ MOVE UPDATE ;                                        : COPY 2* 2*      ( SCREEN  )     SWAP 2* 2* DUP 4 + SWAP         DO I OVER QOPY 1+ LOOP DROP ; : QBACK  1+ SWAP DO I QLIST       I BLOCK DUP [ EDITOR ] QDUMP    ." BLOCK " I . ." TO "          0 DRIVE-OFFSET @ I + DUP .      KEY 59 = IF 0 R/W ( YES? )        ELSE DROP DROP                ENDIF LOOP ;                                                  : EEDIT ( ERASE AND EDIT BLOCK )  DUP BLOCK 2- UTILITIES .BUF 2+  MID BIF ." BLOCK=" OVER .       ."  CLEAR?" CR                  KEY 59 = IF ( YES? )              B/BUF BLANKS UPDATE           ELSE DROP ( DON'T CLEAR )       ENDIF EDIT ;             -->                                                                                                                                                                                                                                                                  ( RES-ERROR FORWARD :RESOLVE     :RESOLVE ;RES    JMR-16MAY89 )  UTILITIES DEFINITIONS HEX      : RES-ERROR ( ADR RESOLUTION )    3 ERROR ;                                                      BIF DEFINITIONS UTILITIES      : FORWARD ( REFERENCE HEADER )    CREATE 7E C, ( JMP EXTENDED )   IP, [ ' RES-ERROR CFA , ]       ( INIT TO RES-ERROR ) SMUDGE    FOREWARD @ 0= IF ( EARLIEST? )    LATEST FOREWARD ! ENDIF ;    ASSEMBLER DEFINITIONS           UTILITIES                      : :RESOLVE ( :ASM FORWARD REFS )  ?EXEC !CSP [COMPILE] ' DUP      CFA DUP 1+ SWAP C@ 7E - ( JMP)  OVER @ ' RES-ERROR CFA -        OR 1D ?ERROR ( HEADER? )        HERE SWAP ! ( LINK IT )         FOREWARD @ = IF ( END FORWD? )    0 FOREWARD ! ENDIF ;         IMMEDIATE                                                       BIF DEFINITIONS ASSEMBLER      : :RES ( RESOLVE : FORWARDS )     [COMPILE] :RESOLVE [ BIF ]      ( ASSEMBLE JMP <XCOL, COMPILE)  IP, [ LATEST CFA @ , ]  ] ;   : ;RES [COMPILE] ; SMUDGE ;      IMMEDIATE                      ( PL PTEST )                                    ( JMR-89AUG25 )  BIF DEFINITIONS DECIMAL        : PL 79 0 DO I 33 + EMIT LOOP ;                                 : PT    ( PL UNTIL KEY PRESS )    BEGIN PL ?TERMINAL UNTIL ;                                    : PTEST >PRT PT >VID ;           ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ( SLIST )                                       ( JMR-16OCT90 )  ROOT @ UTILITIES                                               : SLIST ( LIST SCREENS TO PRT )  >PRT 1+ SWAP DO                  I ULIST 0<  IF LEAVE ENDIF     LOOP >VID ;                     ROOT ! ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ( DISK ACCESS WORDS JMR-900228)                                 HEX                             : CM! FF48 C! ; : ST@ FF48 C@ ; : TR! FF49 C! ; : TR@ FF49 C@ ; : SE! FF4A C! ; : SE@ FF4A C@ ; : DA! FF4B C! ; : DA@ FF4B C@ ; : DR FF40 ! ;                   : DWAIT BEGIN ST@ DUP 1 AND       WHILE DROP REPEAT ;           : 1I DR 40 CM! DWAIT 0 DR . ;   : 1O DR 60 CM! DWAIT 0 DR . ;   : IN 0 DO DUP 1I LOOP DROP ;    : OUT 0 DO DUP 1O LOOP DROP ;   : ?ADR 0 FF42 C! 0 FF46 C!        28 OR DR ( MOTOR ON, DBL DNS)   C4 FF4C C! DWAIT . FF44 @ DROP  0 FF42 C! 0 FF46 C!             FF4E ? FF4E ? FF4E ? ;  ;S                                                                                                                                                                                                                                                                                                                                                                                                                                    ( NAMES )                                       ( JMR-89MAY16 )  BIF DEFINITIONS HEX            : NAME ( CFA TO NAME )            2+ NFA ID. ;                                                                                                                  : NAMES ( DUMP BY NAME )          -DUP IF 2* OVER + SWAP ( 0? )     DO I 0 6 D.R ( ADR )              I @ DUP 0 5 D.R ( NUMERIC)      3A EMIT NAME CR                 ?TERMINAL 0< IF                   KEY 0< IF LEAVE ENDIF       ENDIF 2 +LOOP ENDIF ; ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ( ^asm-util DREG REGISTERS #     DPREG DPR SETDP  JMR-88DEC19 )  ASSEMBLER DEFINITIONS HEX      VOCABULARY ^asm-util ( HIDDEN )  ^asm-util DEFINITIONS          : DREG ( REGISTER OPERANDS )      0FF0F AND 5245 DCONSTANT ;     ASSEMBLER DEFINITIONS           ^asm-util ( INDEX IN HI BYTE ) 8B00 DREG D     8608 DREG A     8509 DREG B     8C05 DREG PC    4003 DREG U     6004 DREG S     2002 DREG Y     0001 DREG X     EF0A DREG CC    EF0B DREG DP     ( ALL OPERANDS ARE DBL INTS )                                  ( ABSOLUTE IS 0 OR -1 HI WORD ) ( DIRECT IS ABSOLUTE IN DPAGE ) 494D CONSTANT # ( HI WORD )                                      ^asm-util DEFINITIONS           ( ASSEMBLY TIME DIRECT PAGE )  42 USER DPREG ( EMULATOR )       ( INIT DPREG ) UTILITIES DP@    ASSEMBLER ^asm-util DPREG !                                     ASSEMBLER DEFINITIONS           ( ACCESS DPREG )               : DPR [ ^asm-util ] DPREG         BIF @ ;                       : SETDP 0FF00 AND [ ^asm-util ]   DPREG BIF ! ; -->             ( OFF, ABS, V, PCOFF PCR, )                      ( JMR-89JAN2 )  ^asm-util DEFINITIONS          : OFF, ( SET IX b0, COMPILE 2 )   OVER DUP 80 < SWAP -81 > AND    IF C, C, ( SHORT )              ELSE 1 OR C, , ( LONG )         ENDIF ;                                                       : OP, ( COMPILE BYTE OR WORD )    DUP 0FF00 AND                   IF , ELSE C, ENDIF ;                                          : ABS, >R ( COMPILE ABS ADR OP )  OVER 0FF00 AND DPR =            IF R> DROP OP, C, ( DIR PAGE)   ELSE R> OR OP, ,   ( EXT )      ENDIF ;                                                       : PCOFF  ( ABSOLUTE TO PC REL )   HERE + 1+ - ( CALC OFFSET )     DUP 7F > OVER -80 < OR          IF 1- 0 ( WORD OFF )            ELSE -1 ( BYTE OFF ) ENDIF ;                                  : ?ABS ( TRUE IF ABSOLUTE )       DUP NOT 0= = ; ( USE T/F VAL)                                 : PCR, ( COMPILE A PC REL INDEX)  >R ?ABS NOT 25 ?ERROR           1 PCOFF IF R> C, C, ( BYTE )    ELSE R> 1 OR C, , ENDIF ; --> ( AUTO MASK, REG, IXOFF, EI, )                   ( JMR-89JAN2 )  ASSEMBLER DEFINITIONS          4155.0082 DCONSTANT -) ( AUTO ) 4155.0081 DCONSTANT )++ ( REG ) 4155.0080 DCONSTANT )+ ( MODE ) 4155.0083 DCONSTANT --) ( CONS)  ^asm-util DEFINITIONS                                          : MASK, OR C, ; ( FOR POSTBYTE)                                 : REG, ( REG OFF TO POST-BYTE )   SWAP DUP D DROP =                 OVER A DROP = OR OVER           B DROP = OR NOT 26 ?ERROR     SWAB OR C, ;                   ( REG, USES DUAL CODED REGS )                                  : IXOFF, ( REGISTER + CONSTANT )  OVER IF OVER ( NON-ZERO? )        DUP 0F > SWAP -10 < OR          OVER 10 AND OR ( []? )          IF 88 OR OFF, ( EXTERNAL )      ELSE ( OFFSET IN POST-BYTE)       SWAP 1F AND OR C,             ENDIF                         ELSE 84 OR C, DROP ( 0 OFF )    ENDIF ;                                                       : EI,  ( EXTENDED INDIRECT )      SWAP ?ABS NOT 27 ?ERROR         C, , ; -->                    ( IX, , INDIRECT )                               ( JMR-89JAN4 ) : IX, ( COMPILE AN INDEX MODE )   DUP 9F = IF EI,                 ELSE DUP 8F AND 8C = IF PCR,      ELSE SWAP DUP 4155 =              IF DROP MASK, ( AUTO )          ELSE DUP 5245 =                   IF DROP REG,                    ELSE ?ABS NOT 22 ?ERROR           IXOFF, ENDIF            ENDIF ENDIF ENDIF ;                                            ASSEMBLER DEFINITIONS          : , ( CONVERT TO INDEX )          5245 = ( REGISTER? )            OVER 00FF AND DUP 0 > SWAP      6 < AND ( X Y U S PC ? )        AND NOT 28 ?ERROR               SWAB 4958 ;                                                   : ) ( CONVERT TO INDIRECT )       DUP 5245 = ( REGISTER? )        IF ( ASSEMBLER ) ,              ELSE DUP [ ^asm-util ] ?ABS       [ ASSEMBLER ] IF 4958.009F      ELSE ( INDEX? )                   DUP 4958 = NOT 27 ?ERROR    ENDIF ENDIF ( SET BIT 4 )       SWAP 10 OR SWAP ;       -->                                                                   ( ACCM UNARY REG )                               ( JMR-89JAN5 )  ^asm-util DEFINITIONS HEX      : ACCM ( ENCODE ACCUMULATOR )     SWAP DUP 0FE AND ( A OR B? )    8 = NOT 29 ?ERROR               1 AND ( MASK B IN? )            IF OR ELSE DROP ENDIF ;                                       : UNARY ( OP-CODE COMPILER )      <BUILDS 0F AND C, ( OP-CODE )   DOES> C@ ( OP-CODE )            OVER 5245 = ( REGISTER? )       IF DUP 0E = 29 ?ERROR ( JMP?)     40 OR ROT 10 ACCM C, DROP     ELSE OVER 4958 = ( INDEX? )       IF 60 OR C, DROP IX,            ELSE SWAP ?ABS NOT 21 ?ERROR      70 ( EXT BITS ) ABS,        ENDIF ENDIF ;                                                 : REG ( ENCODE TARGET REG )       DUP C@ 8D = IF C@ 1 ( JSR )     ELSE SWAP 5245 - 29 ?ERROR        OVER DUP A DROP =               SWAP B DROP = OR                IF C@ SWAP 40 ACCM 0 ( BYTE)    ELSE SWAP 00FF AND ( REG? )       OVER 1+ C@ ( CT? ) OVER         > NOT 29 ?ERROR ( RANGE )       2* + 2+ @ -1 ( WORD REG )   ENDIF ENDIF ; -->             ( #, BINARY REG-REG )                           ( JMR-89JAN12 ) : #, ( COMPILE AN IMMEDIATE )     SWAP DUP 0F AND 5 - ( BIT OK)   OVER 5 AND 5 = ( ST OR JSR? )   AND 24 ?ERROR    OP,            IF BIF , [ ^asm-util ] ( WORD)  ELSE C, ENDIF ;      ( BYTE )                                 : BINARY ( OP-CODE COMPILER )     <BUILDS 8F AND C, ( A/B OP )    05 AND DUP C, -DUP IF ( OP CT)    0 DO 11CF AND BIF , ( DXYUS)      [ ^asm-util ] LOOP ENDIF    DOES> REG ROT ( SOURCE )        DUP 4958 = IF ( INDEX ? )         DROP DROP 20 OR OP, IX,       ELSE DUP 494D = ( IMMEDIATE? )    IF DROP #,                      ELSE ?ABS NOT 21 ?ERROR           DROP 10 OR 20 ABS,          ENDIF ENDIF ;                                                                                 : REG-REG ( OP-CODE COMPILER )    <BUILDS C, ( OP-CODE ) DOES>    C@ C, ( OP-CODE )               5245 = ROT 5245 = AND           NOT 23 ?ERROR ( 2 REGS? )       0F AND SWAP SWAN 0F0 AND        OR C, ; -->                                                   ( REG-BITS PACK MOVEM )                         ( JMR-89JAN12 ) 0 0B 1 1ARRAY REG-BITS ( PACK )  0 REG-BITS ( INITIALIZE )       06 OVER C! 1+ 10 OVER C! 1+     20 OVER C! 1+ 40 OVER C! 1+     40 OVER C! 1+ 80 OVER C! 1+     -1 OVER ! 2+ ( UNDEFINED )      02 OVER C! 1+ 04 OVER C! 1+     01 OVER C! 1+ 08 SWAP C!        ( STABILIZE PACK: UNDEF=ALL )                                  : PACK >R 0 ( PSH/PUL LIST )      BEGIN OVER 5245 = WHILE           SWAP DROP SWAP ( REG )          DUP R = 2A ?ERROR ( SELF? )     0FF AND REG-BITS C@ ( BIT )     OVER OVER AND 2B ?ERROR         OR REPEAT ( ^ IS DUPLICATE?)  R> DROP ;                                                     : MOVEM ( OP-CODE COMPILER )      <BUILDS 0FD AND C, DOES> ( OP)  C@ >R ( OP ) 5245 = OVER        1+ 0FE AND 4 = AND ( S OR U?)   NOT 2C ?ERROR                   R> OVER U DROP = ( SELECT S/U)  IF 2 OR ENDIF C,                PACK DUP 0= 2D ?ERROR           C, ; -->                                                                                      ( BR DCOND CC-IMM IMPLY )                       ( JMR-89JAN13 )  ASSEMBLER DEFINITIONS          : BR ( COMPILE CONDITIONAL BR )   434F - 2F ?ERROR ( CONDITION?)  [ ^asm-util ] SWAP ( ADR? )     ?ABS NOT 21 ?ERROR              SWAP 1 PCOFF IF ( SHORT )         SWAP DUP 0<                     IF 0FF AND ( BSR )              ELSE 0F AND 20 OR ENDIF         C, C, ( BOTH BYTES )          ELSE SWAP DUP 01000 AND           IF SWAB 017 AND ( BSR/BRA )     ELSE 0F AND 1020 OR               SWAP 1- SWAP ENDIF            OP, BIF , ENDIF ; ASSEMBLER  ^asm-util DEFINITIONS          : DCOND ( CONDITIONAL OPERANDS)   434F DCONSTANT ;                                              : CC-IMM ( OP-CODE COMPILER )     <BUILDS C, ( OP-CODE ) DOES>    C@ C, ( OP-CODE )               494D - 2E ?ERROR ( IMMEDIATE?)  C, ;                                                          : IMPLY    ( OP-CODE COMPILER )   <BUILDS BIF , ( OP-CODE )       DOES> @ OP, ; -->                                                                             ( MNEMONICS )                                   ( JMR-89JAN13 )  ASSEMBLER DEFINITIONS           ^asm-util                       10CE 0CE 108E 8E 0CC 5 86      BINARY LD                        10CF 0CF 108F 8F 0CD 5 87      BINARY ST                        118C 1183 108C 8C 1083 5 81    BINARY CMP                      35 MOVEM PUL    34 MOVEM PSH    46 UNARY ROR    49 UNARY ROL    39 IMPLY RTS    3B IMPLY RTI    0 82 BINARY SBC 978D DCOND SR   1F REG-REG TFR  4D UNARY TST    83 1 80 BINARY SUB              103F IMPLY SWI2 113F IMPLY SWI3 3F IMPLY SWI    13 IMPLY SYNC   0 84 BINARY AND 0 89 BINARY ADC 48 UNARY ASL    47 UNARY ASR    0C3 1 8B BINARY ADD             3A IMPLY ABX    5 DCOND CS      43 UNARY COM    4F UNARY CLR    1600 DCOND AL   0 85 BINARY BIT 4A UNARY DEC    19 IMPLY DAA    2 DCOND HI      0B DCOND MI     7 DCOND EQ      0C DCOND GE     1E REG-REG EXG  4C UNARY INC    0 8D BINARY JSR 4E UNARY JMP    0 88 BINARY EOR 0E DCOND GT     4 DCOND HS      12 IMPLY NOP    3 DCOND LS      0A DCOND PL --> ( MORE MNEMONICS )                              ( JMR-89JAN13 ) 44 UNARY LSR    48 UNARY LSL    0D DCOND LT     6 DCOND NE      3D IMPLY MUL    40 UNARY NEG    0 8A BINARY OR  1A CC-IMM ORCC  1 DCOND NV      1D IMPLY SEX    1C CC-IMM ANDCC 3C CC-IMM CWAI  8 DCOND VC      9 DCOND VS      4 DCOND CCLR ( LO LE FOLLOW )                                    ^asm-util DEFINITIONS          1 4 1 1ARRAY EA-IX ( TRANSLATE)  1 EA-IX ( INITIALIZE )          0 OVER C! 1+    1 OVER C! 1+    3 OVER C! 1+    2 SWAP C!                                       ASSEMBLER DEFINITIONS          : LEA ( OP-CODE ASSEMBLER )       5245 - 23 ?ERROR ( REGISTER?)   0F BIF AND [ ^asm-util ]        EA-IX C@  30 BIF OR C,          4958 - 21 ?ERROR ( INDEX? )     [ ^asm-util ] IX, ;                                           0F DCOND LE     5 DCOND LO -->                                                                                                                                                                                                  ( [CD]  & ! ^ NEXT )                            ( JMR-89JAN17 )  ASSEMBLER DEFINITIONS BIF HEX  : [CD]   ( CFA OF DEF )           -IFIND DROP DUP 0= 0 ?ERROR     CFA 0 [COMPILE] DLITERAL ;     IMMEDIATE                                                      CREATE &  [CD] AND JMP SMUDGE   CREATE !  [CD]  OR JMP SMUDGE   CREATE ^  [CD] XOR JMP SMUDGE                                    ASSEMBLER                      : NEXT )++ Y ) JMP ; -->                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( INVERTCC LIF IF )                              ( JMR-89FEB3 )  ^asm-util DEFINITIONS  HEX                                     CREATE INVERTCC ( CONDITIONS )    0. U , X LD 434F # X CMP        HERE DUP 2+ 0 NE BR ( CC? )     2. U , D LD ( BSR? )            HERE DUP 2+ 0 MI BR             A CLR 1 # B EOR ( TOGGLE CC )   HERE 4 + 0 NE BR ( ALWAYS? )    AL DROP SWAB # A LD             2. U , D ST   NEXT ( FILL BR)   1+ HERE OVER 1+ - SWAP C!       1+ HERE OVER 1+ - SWAP C!       2F # D LD D U PSH ( TO ERROR)   [CD] ERROR JMP SMUDGE                                          ASSEMBLER DEFINITIONS                                          : LIF ( MARK AND ASM LONG BR )    [ ^asm-util ] INVERTCC          [ ASSEMBLER ] >R >R             HERE 4146 ( MARK )              [ UTILITIES ] [CD] RES-ERROR    [ ASSEMBLER ] R> R> BR ;                                      : IF ( MARK AND ASM SHORT BR )    [ ^asm-util ] INVERTCC          [ ASSEMBLER ] >R >R             HERE 4146 ( MARK )              OVER 2+ 0 R> R> BR ; -->      ( FILL-IN )                                      ( JMR-89FEB7 )  ^asm-util DEFINITIONS                                          CREATE FILL-IN ( BR OFFSETS )     UTILITIES DP@ 0 X LD DP DP@ @    - ASSEMBLER 0 X , D LD         0. U , D SUB  D U PSH ( OFFS)   2. U , X LD  0. X , D LD ( BR)  16 # A CMP ( ALWAYS? )          HERE DUP 2+ 0 EQ BR             0FE # A AND  0F0 # B AND        1020 # D CMP ( LONG? )          HERE DUP 2+ 0 EQ BR             ( SHORT BRANCH )                0F0 # A AND  20 # A CMP ( BR?)  UTILITIES [CD] RES-ERROR        ASSEMBLER NE BR                 0. U , D LD  7E # D ADD A TST   UTILITIES [CD] RES-ERROR        ASSEMBLER NE BR ( TOO FAR? )    80 # B SUB                      1. X , B ST ( OFFSET )          HERE 4. U , U LEA NEXT          ROT 1+ HERE OVER 1+ - SWAP C!   0. U , D LD ( LONG BR ALWAYS)   3 # D SUB  1. X , D ST          DUP 0 AL BR SWAP                1+ HERE OVER 1+ - SWAP C!       0. U , D LD ( LONG BR COND )    4 # D SUB  2. X , D ST          0 AL BR SMUDGE -->            ( ELSE LELSE ENDIF )                             ( JMR-89FEB6 )  ASSEMBLER DEFINITIONS HEX       ^asm-util                                                      : ELSE ( SHORT BRANCH, RESOLVE)   4146 ?PAIRS                     >R NV IF R> FILL-IN ;                                         : LELSE ( LONG BRANCH, RESOLVE)   4146 ?PAIRS                     >R NV LIF R> FILL-IN ;                                        : ENDIF 4146 ?PAIRS FILL-IN ;                                   : BEGIN HERE 4142 ;                                             : UNTIL ( COND BR TO BEGIN )      >R >R 4142 ?PAIRS 0             R> R> INVERTCC BR ;                                           : WHILE ( COND BR PAST REPEAT )   ROT 4142 ?PAIRS                 IF DROP 4157 ;                                                : REPEAT ( LOOP, RESOLVE WHILE)   4157 ?PAIRS SWAP 0 AL BR        FILL-IN ;                                                     : LWHILE ( LONG WHILE )           ROT 4142 ?PAIRS                 LIF DROP 4157 ;  -->          ( :ASM ;ASM )                                   ( JMR-89MAR28 )  ASSEMBLER DEFINITIONS HEX                                      : :ASM CREATE !CSP ;                                            : ;ASM ?CSP SMUDGE ;                                            : I-CODE ( SHIFT TO HI-LEVEL )    [ ' :ASM CFA @ ] LITERAL        [ BIF ] , ( ASMBL JMP <XCOL )   DROOT @ ROOT !  ] ; ( COMPILE) ASSEMBLER                                                                                                                      : MACHINE ( SHIFT TO LO-LEVEL )   COMPILE (MACHINE) ( IN DEF )    [COMPILE] [ ( NOW INTERPRET )   [COMPILE] ASSEMBLER ;          IMMEDIATE  ;S                                                                                                                  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( D! D@ )                                       ( JMR-89FEB16 )  BIF DEFINITIONS ASSEMBLER                                      :ASM D! ( STORE DBL ) X U PUL     D U PUL  0. X , D ST            D U PUL  2. X , D ST            NEXT ;ASM                                                     :ASM D@ ( FETCH DBL ) X U PUL     0. X , D LD    2. X , X LD      D X U PSH   NEXT  ;ASM                                        :ASM DOVER ( DOUBLE OVER DOUBLE)  4. U , D LD   6. U , X LD       D X U PSH     NEXT  ;ASM                                      :ASM DSWAP ( SWAP DOUBLES )       4. U , D LD    0. U , X LD      4. U , X ST    0. U , D ST      6. U , D LD    2. U , X LD      6. U , X ST    2. U , D ST      NEXT ;ASM                      ;S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
\ No newline at end of file