OSDN Git Service

a0f571d2e30d429a588821a1e05be93aa681c6cb
[bif-6809/bif-6809.git] / cross_v / BIFB.ASM
1 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