OSDN Git Service

Barely tested. bifsource.dsk/BIF6809.BIN EXEC &H1300 -- Should be able to compile...
[bif-6809/bif-6809.git] / edtasm_v / BIF1.ASM
1 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