comparison game09/asm09.game @ 116:6be44b5de445

fix asm09.game
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 01 Jan 2019 22:35:50 +0900
parents ec9ef70bf6e4
children
comparison
equal deleted inserted replaced
115:54b4e3afcd0e 116:6be44b5de445
26 150 J=0,25 I(J)=J+K K:J)=-1 @=J+1 H=K+J 26 150 J=0,25 I(J)=J+K K:J)=-1 @=J+1 H=K+J
27 160 G==+2 S(0)=G J=1,25 @ G=G+1 @=(G:0)="/") S(J)=G+1 @=J+1 27 160 G==+2 S(0)=G J=1,25 @ G=G+1 @=(G:0)="/") S(J)=G+1 @=J+1
28 180 E=0 P=1 /"PASS 1"/ C(6)=-1 .=6 28 180 E=0 P=1 /"PASS 1"/ C(6)=-1 .=6
29 190 @ !=700 L=L+2 !=900 X=0 ;=L:0)="*" #=250 29 190 @ !=700 L=L+2 !=900 X=0 ;=L:0)="*" #=250
30 200 ;=L:X)<>" " !=1000 ;=#L:X) #=250 30 200 ;=L:X)<>" " !=1000 ;=#L:X) #=250
31 210 !=1500 !=W*100+6900 31 210 !=1500 !=(W*100)+6900
32 215 ;=W=$12 A=A+H:0) #=250 32 215 ;=W=$12 A=A+H:0) #=250
33 220 A=A+(C(0)>0)+(C(1)>=0)+(C(2)>=0)+(C(3)>0) 33 220 A=A+(C(0)>0)+(C(1)>=0)+(C(2)>=0)+(C(3)>0)
34 230 A=A+(C(3)=2)+(C(3)=4) 34 230 A=A+(C(3)=2)+(C(3)=4)
35 250 !=500 ;=L(0)<0 E=1 !=10000 35 250 !=500 ;=L(0)<0 E=1 !=10000
36 260 @=(E) 36 260 @=(E)
37 270 /"PASS 2"/ L=T A=0 O=M(2) E=0 C(6)=-1 !=9900 37 270 /"PASS 2"/ L=T A=0 O=M(2) E=0 C(6)=-1 !=9900
38 275 P=2 ;=M:0)=0 .=6 38 275 P=2 ;=M:0)=0 .=6
39 280 @ !=700 C(5)=A X=0 L=L+2 ;=L:0)="*" #=307 39 280 @ !=700 C(5)=A X=0 L=L+2 ;=L:0)="*" #=307
40 290 !=850 ;=L:X)=0 #=305 40 290 !=850 ;=L:X)=0 #=305
41 300 !=1500 !=W*100+6900 ;=C(3)>0 !=100*C(3)+3500 41 300 !=1500 !=(W*100)+6900 ;=C(3)>0 !=(100*C(3))+3500
42 303 !=460 42 303 !=460
43 307 ;=M:0) !=520 #=420 43 307 ;=M:0) !=520 #=420
44 400 !=900 !=500 44 400 !=900 !=500
45 420 ;=L(0)<0 E=1 !=10000 45 420 ;=L(0)<0 E=1 !=10000
46 430 @=(E) // 46 430 @=(E) //
99 1530 G=F:0)-"A" K=S(G) G=S(G+1) F=F+1 99 1530 G=F:0)-"A" K=S(G) G=S(G+1) F=F+1
100 1540 ;=K(0)<>F(0) @ K=K+6 @=(K>=G+(K(0)=F(0))) ;=K>=G #=1595 100 1540 ;=K(0)<>F(0) @ K=K+6 @=(K>=G+(K(0)=F(0))) ;=K>=G #=1595
101 1568 J=K:2)-"0" G=K:3)-"0" W=K:5)-"0" 101 1568 J=K:2)-"0" G=K:3)-"0" W=K:5)-"0"
102 1570 G=G>9*-7+G J=J>9*-7+J W=W>9*-7+W 102 1570 G=G>9*-7+G J=J>9*-7+J W=W>9*-7+W
103 1584 ;=K:4)="1" W=W+16 103 1584 ;=K:4)="1" W=W+16
104 1590 C(1)=J*16+G ] 104 1590 C(1)=(J*16)+G ]
105 1595 "OPCODE?" X=X-3 W=13 105 1595 "OPCODE?" X=X-3 W=13
106 1600 Z=0,2 C(Z)=$12 @=Z+1 #=20000 106 1600 Z=0,2 C(Z)=$12 @=Z+1 #=20000
107 1700 F=F+1 !=1530 X=X+1 ;=W<>12 ] 107 1700 F=F+1 !=1530 X=X+1 ;=W<>12 ]
108 1710 W=17 ] 108 1710 W=17 ]
109 2000 K=L:X)-"A" ;=K<0+(K>26) "label?" #=20000 109 2000 K=L:X)-"A" ;=K<0+(K>26) "label?" #=20000
194 6010 B=L:X) D=0 ;=B="."+(B="*") D=A X=X+1 B=L:X) #=6100 194 6010 B=L:X) D=0 ;=B="."+(B="*") D=A X=X+1 B=L:X) #=6100
195 6015 ;=B&$DF=0 #=6140 195 6015 ;=B&$DF=0 #=6140
196 6020 ;=(B>="A")&(B<="Z") F=F+1 !=2000 B=L:X) #=6100 196 6020 ;=(B>="A")&(B<="Z") F=F+1 !=2000 B=L:X) #=6100
197 6030 ;=B<>"$" #=6060 197 6030 ;=B<>"$" #=6060
198 6040 X=X+1 B=L:X) ;=(B>"9")&(B<"A")+(B<"0")+(B>"F") #=6100 198 6040 X=X+1 B=L:X) ;=(B>"9")&(B<"A")+(B<"0")+(B>"F") #=6100
199 6050 @ D=D*16+B-"0" ;=B>"9" D=D-7 199 6050 @ D=(D*16)+B-"0" ;=B>"9" D=D-7
200 6055 X=X+1 B=L:X) @=(B>"9")&(B<"A")+(B<"0")+(B>"F") 200 6055 X=X+1 B=L:X) @=(B>"9")&(B<"A")+(B<"0")+(B>"F")
201 6060 ;=B=""" D=L:X+1) X=X+3 B=L:X) #=6100 201 6060 ;=B=""" D=L:X+1) X=X+3 B=L:X) #=6100
202 6070 ;=(B<"0")+(B>"9") #=6100 202 6070 ;=(B<"0")+(B>"9") #=6100
203 6080 @ D=D*10+B-"0" X=X+1 B=L:X) @=(B<"0")+(B>"9") 203 6080 @ D=(D*10)+B-"0" X=X+1 B=L:X) @=(B<"0")+(B>"9")
204 6100 ;=B="+" X=X+1 G=D !=6010 D=G+D #=6120 204 6100 ;=B="+" X=X+1 G=D !=6010 D=G+D #=6120
205 6101 ;=B="*" X=X+1 G=D !=6010 D=G*D #=6120 205 6101 ;=B="*" X=X+1 G=D !=6010 D=G*D #=6120
206 6102 ;=B<>"/" #=6110 206 6102 ;=B<>"/" #=6110
207 6104 X=X++1 G=D !=6010 ;=#U ] 207 6104 X=X++1 G=D !=6010 ;=#U ]
208 6106 ;=D<>0 D=G/D #=6120 208 6106 ;=D<>0 D=G/D #=6120
282 8460 G=G.6 ] 282 8460 G=G.6 ]
283 8500 ;=L:X)=0 K=0 #=8565 283 8500 ;=L:X)=0 K=0 #=8565
284 8502 X=X+1 !=8510 @ K=L:X) X=X+1 @=(K=",")+(K=0) 284 8502 X=X+1 !=8510 @ K=L:X) X=X+1 @=(K=",")+(K=0)
285 8504 ;=#K #=8565 285 8504 ;=#K #=8565
286 8505 Y=G !=8510 ;=Y<8<>(G<8) "tfr 16<>8" #=20000 286 8505 Y=G !=8510 ;=Y<8<>(G<8) "tfr 16<>8" #=20000
287 8508 C(2)=Y*16+G ] 287 8508 C(2)=(Y*16)+G ]
288 8510 K=L:X) 288 8510 K=L:X)
289 8515 ;=K="A" G=8 ] 289 8515 ;=K="A" G=8 ]
290 8520 ;=K="B" G=9 ] 290 8520 ;=K="B" G=9 ]
291 8525 ;=K="C" G=10 ] 291 8525 ;=K="C" G=10 ]
292 8530 ;=K<>"D" #=8545 292 8530 ;=K<>"D" #=8545
300 8570 G=5 ] 300 8570 G=5 ]
301 8600 C(3)=4 301 8600 C(3)=4
302 8610 ;=C(1)=$20 C(1)=$16 ] 302 8610 ;=C(1)=$20 C(1)=$16 ]
303 8620 ;=C(1)=$8D C(1)=$17 ] 303 8620 ;=C(1)=$8D C(1)=$17 ]
304 8630 C(0)=$10 ] 304 8630 C(0)=$10 ]
305 8700 K=C(1) C(1)=-1 Z=0 !=K*100+8800 H:0)=Z ] 305 8700 K=C(1) C(1)=-1 Z=0 !=(K*100)+8800 H:0)=Z ]
306 8800 ;=P=2 C(5)=X X=0 !=2000 X=C(5) 306 8800 ;=P=2 C(5)=X X=0 !=2000 X=C(5)
307 8810 C(5)=Y !=6000 Y=C(5) Y(0)=D C(5)=D ] 307 8810 C(5)=Y !=6000 Y=C(5) Y(0)=D C(5)=D ]
308 8900 @ X=X+1 !=6000 !=9800 308 8900 @ X=X+1 !=6000 !=9800
309 8910 @=(L:X)<>",") ] 309 8910 @=(L:X)<>",") ]
310 9000 X=X+1 310 9000 X=X+1