Mercurial > hg > Members > kono > os9 > sbc09
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 |