changeset 118:8f2154d95a04

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 04 Jan 2019 10:47:39 +0900
parents f8f44153f8c1
children b4e43c5bc0fd
files TL1/TL1.txt TL1/toasm.pl src/a09.c
diffstat 3 files changed, 69 insertions(+), 60 deletions(-) [+]
line wrap: on
line diff
--- a/TL1/TL1.txt	Fri Jan 04 07:39:19 2019 +0900
+++ b/TL1/TL1.txt	Fri Jan 04 10:47:39 2019 +0900
@@ -29,8 +29,8 @@
 1280 SREG RMB 2
 1290 SP RMB 2
 1300 PFMAX RMB 2 
-1310 LSW RMB 2 
-1320 SY RMB 2
+1310 LSW RMB 1 
+1320 SY RMB 1
 1330 CH RMB 1 
 1340 VAL RMB 1 
 1350 GL RMB 1 
@@ -43,12 +43,12 @@
 1420 TCOUNT RMB 1 
 1430 TEND RMB 2 
 1440 WEND RMB 2
-1450 PMODE RMB 1
+1450 AMODE RMB 1
 1450 RSW RMB 1
 1470 GEND RMB 2
 1480 SSW RMB  1
 1490
-1500 ORG $5000
+1500  ORG $5000
 1510 **
 1520 COMP LDA #BASE
 1530  TFR A,DP
@@ -56,7 +56,7 @@
 5005  STA OUTDN
 5006  STA LSW
 1570  STA INDEX
-1580  STA PMODE
+1580  STA AMODE
 1590  STA LSIZE
 1600  STA RSW
 1610  STA PFMAX
@@ -103,7 +103,7 @@
 2020  CMPA $4
 2030  BCC ERR4
 2040  DECA
-2050  STA  PMODE
+2050  STA  AMODE
 2060  LDA VAL
 2070  LBSR DEFPF
 2080  LBSR PUTHS
@@ -118,7 +118,7 @@
 2170  LDA #$38 )
 2180  LBSR CHECK
 2190 PL1 BSR PROG
-2200  LDB PMODE
+2200  LDB AMODE
 2210  CMPB #1
 2220  BNE *+5
 2230  LBSR RETP
@@ -224,7 +224,7 @@
 3250 **
 3260 SS3 CMPA #$51
 3270  BNE SS4
-3280  LDB PMODE
+3280  LDB AMODE
 3290  LBEQ ERR4
 3300  PSHS B
 3310  BSR WORD1
@@ -246,7 +246,7 @@
 3470  LBRA PFCALL
 3480 **
 3490 * ASS I GMENT STATEMENT 
-3500**
+3500 **
 3510 SS5 CMPA #7
 3520  BCS ASSIGN
 3530  LBRA SS6
@@ -273,14 +273,14 @@
 3740  LBSR DSUBSC 
 3750  LDA #2
 3760  BRA AS2 
-3770  CMPA #4
+3770 ASS2  CMPA #4
 3780  BEQ *+5 
 3790  LBRA ERROR 
 3800  LBSR WORD 
 3810 AS1 CLRA 
 3820 AS2 PSHS  A 
 3830  LDA SY
-3840  CMPA #S3C
+3840  CMPA #$3C
 3850  BNE  *+9
 3860  LBSR  WORD 
 3870  BSR   ASSIGN
@@ -375,7 +375,7 @@
 4760  STA GLL
 4770  STB OPER
 4780  LDA #$A1
-4790  LBSR PUTABSX
+4790  LBSR PUTABX
 4800  LBSR PUTHS
 4610  FCB 2
 4020  FDB $2305
@@ -441,7 +441,7 @@
 5420  STB ACC 
 5430  LBSR LEXPR 
 5440  LDA #$81 
-5450  LBSR ROPER
+5450  LBSR AOPER
 5460  LBSR PUTHS
 5470  FCB 2
 5480  FDB $2703
@@ -492,9 +492,9 @@
 5950 WR01 CMPA #"""
 5960  BEQ WR02
 5970  LBSR PUTA
-5980  LBSR GFTCH
-5390  BRA WRO1
-6000 WRO2 CLRA
+5980  LBSR GETCH
+5390  BRA WR01
+6000 WR02 CLRA
 6010  STA INDEX
 6020  LBSR PUTA
 6030  LBSR GETCH
@@ -535,7 +535,7 @@
 6390 WR5 CMPA #$26
 6400  BNE WR6
 6410  LBSR DSUBSC
-5420  LBSR PUTPLB
+6420  LBSR PUTPLB
 6430  LBSR PUTHS
 6440  FDB $03BD
 6450  FDB PUTDA+1
@@ -572,7 +572,7 @@
 6760 * PUT ACCA RS AN OBJECT
 6770 **
 6780 PUTA STX RNDH
-6790  LBSR ROUT
+6790  LBSR AOUT
 6800  LDX RNDH
 6810  RTS
 6820 •*
@@ -645,7 +645,7 @@
 7490  STA CH
 7500  PULS X,PC
 7510 * HEX CONSTANT
-75221 WD4 CMPA #"$"
+7520 WD4 CMPA #"$"
 7530  BNE WD5
 7540 WD40 BSR GETCH
 7560  BEQ WD41
@@ -679,7 +679,7 @@
 7840 NT CLRB
 7350  RTS
 7860 ** DECIMAL CONSTANT
-7870 W5 BSR TSTNA
+7870 WD5 BSR TSTNA
 7883  BNE WD6
 7890 WD50 SUBA #"0"
 7900  PSHS A
@@ -693,7 +693,7 @@
 7980  BEQ WD50
 7990  RTS
 8000 * THE OTHER WORDS
-8010  LDX TEND
+8010 WD6 LDX TEND
 8020  PSHS A
 8030  NEGA
 8040  LEAX 1,X
@@ -705,8 +705,8 @@
 8100  BSR TSTNA
 8110  BCS *+4
 8120  BNE TLOOK1
-8130  BSR STRONE
-8140  BRA  W061
+8130  BSR STAONE
+8140  BRA  WD61
 8150 STAONE STA ,X+
 8160  STX WEND
 8170  BRA GETCH 
@@ -717,7 +717,7 @@
 8220 **
 8230 * WORD TABLE SEARCH
 8240 **
-8250 TLOOK LDA TCOUNG 
+8250 TLOOK LDA TCOUNT 
 8260  STA SY
 8270  LDX TEND 
 8280 S01 LDU WEND 
@@ -734,7 +734,7 @@
 8390 S05 DEC SY
 8400  BNE S01
 8410  LBRA ERROR
-8420 S6 TSTA 
+8420 S06 TSTA 
 8430  BPL S02
 8440  LDB ,-X
 8450  STB VAL
@@ -746,7 +746,7 @@
 8510  CMPA #4 
 8520  BCS  RTSS
 8530  LDB  #1
-8540  TST PMODE
+8540  TST AMODE
 8550  BEQ *+6
 8560  CMPA #6
 8570  BCS *+3 
@@ -767,7 +767,7 @@
 8620 **
 8730 * LOGICAL EXPRESSION
 8640 **
-8750 LEXPR BSR REEXPR
+8750 LEXPR BSR REXPR
 8760 LE1 LDY SY
 8770  CMPA #$82
 8780  BCS RTE
@@ -810,7 +810,7 @@
 9150  FCB $3,$4F,$20,$02,$86,$FF
 9160  BRA RE1
 9170 ** ADDING OPERATFR
-9180 ROPER LDB LSW
+9180 AOPER LDB LSW
 9190  BNE OCORD 
 9200  PSHS A
 9210  CMPA #$80 
@@ -847,7 +847,7 @@
 9520 PUTPUL LBSR PUTHS
 9530  FCB 2
 9540  FDB $1632
-9550  RTS 
+9550 RTE1 RTS 
 9560
 9570
 9580  BRA PUTA1
@@ -864,7 +864,7 @@
 9690  LBSR WORD
 9700  BSR MEXPR
 9710  PULS A
-9720  BSR ROPER
+9720  BSR AOPER
 9730  BRA AE1
 9740 **
 9750 *  MUTIPLYING EXPRESSION
@@ -910,11 +910,11 @@
 10150  LDA GL
 10160  STA GLL
 10170  PULS A
-10180  STA PMODE 
+10180  STA AMODE 
 10190  COM LSW 
 10200  LBRA WORD 
 10210 * CONSTfTRUE & FALSE
-10220
+10220 TM1
 10230  BEQ TM01
 10240   CMPA #$A1
 10250   BNE TM2
@@ -949,7 +949,7 @@
 10540 TM5    CMPA #3
 10550   BMI *+6
 10560   CMPA #$E0
-10570   BCS TMG
+10570   BCS TM6
 10580   BSR OLP 
 10590 PFCALL LDA VAL
 10600   PSHS A 
@@ -976,7 +976,7 @@
 10810   LDA #$3B 
 10820   LBSR CHECK 
 10830 PFC1 LDB #-1 
-10840   STB RCC 
+10840   STB ACC 
 10850   STB INDEX 
 10860   LDA #$86 
 10870   LDB LSIZE
@@ -996,7 +996,7 @@
 11010  LDD ,X
 11020  LBRA PUTAB
 11030 **
-11040 OLP LBSR OLORD
+11040 OLP LBSR OLOAD
 11050  LDB ACC 
 11060  BEQ RTS4
 11070  LDA #$36 
@@ -1005,7 +1005,7 @@
 11100 RTS4 RTS
 11110 ** FUNCTION RND
 11120 TM6 CMPA #$70 
-11130  BNE T161 
+11130  BNE TM61 
 11140  BSR SUBSC
 11150  LBSR PUTHS
 11160  FCB $03BD
@@ -1040,7 +1040,7 @@
 11450  PULS A
 11450  LBRA PUTA
 11470 * ARRAY
-11480 TMS CMPA #$5
+11480 TM8 CMPA #$5
 11490  BNE TM9
 11500  LDB VAL
 11510  PSHS B
@@ -1055,23 +1055,23 @@
 11600  ADDB OPER 
 11610  STB OPER
 11620  LDA #$20 
-11630  STA ANODE
+11630  STA AMODE
 11640  RTS 
 11650 ARY1 LDA #$8B
 11660  LBSR PUTABX
 11670  LBRA LDAAX
 11680 **
 11690 DSUBSC LDA #$3C
-11700  BSR SIUBS1
+11700  BSR SUBS1
 11710  LDA #$3B
 11720  PSHS A
 11730  BRA SUBS2
 11740 SUBSC LDA #$3E
-11750 SUBC1 PSHS A
+11750 SUBS1 PSHS A
 11760  LBSR WORD
 11770  LDA #$37
 11780  LBSR CHECK
-11790  LBSR EXPR
+11790 SUBS2 LBSR EXPR
 11800  PULS A 
 11810  LBRA CHECK
 11820 SUBSC1 LBSR WORD
@@ -1083,7 +1083,7 @@
 11880  LDB AMODE
 11890  BEQ SBS5
 11900  LBSR OLOAD
-11910 SB35 LDA #$3A
+11910 SBS5 LDA #$3A
 11920  LBRA CHECK
 11930 * MEM FUNCTION
 11940 TM9 CMPA #6
@@ -1098,7 +1098,7 @@
 12030  CLR INDEX 
 12040  RTS
 12050 ** FOR EXPANTION
-12060 TMI0 BRA ERROR
+12060 TM10 BRA ERROR
 12070 **
 12080 * LIBRARY ADDRESSS TABLE
 12090 **
@@ -1142,9 +1142,9 @@
 17480  STX YR
 12490  BRA DP1
 12500 **
-12510 * CALL POR0-FUNC
+12510 * CALL PORC-FUNC
 12520 **
-12530 CRLPF BSR SETPFT
+12530 CALPF BSR SETPFT
 12540  INCA
 12550  CMPA PFMAX
 12560  BCS *+4
@@ -1178,7 +1178,7 @@
 12840 PT10 RTS
 12850 **
 12860 JMPOUT LDA #$7E
-12870 ROUT LDX PC
+12870 AOUT LDX PC
 12880  STA ,X
 12890  BRA INCPC1
 12900 **
@@ -1209,12 +1209,12 @@
 13150 **
 13160 * PUSH STRCK & DEFINE
 13170 **
-13189 TSHDEF LDX SP
+13189 PSHDEF LDX SP
 13190  BSR PCST
 13200  LEAX -2,X
 13210  STX SP
 13220  RTS
-13240 OUTPC3 BSR ROUT 
+13240 OUTPC3 BSR AOUT 
 13250  LDD PC
 13260  ADDD #3
 13270  BRA PCST2
@@ -1223,7 +1223,7 @@
 13300 LDAAX LDA #$B7
 13310  BSR OUTPC3
 13320  LDA #$A6
-13730 LA1 BSR ROUT 
+13730 LA1 BSR AOUT 
 13340  BRA INCPC1
 13350 **
 13360 * STA B,X
@@ -1274,7 +1274,7 @@
 13820  LDA ,X+
 13830  BEQ LEND
 13840 MEM1 STX SREG
-13850 MEM2 LBRA PUTCR
+13850 MEM2 LBRA PUTCA
 13860 LEND LDA #$D 
 13870  BSR MEM2
 13860  LDA #$A
@@ -1394,7 +1394,7 @@
 15020 ** OBJECT START
 15030 C LDS #STACK
 15040 VARPTR LDX #0
-15050  STX G8
+15050  STX GB
 15060  STX LB
 15070 OBJMP JMP >0
 15080 **
@@ -1459,7 +1459,7 @@
 15680  TSTA
 15690  RTS
 15700 **
-15710 ERDIV STB COUTDN
+15710 ERDIV STB OUTDN
 17720  LBSR CRLF
 15730  LBSR PUTSTR
 15740  FCC "ERR DIV 0"
@@ -1499,7 +1499,7 @@
 16080  PSHS B
 16090  SUBA ,S+
 16100  BCS PRX
-16110  BSR SPACER
+16110  BSR SPACEA
 16120 PRX LDB ,X
 16130  BEQ P4
 16140  BSR PUTCA 
@@ -1534,13 +1534,13 @@
 16430 **
 16445 * SPACE A TIMES 
 16455 **
-16460 SPFICEA BEQ CL1
+16460 SPACEA BEQ CL1
 16470  PSHS A
 16485  LDA #" "
 16490  BSR PUTCA
 16500  PULS A
 16310  DECA
-16520  BRA SPACER
+16520  BRA SPACEA
 16530 **
 16540 * STR OUT
 16550 **
@@ -1557,7 +1557,7 @@
 16660 **
 16670 CRLF LDA #$0D
 16680  BSR PUTCA 
-16690  LDA LDA #$0A
+16690  LDA #$0A
 16755  BRA PUTCA
 16710 **
 16725 * CRLF A TIMES
@@ -1593,7 +1593,7 @@
 17020  RMB 4
 17030  RMB 14
 17040 **
-17050 * OUTPUT ROUTINE ADDRESS
+17050 * OUTPUT AOUTINE ADDRESS
 17060 **
 17070 OUTAT FDB OUTEEE
 17080  RMB 6
--- a/TL1/toasm.pl	Fri Jan 04 07:39:19 2019 +0900
+++ b/TL1/toasm.pl	Fri Jan 04 10:47:39 2019 +0900
@@ -1,7 +1,16 @@
 #!/usr/bin/perl
 
+my $indent = 7;
 while(<>) {
     s/\r\n$//;
     s/^\d+ //;
+    s/^ /" "x$indent/e;
+    if (/^([a-zA-Z0-9]+) /) {
+        my $w = $1;
+        if (length $w < $indent) {
+            my $s = " "x($indent-length $w);
+            s/ /$s/e;
+        }
+    }
     print $_,"\n" 
 }
--- a/src/a09.c	Fri Jan 04 07:39:19 2019 +0900
+++ b/src/a09.c	Fri Jan 04 10:47:39 2019 +0900
@@ -659,7 +659,7 @@
 short operand;
 unsigned char postbyte;
 
-int dpsetting;
+int dpsetting = 0;
 
 
 int scanindexreg()
@@ -824,8 +824,8 @@
    scanindexed();
   } else {
    if(opsize==0) {
-    if(unknown||!certain||dpsetting==-1||
-         (unsigned short)(operand-dpsetting*256)>=256)
+    if(unknown||dpsetting==-1||    // omit !certain
+         ((((operand&0xff00)>>8))!=dpsetting))
     opsize=3; else opsize=2;
    }
    if(opsize==1)opsize=2;