comparison game09/disasm09.game @ 68:ec9ef70bf6e4

add game09
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 05 Aug 2018 10:34:37 +0900
parents
children 6be44b5de445
comparison
equal deleted inserted replaced
67:02d742bf52e5 68:ec9ef70bf6e4
1 100 "ADDRESS=" A=?
2 110 "TO =" D=? @ !=900
3 120 @=(A>D) #=-1
4 900 / ??=A .=20 E=A !=1000
5 910 $=$D .=5 B=0,5 ;=E+B>=A .=3 #=930
6 920 ?$=E:B) " "
7 930 @=B+1 .=30 B=0,5 ;=E+B>=A #=970
8 950 ;=E:B)>" " $=E:B) #=970
9 960 " "
10 970 @=B+1
11 990 ]
12 1000 ;=(A:0)>$7F) #=1200
13 1010 ;=(A:0)=$10) #=1400
14 1020 ;=(A:0)=$11) #=1600
15 1030 ;=(A:0)=$12) "NOP" #=1800
16 1040 ;=(A:0)=$13) "SYNC" #=1800
17 1050 ;=(A:0)=$16) "LBRA" #=2000
18 1060 ;=(A:0)=$17) "LBSR" #=2000
19 1070 ;=(A:0)=$19) "DAA" #=1800
20 1080 ;=(A:0)=$1A) "ORCC" #=2200
21 1090 ;=(A:0)=$1C) "ANDCC" #=2400
22 1100 ;=(A:0)=$1D) "SEX" #=1800
23 1110 ;=(A:0)=$1E) "EXG" #=2600
24 1120 ;=(A:0)=$1F) "TFR" #=2600
25 1130 ;=((A:0)/16)=1) #=3200
26 1140 ;=((A:0)/16)=2) #=2800
27 1150 ;=((A:0)/16)=3) #=3000
28 1160 ;=(A:0)=$4E) #=3200
29 1170 ;=(A:0)=$5E) #=3200
30 1180 #=3400
31 1200 ;=(A:0)=$8D) "BSR" #=3600
32 1210 ;=(%(A:0)/16)=3) #=3800
33 1220 ;=(%(A:0)/16)=7) #=4000
34 1230 ;=(%(A:0)/16)=13) #=4000
35 1240 ;=(%(A:0)/16)=15) #=4000
36 1250 ;=(%(A:0)/16)>11) #=4200
37 1260 B=%(A:0)/16) !=4400
38 1270 ;=(A:0)>$BF) #=4600
39 1275 "A"
40 1280 !=7200
41 1290 ;=(B=0) #=7000
42 1300 ;=(B=1) A=A+2 " $" ?$=A:-1) ]
43 1310 ;=(B=2) #=4800
44 1320 " $" A=A+3 ??=A(-1) ]
45 1400 ;=(A:1)=$20) #=5000
46 1410 ;=(A:1)=$3F) A=A+2 "SWI2" ]
47 1420 ;=((A:1)/16)=2 A=A+1 #=5200
48 1430 ;=(A:1)=$8F) #=5000
49 1440 ;=(A:1)=$CF) #=5000
50 1450 ;=(A:1)>$BF) #=5400
51 1455 ;=(A:1)<$80) #=5000
52 1460 !=7400
53 1470 A=A+1
54 1480 ;=(B=3) "CMPD" #=1280
55 1490 ;=(B=12) "CMPY" #=1280
56 1500 ;=(B=14) "LDY" #=1280
57 1510 ;=(B=15) "STY" #=1280
58 1520 #=5000
59 1600 ;=(A:1)=$3F) A=A+2 "SWI3" ]
60 1610 ;=(A:1)<$80) #=5000
61 1620 ;=(A:1)>$BF) #=5000
62 1630 A=A+1 !=7600
63 1640 ;=(B=3) "CMPU" #=1280
64 1650 ;=(B=12) "CMPS" #=1280
65 1660 #=3200
66 1800 A=A+1 ]
67 2000 A=A+1 C=A+2+A(0)
68 2010 " $" ??=C A=A+2 ]
69 2200 B=A:1)
70 2210 ;=(B>$7F) ",E" B=B-$80
71 2220 ;=(B>$3F) ",F" B=B-$40
72 2230 ;=(B>$1F) ",H" B=B-$20
73 2240 ;=(B>$F) ",I" B=B-$10
74 2250 ;=(B>7) ",N" B=B-8
75 2260 ;=(B>3) ",Z" B=B-4
76 2270 ;=(B>1) ",V" B=B-2
77 2280 ;=(B>0) ",C"
78 2290 A=A+2 ]
79 2400 B=$FF-A:1) #=2210
80 2600 .=1 B=A:1)/16 !=5600
81 2610 "," !=7400 !=5600
82 2620 A=A+2 ]
83 2800 !=5800 B=A:1)
84 2810 ;=(B>$7F) B=B+$FF00
85 2820 B=B+A+2 " $" ??=B A=A+2 ]
86 3000
87 3010 ;=A:0)=$3F "SYS" #=7030
88 3020 ;=(A:0)=$3D) "MUL" #=1800
89 3030 ;=(A:0)=$3C) "CWAI" #=2400
90 3040 ;=(A:0)=$3B) "RTI" #=1800
91 3050 ;=(A:0)=$3A) "ABX" #=1800
92 3060 ;=(A:0)=$39) "RTS" #=1800
93 3070 ;=(A:0)>$37) #=3200
94 3080 ;=(A:0)<$34) #=6000
95 3090 B=%(A:0)/2)
96 3100 ;=(B=0) "PSH" #=3120
97 3110 "PUL"
98 3120 ;=(A:0)>$35) "U" #=3140
99 3130 "S"
100 3140 #=6200
101 3200 A=A+1 "UNDF" #=1800
102 3400 !=7600
103 3410 ;=(B=0) "NEG" #=6400
104 3420 ;=(B=3) "COM" #=6400
105 3430 ;=(B=4) "LSR" #=6400
106 3440 ;=(B=6) "ROR" #=6400
107 3450 ;=(B=7) "ASR" #=6400
108 3460 ;=(B=8) "ASL" #=6400
109 3470 ;=(B=9) "ROL" #=6400
110 3480 ;=(B=10) "DEC" #=6400
111 3490 ;=(B=12) "INC" #=6400
112 3500 ;=(B=13) "TST" #=6400
113 3510 ;=(B=14) "JMP" #=6400
114 3520 ;=(B=15) "CLR" #=6400
115 3530 #=3200
116 3600 B=A:1) #=2810
117 3800 !=7200
118 3810 ;=(A:0)>$BF) "ADDD" #=1280
119 3820 "SUBD" #=1280
120 4000 !=7200
121 4010 ;=(B=0) #=3200
122 4020 #=1250
123 4200 !=7600
124 4210 ;=(A:0)>$BF) #=6600
125 4220 ;=(B=12) "CMPX" #=1280
126 4230 ;=(B=13) "JSR" #=1280
127 4240 ;=(B=14) "LDX" #=1280
128 4250 "STX" #=1280
129 4400
130 4410 ;=(B=0) "SUB" ]
131 4420 ;=(B=1) "CMP" ]
132 4430 ;=(B=2) "SBC" ]
133 4440 ;=(B=4) "AND" ]
134 4450 ;=(B=5) "BIT" ]
135 4460 ;=(B=6) "LD" ]
136 4470 ;=(B=7) "ST" ]
137 4480 ;=(B=8) "EOR" ]
138 4490 ;=(B=9) "ADC" ]
139 4500 ;=(B=10) "OR" ]
140 4510 "ADD" ]
141 4600 "B" #=1280
142 4800 B=%(A:1)/32)
143 4810 ;=(A:1)>$7F) #=6800
144 4820 ;=(B>15) B=B+$FFE0
145 4830 " " ?=B #=8000
146 5000 A=A+2 "UNDF" ]
147 5200 "L" !=5800
148 5210 #=2000
149 5400 !=7400
150 5410 ;=(B=14) "LDS" A=A+1 #=1280
151 5420 "STS" A=A+1 #=1280
152 5600 ;=(B=0) "D" ]
153 5610 ;=(B=1) "X" ]
154 5620 ;=(B=2) "Y" ]
155 5630 ;=(B=3) "U" ]
156 5640 ;=(B=4) "S" ]
157 5650 ;=(B=5) "PC" ]
158 5660 ;=(B=8) "A" ]
159 5670 ;=(B=9) "B" ]
160 5680 ;=(B=10) "CC" ]
161 5690 "DPR" ]
162 5800 "B" !=7600
163 5810 ;=(B=0) "RA" ]
164 5820 ;=(B=1) "RN" ]
165 5830 ;=(B=2) "HI" ]
166 5840 ;=(B=3) "LS" ]
167 5850 ;=(B=4) "HS" ]
168 5860 ;=(B=5) "LO" ]
169 5870 ;=(B=6) "NE" ]
170 5880 ;=(B=7) "EQ" ]
171 5890 ;=(B=8) "VC" ]
172 5900 ;=(B=9) "VS" ]
173 5910 ;=(B=10) "PL" ]
174 5920 ;=(B=11) "MI" ]
175 5930 ;=(B=12) "GE" ]
176 5940 ;=(B=13) "LT" ]
177 5950 ;=(B=14) "GT" ]
178 5960 "LE" ]
179 6000 "LEA" !=7600
180 6010 ;=(B=0) "X" #=4800
181 6020 ;=(B=1) "Y" #=4800
182 6030 ;=(B=2) "S" #=4800
183 6040 "U" #=4800
184 6200 B=A:1)
185 6210 ;=(B>$7F) ",PC" B=B-$80
186 6220 ;=(B>$3F) ",U" B=B-$40
187 6230 ;=(B>$1F) ",Y" B=B-$20
188 6240 ;=(B>15) ",X" B=B-16
189 6250 ;=(B>7) "DPR" B=B-8
190 6260 ;=(B>3) ",B" B=B-4
191 6270 ;=(B>1) ",A" B=B-2
192 6280 ;=(B>0) ",C"
193 6290 A=A+2 ]
194 6400 B=A:0)/16
195 6410 ;=(B=4) "A" #=1800
196 6420 ;=(B=5) "B" #=1800
197 6430 ;=(B=0) B=1 #=1290
198 6440 B=B-4 #=1290
199 6600 ;=(B=12) "LDD" #=1280
200 6610 ;=(B=13) "STD" #=1280
201 6620 ;=(B=14) "LDU" #=1280
202 6630 "STU" #=1280
203 6800 ;=(B>15) #=8200
204 6810 .=1 #=8400
205 6820 ;=(B=12) A=A+3 ??=A(-1) ]
206 6830 ;=(B=9) ?$=A:1) A=A+4 ??=A(-1) ]
207 6840 ;=(B=13) ?$=A:1) A=A+4 ??=A(-1) ]
208 6850 ?$=A:1) A=A+2 ]
209 7000 !=7600
210 7010 ;=(B=3) #=7800
211 7020 ;=(B>11) #=7800
212 7030 " # $" ?$=A:1)
213 7040 ;=A:1)>" "*(A:1<$80) "=" $=A:1)
214 7050 #=2620
215 7200 B=%((A:0)/16)/4) ]
216 7400 B=%(A:1)/16) ]
217 7600 B=%(A:0)/16) ]
218 7800 " # $" A=A+3 ??=A(-1) ]
219 8000 B=%((A:1)/32)/4) "," A=A+2
220 8010 ;=(B=0) "X" ]
221 8020 ;=(B=1) "Y" ]
222 8030 ;=(B=2) "U" ]
223 8040 "S" ]
224 8200 B=B-16
225 8210 ;=((B=0)+(B=2)) #=5000
226 8220 ;=(B=15) A=A+4 " [$" ??=A(-1) "]" ]
227 8230 " [" !=8400 "]" ]
228 8400 ;=(B=4) #=8000
229 8410 ;=(B=0) !=8000 "+" ]
230 8420 ;=(B=1) !=8000 "++" ]
231 8430 ;=(B=2) !=8000 "-" ]
232 8440 ;=(B=3) !=8000 "--" ]
233 8450 ;=(B=8) "$" ??=A:2) !=8000 A=A+1 ]
234 8460 ;=(B=9) "$" ??=A(1) !=8000 A=A+2 ]
235 8470 ;=(B=6) "A" #=8000
236 8480 ;=(B=5) "B" #=8000
237 8490 ;=(B=11) "D" #=8000
238 8500 ;=(B=12) B=A:2) A=A+3 #=8600
239 8510 ;=(B=13) A=A+4 B=A(-1) #=8610
240 8520 #=5000
241 8600 ;=(B>$7F) B=B+$FF00
242 8610 "$" ??=B+A ",PC" ]