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