OSDN Git Service

extracts okay, formats okay, no insertion into images, still must use dd to build...
[bif-6809/bif-6809.git] / edtasm_v / BIFST.ASM
1 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