changeset 120:fbb3301a2564

TL1 source fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 04 Jan 2019 17:33:04 +0900
parents b4e43c5bc0fd
children 6ebaa9693310
files TL1/TL1.txt src/a09.c
diffstat 2 files changed, 25 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/TL1/TL1.txt	Fri Jan 04 16:34:34 2019 +0900
+++ b/TL1/TL1.txt	Fri Jan 04 17:33:04 2019 +0900
@@ -38,7 +38,7 @@
 1370 GLL RMB 1 
 1380 INDEX RMB  1
 1390 RMCODE RMB 1
-1400 ACC  RMB 1
+1400 ACC RMB 1
 1410 LSIZE RMB 1
 1420 TCOUNT RMB 1 
 1430 TEND RMB 2 
@@ -100,7 +100,7 @@
 1990 PLOOP LDA  SY
 2000  CMPA #$8F /END CODE
 2010  LBEQ ENDL
-2020  CMPA $4
+2020  CMPA #$4
 2030  BCC ERR4
 2040  DECA
 2050  STA  AMODE
@@ -194,7 +194,7 @@
 2930 SSTAT CLRA
 2940  STA ACC 
 2950  STA SSW 
-2960  LDY SY
+2960  LDA SY
 2970 **
 2980 *  MULTIPLE STATEMENTS
 2990 **
@@ -234,7 +234,7 @@
 3330  DECB 
 3340  BEQ RETP
 3350  LBSR EXPR
-3360 RETP ,_BSR PUTHS
+3360 RETP LBSR PUTHS
 3370  FDB $037E
 3380  FDB PULLB
 3390  RTS
@@ -426,7 +426,7 @@
 5250  PULS B
 5260  CMPB INDEX 
 5270  BEQ *+4
-5280  CLRB 
+5280  CLR INDEX 
 5290  BRA PLUOUT 
 5300 SLAOUT LBRA PSHJMP
 5310 PEROUT LBRA STCHG
@@ -566,7 +566,7 @@
 6650  CMPB INDEX 
 6660  BEQ RTS11 
 6670  STB INDEX 
-6680 ADDB #LB+1
+6680  ADDB #LB+1
 6690  LDA #$DE 
 6700 ***
 6710 * PUT ACC A&B
@@ -600,7 +600,7 @@
 6990 **
 7000 ERROR LBSR PUTSTR
 7010  FDB $0D0A
-7020  FCS "ERROR"
+7020  FCC "ERROR ",0
 7030  LDX TEND
 7040  LEAX 1,X
 7050  NEG ,X
@@ -631,7 +631,7 @@
 7300 **
 7310 *  COMMENT
 7320 **
-7330 WD2 CMPA  #'%'
+7330 WD2 CMPA #'%'
 7340  BNE WD3
 7350  BSR GETCH
 7360  CMPA #$20
@@ -986,15 +986,15 @@
 10850   STB INDEX 
 10860   LDA #$86 
 10870   LDB LSIZE
-10880
-10890
+10880  LBSR PUTAB
+10890  PULS A
 10900  CMPA #$C0
 10910  BCC *+5
 10920  LBRA CALPF
 10930  LDX #LIBR
 10940  SUBA #$C0
 10950 PFC3 BEQ PFC4
-10960  LBSR PUTA
+10960  LEAX 2,X
 10970  DECA
 10980  BRA PFC3
 10990 PFC4 LDA #$BD
@@ -1124,7 +1124,7 @@
 12230 **
 12240 TWICE LBSR PUTSTR
 12250  FCB $0D,$0A
-12260  FCS "TWICE!"
+12260  FCC "TWICE!",0
 12270  JMP GAME
 12280 **
 12290 * DEF PROC-FUNC
@@ -1266,7 +1266,7 @@
 13650  PSHS A
 13660  LBSR PUTSTR
 13670  FDB $0D0A
-13680  FCS "UNDEF"
+13680  FCC "UNDEF",0
 13690  PULS A
 13700  LBSR PUTCA
 13710  PULS A
@@ -1313,7 +1313,7 @@
 14120  FCB $39,-'=' 
 14130  FCB $3A,-']'
 14140  FCB $3B,-')'
-14150  FCB $3C,-';'
+14150  FCB $3C,-','
 14160  FCB $3D,-':'
 14170  FCB $50,-'S'
 14180  FCC "TOP"  
@@ -1328,7 +1328,7 @@
 14270  FCB $61,-'T'  
 14280  FCC "O"
 14290  FCB $52,-'R'
-14300  FCC "EPEATI1
+14300  FCC "EPEAT"
 14310  FCB $60,-'U'
 14320  FCC "NTIL"
 14330  FCB $54,-'W'  
@@ -1352,18 +1352,18 @@
 14510  FCB $6C,-'"'
 14520  FCB $8B,-'+'
 14530  FCB $80,-'-'
-14540  FCB $8E -'*'  
+14540  FCB $8E,-'*'  
 14550  FCB $8F,-'/'
 14560  FCB $82,-'S'
 14570  FCC "BC"
-14580  FCB $84 —'A'
+14580  FCB $84,-'A'
 14590  FCC "ND"
 14600  FCB $88,-'E'
 14610  FCC "OR"
 14620  FCB $89,-'A'  
 14630  FCC "DC"
 14640  FCB $8A,-'O'  
-14650  FCC ”R"
+14650  FCC "R"
 14660  FCB $22,-'>'  
 14670  FCB $25,-'<'
 14680  FCB $26,-'#'
@@ -1399,7 +1399,7 @@
 14980 **
 14990 SYSTEM EQU $8837
 15000 RUB EQU $8
-15010 STACK EQU $FEE00
+15010 STACK EQU $FE00
 15020 ** OBJECT START
 15030 C LDS #STACK
 15040 VARPTR LDX #0
@@ -1430,7 +1430,7 @@
 15290 **
 15300 RND PSHS A
 15310  LDA RNDL
-15320  LDB $125
+15320  LDB #125
 15330  MUL
 15340  ADDD #1
 15350  STA RNDL
@@ -1472,7 +1472,7 @@
 15710 ERDIV STB OUTDN
 15720  LBSR CRLF
 15730  LBSR PUTSTR
-15740  FCC "ERR DIV 0"
+15740  FCC "ERR DIV 0",0
 15750 MONIT JMP SYSTEM
 15760 **
 15770 MULT MUL
@@ -1497,7 +1497,7 @@
 15960  PULS B
 15970  DECB
 15980  BNE P0
-15990  COMA 3,X
+15990  COM 3,X
 16000  LDA #'0'
 16010  LDB #4
 16020 P1 LEAX 1,X
--- a/src/a09.c	Fri Jan 04 16:34:34 2019 +0900
+++ b/src/a09.c	Fri Jan 04 17:33:04 2019 +0900
@@ -1278,6 +1278,7 @@
  case 7:/* FCB */
         generate();
         setlabel(lp);
+fcb:
         do {
         if(*srcptr==',')srcptr++;
         skipspace();
@@ -1299,8 +1300,9 @@
         skipspace();
         c=*srcptr++;
         while(*srcptr!=c&&*srcptr)
-         putbyte(*srcptr++);
+          putbyte(*srcptr++);
         if(*srcptr==c)srcptr++;
+        if(*srcptr==',') goto fcb;
         break;
  case 9:/* FDB */
         generate();