Mercurial > hg > Members > kono > os9 > sbc09
annotate TL1/TL1.txt @ 178:4d83154d2a78
add - {} some builtin in TL/1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Apr 2019 09:43:28 +0900 |
parents | 694412798333 |
children |
rev | line source |
---|---|
121 | 1 1000 *******TL/1************* |
117 | 2 1010 GAME EQU $B503 |
3 1020 TXTTOP EQU $FB7E | |
4 1030 BASE EQU $FB | |
5 1040 DPAGE EQU BASE*$100 | |
6 1050 SETDP BASE | |
7 1060 MSTACK EQU $FE52-$100 | |
8 1070 INEEE EQU $B003 | |
9 1080 OUTEEE EQU $B006 | |
10 1090 ** DPAGE DEFINE | |
11 1100 ORG DPAGE+$10 | |
12 1110 INDN RMB 1 | |
13 1120 OUTDN RMB 1 | |
14 1130 LB RMB 2 | |
15 1140 GB RMB 2 | |
16 1150 MHIGH RMB 1 | |
17 1160 MOD RMB 1 | |
18 1170 WT1 RMB 1 | |
19 1180 WT2 RMB 1 | |
20 1190 RNDH RMB 1 | |
21 1200 RNDL RMB 1 | |
22 1210 DREG RMB 1 | |
23 1220 DBUF RMB 3 | |
24 1230 XR RMB 2 | |
25 1240 YR RMB 2 | |
26 1250 ZR RMB 2 | |
27 1260 PFTBEG RMB 2 | |
28 1270 PC RMB 2 | |
29 1280 SREG RMB 2 | |
30 1290 SP RMB 2 | |
31 1300 PFMAX RMB 2 | |
118 | 32 1310 LSW RMB 1 |
33 1320 SY RMB 1 | |
117 | 34 1330 CH RMB 1 |
35 1340 VAL RMB 1 | |
36 1350 GL RMB 1 | |
37 1360 OPER RMB 1 | |
38 1370 GLL RMB 1 | |
39 1380 INDEX RMB 1 | |
40 1390 RMCODE RMB 1 | |
120 | 41 1400 ACC RMB 1 |
117 | 42 1410 LSIZE RMB 1 |
43 1420 TCOUNT RMB 1 | |
44 1430 TEND RMB 2 | |
45 1440 WEND RMB 2 | |
118 | 46 1450 AMODE RMB 1 |
119 | 47 1460 RSW RMB 1 |
117 | 48 1470 GEND RMB 2 |
49 1480 SSW RMB 1 | |
50 1490 | |
118 | 51 1500 ORG $5000 |
117 | 52 1510 ** |
53 1520 COMP LDA #BASE | |
54 1530 TFR A,DP | |
55 1540 CLRA | |
119 | 56 1550 STA OUTDN |
57 1560 STA LSW | |
117 | 58 1570 STA INDEX |
118 | 59 1580 STA AMODE |
117 | 60 1590 STA LSIZE |
61 1600 STA RSW | |
62 1610 STA PFMAX | |
63 1620 LDX #MSTACK | |
64 1630 STX SP | |
65 1640 LEAX 2,x | |
66 1650 STX PFTBEG | |
67 1660 CLRB | |
68 1670 C1 STA ,X+ | |
69 1680 DECB | |
70 1690 BNE C1 | |
71 1700 INCA | |
72 1710 STA TCOUNT | |
119 | 73 1720 LDA #' ' |
117 | 74 1730 STA CH |
75 1740 LDX TXTTOP | |
76 1750 LEAX 2,X | |
77 1760 STX SREG | |
119 | 78 1770 LEAX WTBLE,PCR |
117 | 79 1780 STX TEND |
80 1790 LEAX OBJECT,PCR | |
81 1800 STX PC | |
82 1810 STX OBJMP+1,PCR | |
83 1820 ** | |
84 1830 LBSR CRLF | |
85 1840 BSR REG0 | |
86 1850 LBSR WORD | |
87 1860 CMPA #$30 PROC? | |
88 1870 BNE *+4 | |
89 1880 BSR REGNAM | |
90 1890 BSR REG0 | |
91 1900 CMPA #$31 FUNC? | |
92 1910 BNE *+4 | |
93 1920 BSR REGNAM | |
94 1930 CLR LSIZE | |
119 | 95 1940 BSR REG0 |
117 | 96 1950 LBSR PROG |
97 1960 LBSR STPOUT | |
98 1970 LDX TEND | |
99 1980 STX GEND | |
100 1990 PLOOP LDA SY | |
101 2000 CMPA #$8F /END CODE | |
102 2010 LBEQ ENDL | |
120 | 103 2020 CMPA #$4 |
117 | 104 2030 BCC ERR4 |
105 2040 DECA | |
118 | 106 2050 STA AMODE |
117 | 107 2060 LDA VAL |
108 2070 LBSR DEFPF | |
109 2080 LBSR PUTHS | |
110 2090 FDB $03BD | |
111 2100 FDB PSHLB | |
112 2110 BSR REG0 | |
113 2120 CLR LSIZE | |
114 2130 LBSR WORD | |
115 2140 CMPA #$37 | |
116 2150 BNE PL1 | |
117 2160 BSR REGNAM | |
118 2170 LDA #$38 ) | |
119 2180 LBSR CHECK | |
120 2190 PL1 BSR PROG | |
118 | 121 2200 LDB AMODE |
117 | 122 2210 CMPB #1 |
123 2220 BNE *+5 | |
124 2230 LBSR RETP | |
125 2240 LDX GEND | |
126 2250 STX TEND | |
127 2260 LDB #5 | |
128 2270 STB TCOUNT | |
129 2280 BRA PLOOP | |
130 2290 ** | |
119 | 131 2300 * REGIST ZERO |
117 | 132 2310 ** |
133 2320 REG0 LDX TEND | |
134 2330 CLR ,X+ | |
135 2340 STX TEND | |
136 2350 INC TCOUNT | |
137 2360 RTS | |
138 2370 ** | |
139 2380 * REGIST NAME | |
140 2390 ** | |
141 2400 REGNAM COM RSW | |
142 2410 LBSR WORD | |
143 2420 LDB RSW | |
144 2430 BEQ *+5 | |
145 2440 ERR4 LBRA ERROR | |
146 2450 LDX TEND | |
147 2460 LDA LSIZE | |
148 2470 STA ,X | |
149 2480 INC LSIZE | |
150 2490 LDX WEND | |
151 2500 STX TEND | |
152 2510 BSR WORD1 | |
153 2520 CMPA #$36 | |
154 2530 BNE REG2 | |
155 2540 BSR WORD1 | |
156 2550 BNE ERR4 | |
157 2560 LDA VAL | |
158 2570 ADDA LSIZE | |
159 2580 BSR WORD1 | |
160 2590 LDA #$3A | |
161 2600 LBSR CHECK | |
162 2610 REG2 CMPA #$3C | |
163 2620 BEQ REGNAM | |
164 2630 RTS | |
165 2640 ** | |
166 2650 * PROGRAM | |
167 2660 ** | |
168 2670 PROG CMPA #$32 VAR? | |
169 2680 BNE *+4 | |
170 2690 BSR REGNAM | |
171 2700 BSR REG0 | |
172 2710 CMPA #$33 ARRAY? | |
173 2720 BNE *+4 | |
174 2730 BSR REGNAM | |
175 2740 LDB #-1 | |
176 2750 STB INDEX | |
177 2760 ** | |
178 2770 * STATEMENT | |
179 2780 ** | |
180 2790 STAT BSR SSTAT | |
181 2800 LDB SSW | |
119 | 182 2810 BEQ RTS1 |
117 | 183 2820 LBRA ERROR |
184 2830 ** | |
185 2840 * STATEMENTS LIST | |
186 2850 ** | |
187 2860 STLIST BSR SSTAT | |
188 2870 LDB SSW | |
189 2880 BEQ STLIST | |
190 2890 RTS1 RTS | |
191 2900 ** | |
192 2910 * SINGLE STATEMENT | |
193 2920 ** | |
194 2930 SSTAT CLRA | |
195 2940 STA ACC | |
196 2950 STA SSW | |
120 | 197 2960 LDA SY |
117 | 198 2970 ** |
199 2980 * MULTIPLE STATEMENTS | |
200 2990 ** | |
201 3000 SS1 CMPA #$34 | |
202 3010 BCS SS2 | |
203 3020 CMPA #$38 | |
119 | 204 3030 BCC SS2 |
205 3040 ADDA #4 | |
206 3050 PSHS A | |
117 | 207 3060 BSR WORD1 |
208 3070 BSR STLIST | |
209 3080 PULS A | |
210 3090 CLR SSW | |
211 3100 LBRA CHECK | |
212 3110 ** | |
213 3120 * STOP | |
214 3130 ** | |
215 3140 SS2 CMPA #$50 | |
216 3150 BNE SS3 | |
217 3160 BSR STPOUT | |
218 3170 WORD1 LBRA WORD | |
219 3180 ** | |
220 3190 STPOUT LBSR PUTHS | |
221 3200 FCB 3,$7E | |
222 3210 FDB MONIT | |
223 3220 RTS | |
224 3230 ** | |
225 3240 * RETURN | |
226 3250 ** | |
227 3260 SS3 CMPA #$51 | |
228 3270 BNE SS4 | |
118 | 229 3280 LDB AMODE |
117 | 230 3290 LBEQ ERR4 |
231 3300 PSHS B | |
232 3310 BSR WORD1 | |
233 3320 PULS B | |
234 3330 DECB | |
235 3340 BEQ RETP | |
236 3350 LBSR EXPR | |
120 | 237 3360 RETP LBSR PUTHS |
117 | 238 3370 FDB $037E |
239 3380 FDB PULLB | |
240 3390 RTS | |
241 3400 ** | |
242 3410 * PROC CALL | |
243 3420 ** | |
244 3430 SS4 CMPA #2 | |
245 3440 LBEQ PFCALL | |
246 3450 CMPA #$E0 | |
247 3460 BCS SS5 | |
248 3470 LBRA PFCALL | |
249 3480 ** | |
119 | 250 3490 * ASSIGNMENT STATEMENT |
118 | 251 3500 ** |
117 | 252 3510 SS5 CMPA #7 |
253 3520 BCS ASSIGN | |
254 3530 LBRA SS6 | |
255 3540 ASSIGN LDB GL | |
256 3550 PSHS B | |
257 3560 LDB VAL | |
258 3570 PSHS B | |
259 3580 CMPA #5 | |
119 | 260 3590 BNE ASS1 |
261 3600 LBSR SUBSC1 | |
117 | 262 3610 LDB ,S |
263 3620 LDA LSW | |
264 3630 BNE AS0 | |
265 3640 LDA #$8B | |
266 3650 LBSR PUTAB | |
267 3660 LDA #1 | |
268 3670 BRA AS2 | |
269 3680 AS0 ADDB OPER | |
270 3690 STB ,S | |
271 3700 CLR LSW | |
272 3710 BRA AS1 | |
273 3720 ASS1 CMPA #6 | |
274 3730 BNE ASS2 | |
275 3740 LBSR DSUBSC | |
276 3750 LDA #2 | |
277 3760 BRA AS2 | |
118 | 278 3770 ASS2 CMPA #4 |
117 | 279 3780 BEQ *+5 |
280 3790 LBRA ERROR | |
281 3800 LBSR WORD | |
282 3810 AS1 CLRA | |
283 3820 AS2 PSHS A | |
284 3830 LDA SY | |
118 | 285 3840 CMPA #$3C |
117 | 286 3850 BNE *+9 |
287 3860 LBSR WORD | |
288 3870 BSR ASSIGN | |
119 | 289 3880 BRA AS3 |
117 | 290 3890 LDA #$3D |
291 3900 LBSR CHECK | |
292 3910 LDA #$27 | |
293 3920 LBSR CHECK | |
294 3930 LBSR EXPR | |
295 3940 AS3 PULS D | |
296 3950 STB OPER 4-- | |
297 3960 PULS B | |
298 3970 STB GLL | |
299 3980 TSTA | |
119 | 300 3990 BNE AS4 |
117 | 301 4000 LBSR PUTX |
302 4010 LDA #$A7 | |
126
f43ca5d22920
fix dicimal print routine
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
121
diff
changeset
|
303 4020 LDB OPER |
117 | 304 4030 LBRA PUTAB |
305 4040 AS4 DECA | |
306 4050 BNE AS5 | |
119 | 307 4060 LBSR PUTX |
117 | 308 4070 LDA #$33 |
309 4080 LBSR PUTA | |
310 4090 LBRA STABX | |
311 4100 AS5 LBSR PUTHS | |
312 4110 FCB 10 | |
136 | 313 4120 FDB $33D7 PULB; STB WT2 |
117 | 314 4130 FCB WT2 |
136 | 315 4140 FDB $33D7 PULB; STB WT |
316 4150 FCB WT1 $DE,WT2 LDX WT2 | |
317 4160 FDB $A700 STA X | |
117 | 318 4170 CLR INDEX |
319 4180 RTS | |
320 4190 ** | |
321 4200 ** NON-STATEMENT | |
322 4210 ** | |
323 4220 SSEND COM SSW | |
324 4230 RTS | |
119 | 325 4240 ** |
326 4250 SS6 CMPA #$58 | |
117 | 327 4260 BCC SSEND |
328 4270 CMPA #$52 | |
329 4280 BCS SSEND | |
330 4290 SUBA #$51 | |
331 4300 PSHS A | |
332 4310 LBSR WORD | |
333 4320 PULS B | |
334 4330 ** | |
335 4340 * REPEAT UNTIL | |
336 4350 ** | |
337 4360 DECB | |
338 4370 BNE SS7 | |
339 4380 STB INDEX | |
340 4390 BSR ASTOUT | |
341 4400 LBSR STLIST | |
342 4410 LDA #$60 | |
343 4420 LBSR CHECK | |
344 4430 LBSR EXPR | |
345 4440 LBSR PUTHS | |
346 4450 FCB 2 | |
347 4460 FDB $2603 | |
348 4470 CLR SSW | |
349 4480 BRA MINOUT | |
350 4490 ** | |
351 4500 * FOR-TO | |
352 4510 ** | |
353 4520 SS7 DECB | |
354 4530 BNE SS8 | |
355 4540 CMPA #4 | |
119 | 356 4550 BEQ *+5 |
117 | 357 4560 LBRA ERROR |
119 | 358 4570 LDB VAL |
117 | 359 4580 PSHS B |
360 4590 LDB GL | |
361 4600 PSHS B | |
362 4610 LBSR ASSIGN | |
363 4620 LDA #$61 | |
364 4630 LBSR CHECK | |
365 4640 CLR ACC | |
366 4650 LBSR EXPR | |
367 4660 LDA #$64 | |
368 4670 LBSR CHECK | |
369 4680 BSR ASTOUT | |
370 4690 LDA #$36 | |
371 4700 LBSR PUTA | |
372 4710 CLR INDEX | |
373 4720 LBSR STAT | |
374 4730 LDA #$32 | |
375 4740 LBSR PUTA | |
376 4750 PULS D | |
377 4760 STA GLL | |
378 4770 STB OPER | |
379 4780 LDA #$A1 | |
118 | 380 4790 LBSR PUTABX |
117 | 381 4800 LBSR PUTHS |
119 | 382 4810 FCB 2 |
383 4820 FDB $2305 | |
117 | 384 4830 LDA #$6C |
385 4840 LDB OPER | |
386 4850 LBSR PUTAB | |
387 4860 MINOUT LBRA PULJMP | |
388 4870 ASTOUT LBRA PSHDEF | |
389 4880 ** | |
390 4890 * WHILE-DO | |
391 4900 ** | |
392 4910 SS8 DECB | |
393 4920 BNE SS9 | |
394 4930 STB INDEX | |
395 4940 BSR ASTOUT | |
396 4950 LBSR EXPR | |
397 4960 LDA #$64 | |
398 4970 LBSR CHECK | |
399 4980 LBSR PUTHS | |
400 4990 FCB 2 | |
401 5000 FDB $2603 | |
402 5010 BSR SLAOUT | |
126
f43ca5d22920
fix dicimal print routine
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
121
diff
changeset
|
403 5020 LDB INDEX |
119 | 404 5030 PSHS B |
117 | 405 5040 LBSR STAT |
119 | 406 5050 PULS B |
117 | 407 5060 STB INDEX |
408 5070 BSR PEROUT | |
409 5080 BSR MINOUT | |
410 5090 PLUOUT LBRA PULDEF | |
411 5100 ** | |
412 5110 ** IF—THEN | |
413 5120 ** | |
414 5130 SS9 DECB | |
119 | 415 5140 BNE SS10 |
117 | 416 5150 LBSR EXPR |
417 5160 LDA #$65 | |
418 5170 LBSR CHECK | |
419 5180 LBSR PUTHS | |
420 5190 FCB 2 | |
421 5200 FDB $2603 | |
422 5210 BSR SLAOUT | |
423 5220 LDB INDEX | |
424 5230 PSHS B | |
119 | 425 5240 LBSR STAT |
117 | 426 5250 PULS B |
427 5260 CMPB INDEX | |
428 5270 BEQ *+4 | |
120 | 429 5280 CLR INDEX |
117 | 430 5290 BRA PLUOUT |
431 5300 SLAOUT LBRA PSHJMP | |
432 5310 PEROUT LBRA STCHG | |
433 5320 *** | |
434 5330 * CASE—OF | |
435 5340 SS10 DECB | |
436 5350 BNE SS11 | |
437 5360 LBSR EXPR | |
438 5370 LDA #$66 | |
439 5380 LBSR CHECK | |
440 5390 CLRB | |
119 | 441 5400 S10A INCB |
117 | 442 5410 PSHS B |
443 5420 STB ACC | |
444 5430 LBSR LEXPR | |
445 5440 LDA #$81 | |
118 | 446 5450 LBSR AOPER |
117 | 447 5460 LBSR PUTHS |
448 5470 FCB 2 | |
449 5480 FDB $2703 | |
450 5490 BSR SLAOUT | |
451 5500 LDB INDEX | |
452 5510 PSHS B | |
453 5520 LBSR STAT | |
119 | 454 5530 BSR SLAOUT |
117 | 455 5540 BSR PEROUT |
456 5550 BSR PLUOUT | |
457 5560 PULS B | |
458 5570 STB INDEX | |
459 5580 PULS B | |
460 5590 LDA SY | |
119 | 461 5600 CMPA #$67 |
117 | 462 5610 BNE S10A |
463 5620 PSHS B | |
464 5630 LBSR WORD | |
465 5640 LBSR STAT | |
466 5650 CLR INDEX | |
467 5660 PULS A | |
468 5670 LBRA PLDFN | |
469 5680 ** | |
470 5690 * WRITE STATEMENT | |
471 5700 ** | |
472 5710 SS11 LDA #$37 | |
473 5720 LBSR CHECK | |
474 5730 LBSR EXPR | |
475 5740 LBSR PUTHS | |
476 5750 FDB $0297 | |
477 5760 FCB OUTDN | |
119 | 478 5770 LDA #$3D |
117 | 479 5780 LBSR CHECK |
480 5790 WTLP CLR ACC | |
481 5800 BSR WTERM | |
482 5810 LDA SY | |
483 5820 CMPA #$3C | |
484 5830 BNE WTEN | |
485 5840 LBSR WORD | |
486 5850 BRA WTLP | |
487 5860 WTEN LDA #$36 | |
488 5870 LBRA CHECK | |
489 5880 ** | |
119 | 490 5890 WTERM CMPA #$6C |
491 5900 BNE WR1 | |
117 | 492 5910 LBSR PUTHS |
493 5920 FDB $03BD | |
494 5930 FDB PUTSTR | |
495 5940 LDA CH | |
119 | 496 5950 WR01 CMPA #'"' |
117 | 497 5960 BEQ WR02 |
498 5970 LBSR PUTA | |
118 | 499 5980 LBSR GETCH |
119 | 500 5990 BRA WR01 |
118 | 501 6000 WR02 CLRA |
117 | 502 6010 STA INDEX |
503 6020 LBSR PUTA | |
504 6030 LBSR GETCH | |
505 6040 LBRA WORD | |
506 6050 ** | |
507 6060 WR1 CMPA #$6B | |
508 6070 BNE WR3 | |
509 6080 LBSR WORD | |
510 6090 CMPA #$37 | |
119 | 511 6100 BEQ WR2 |
117 | 512 6110 LBSR PUTHS |
513 6120 FDB $03BD | |
514 6130 FDB CRLFA | |
515 6140 RTS | |
516 6150 ** | |
517 6160 WR2 LBSR WEXPR | |
518 6170 BSR WTEN | |
519 6180 LBSR PUTHS | |
520 6190 FDB $03BD | |
521 6200 FDB CRLFA | |
522 6210 RTS | |
523 6220 ** | |
524 6230 WR3 CMPA #$6A | |
525 6240 BNE WR4 | |
526 6250 LBSR SUBSC | |
527 6260 LBSR PUTHS | |
528 6270 FDB $03BD | |
529 6280 FDB SPACEA | |
119 | 530 6290 RTS |
117 | 531 6300 ** |
532 6310 WR4 CMPA #$A9 | |
533 6320 BNE WR5 | |
119 | 534 6330 LBSR SUBSC |
117 | 535 6340 LBSR PUTHS |
536 6350 FDB $03BD | |
537 6360 FDB PUTCA | |
538 6370 RTS | |
539 6380 ** | |
540 6390 WR5 CMPA #$26 | |
541 6400 BNE WR6 | |
542 6410 LBSR DSUBSC | |
118 | 543 6420 LBSR PUTPLB |
117 | 544 6430 LBSR PUTHS |
545 6440 FDB $03BD | |
546 6450 FDB PUTDA+1 | |
547 6460 BRA WR66 | |
548 6470 ** | |
549 6480 WR6 LBSR EXPR | |
550 6490 LBSR PUTHS | |
551 6500 FDB $03BD | |
552 6510 FDB PUTDA | |
553 6520 WR66 CLR INDEX | |
119 | 554 6530 RTS11 RTS |
117 | 555 6540 ** |
119 | 556 6550 * PUTX & PUTB |
117 | 557 6560 ** |
558 6570 PUTABX PSHS D | |
559 6580 BSR PUTX | |
560 6590 PULS D | |
561 6600 BRA PUTAB | |
562 6610 ** | |
563 6620 * PUT LP, OR GB BY INDEX | |
564 6630 ** | |
565 6640 PUTX LDB GLL | |
566 6650 CMPB INDEX | |
567 6660 BEQ RTS11 | |
568 6670 STB INDEX | |
120 | 569 6680 ADDB #LB+1 |
119 | 570 6690 LDA #$DE |
117 | 571 6700 *** |
572 6710 * PUT ACC A&B | |
573 6720 ** | |
574 6730 PUTAB BSR PUTA | |
575 6740 TFR B,A | |
576 6750 ** | |
577 6760 * PUT ACCA RS AN OBJECT | |
578 6770 ** | |
579 6780 PUTA STX RNDH | |
118 | 580 6790 LBSR AOUT |
117 | 581 6800 LDX RNDH |
582 6810 RTS | |
119 | 583 6820 ** |
117 | 584 6830 * PUTHS STRING |
585 6840 ** | |
586 6850 PUTHS LDX ,S++ | |
587 6860 LDB ,X+ | |
588 6870 PS1 LDA ,X+ | |
589 6880 BSR PUTA | |
590 6890 DECB | |
591 6900 BNE PS1 | |
592 6910 JMP ,X | |
593 6920 ** | |
594 6930 ** CHECK ACC | |
595 6940 ** | |
596 6950 CHECK CMPA SY | |
597 6960 BEQ WORD | |
598 6970 ** | |
599 6980 * ERROR | |
600 6990 ** | |
601 7000 ERROR LBSR PUTSTR | |
602 7010 FDB $0D0A | |
120 | 603 7020 FCC "ERROR ",0 |
117 | 604 7030 LDX TEND |
605 7040 LEAX 1,X | |
606 7050 NEG ,X | |
607 7060 ER0 LDA ,X+ | |
608 7070 LBSR PUTCA | |
609 7080 CMPX WEND | |
610 7090 BNE ER0 | |
611 7100 JMP GAME | |
119 | 612 7110 ** |
117 | 613 7120 * WORD DECORDER |
614 7130 ** | |
615 7140 WORD BSR WORDS | |
616 7150 LDA SY | |
617 7160 RTS | |
618 7170 WORDS CLRB | |
619 7180 STB SY | |
620 7190 STB VAL | |
621 7200 LDA CH | |
622 7210 ** SKIP CONT ,SPACE.; | |
623 7220 WD1 CMPA #$21 | |
624 7230 BCS SKIP | |
119 | 625 7240 CMPA #'.' |
117 | 626 7250 BEQ SKIP |
119 | 627 7260 CMPA #';' |
117 | 628 7270 BNE WD2 |
629 7280 SKIP BSR GETCH | |
630 7290 BRA WD1 | |
631 7300 ** | |
632 7310 * COMMENT | |
633 7320 ** | |
120 | 634 7330 WD2 CMPA #'%' |
119 | 635 7340 BNE WD3 |
117 | 636 7350 BSR GETCH |
637 7360 CMPA #$20 | |
638 7370 BCC *--4 | |
639 7380 BRA WD1 | |
640 7390 ** | |
641 7400 * ASCC CONST | |
642 7410 ** | |
119 | 643 7420 WD3 CMPA #'\'' |
117 | 644 7430 BNE WD4 |
645 7440 BSR GETCH | |
646 7450 STA VAL | |
647 7460 BSR GETCH | |
648 7470 GETCH PSHS X | |
649 7480 LBSR MEMIN | |
650 7490 STA CH | |
651 7500 PULS X,PC | |
652 7510 * HEX CONSTANT | |
119 | 653 7520 WD4 CMPA #'$' |
117 | 654 7530 BNE WD5 |
655 7540 WD40 BSR GETCH | |
119 | 656 7550 BSR TSTNA |
117 | 657 7560 BEQ WD41 |
658 7570 BCC RTS2 | |
119 | 659 7580 CMPA #'F'+1 |
117 | 660 7590 BCC RTS2 |
661 7600 SUBA #7 | |
119 | 662 7610 WD41 SUBA #'0' |
117 | 663 7620 LDB VAL |
664 7630 ASLB | |
665 7640 ASLB | |
666 7650 ASLB | |
667 7660 ASLB | |
668 7670 PSHS B | |
669 7680 ADDA ,S+ | |
119 | 670 7690 STA VAL |
117 | 671 7700 BRA WD40 |
672 7710 ** | |
673 7720 * TEST ALPHA NUMERIC | |
119 | 674 7730 TSTNA CMPA #'0' |
117 | 675 7740 BCS NAF |
676 7750 CMPA #'9'+1 | |
677 7760 BCS NT | |
119 | 678 7770 CMPA #'A' |
117 | 679 7780 BCS NAF |
680 7790 CMPA #'Z'+1 | |
681 7800 BCS AT | |
682 7810 NAF CLRB CLEAR C | |
119 | 683 7820 AT LDB #-1 |
684 7830 RTS2 RTS | |
117 | 685 7840 NT CLRB |
119 | 686 7850 RTS |
117 | 687 7860 ** DECIMAL CONSTANT |
118 | 688 7870 WD5 BSR TSTNA |
119 | 689 7880 BNE WD6 |
690 7890 WD50 SUBA #'0' | |
117 | 691 7900 PSHS A |
692 7910 LDA VAL | |
693 7920 LDB #10 | |
694 7930 MUL | |
695 7940 ADDA ,S+ | |
696 7950 STA VAL | |
697 7960 BSR GETCH | |
698 7970 BSR TSTNA | |
699 7980 BEQ WD50 | |
700 7990 RTS | |
701 8000 * THE OTHER WORDS | |
118 | 702 8010 WD6 LDX TEND |
117 | 703 8020 PSHS A |
704 8030 NEGA | |
705 8040 LEAX 1,X | |
706 8050 BSR STAONE | |
707 8060 PULS A | |
708 8070 BSR TSTNA | |
709 8080 BCC TLOOK1 | |
710 8090 WD61 LDA CH | |
711 8100 BSR TSTNA | |
712 8110 BCS *+4 | |
713 8120 BNE TLOOK1 | |
118 | 714 8130 BSR STAONE |
715 8140 BRA WD61 | |
117 | 716 8150 STAONE STA ,X+ |
717 8160 STX WEND | |
718 8170 BRA GETCH | |
719 8180 TLOOK1 LDA RSW | |
720 8190 BEQ TLOOK | |
721 8200 COM RSW | |
722 8210 RTS | |
723 8220 ** | |
724 8230 * WORD TABLE SEARCH | |
725 8240 ** | |
118 | 726 8250 TLOOK LDA TCOUNT |
117 | 727 8260 STA SY |
728 8270 LDX TEND | |
729 8280 S01 LDU WEND | |
730 8290 S02 LDA ,-U | |
731 8300 CMPA ,-X | |
732 8310 BEQ S06 | |
733 8320 S03 TST ,X | |
734 8330 BEQ S05 | |
735 8340 BMI S04 | |
736 8350 LEAX -1,X | |
737 8360 BRA S03 | |
738 8370 S04 LEAX -1,X | |
739 8380 BRA S01 | |
740 8390 S05 DEC SY | |
741 8400 BNE S01 | |
742 8410 LBRA ERROR | |
118 | 743 8420 S06 TSTA |
117 | 744 8430 BPL S02 |
745 8440 LDB ,-X | |
746 8450 STB VAL | |
747 8460 LDA SY | |
748 8470 CMPA #1 | |
749 8480 BNE *+6 | |
750 8490 TFR B,A | |
751 8500 BRA S07 | |
752 8510 CMPA #4 | |
753 8520 BCS RTSS | |
754 8530 LDB #1 | |
118 | 755 8540 TST AMODE |
117 | 756 8550 BEQ *+6 |
757 8560 CMPA #6 | |
758 8570 BCS *+3 | |
759 8580 NEGB | |
119 | 760 8590 STB GL |
117 | 761 8600 ANDA #$FD |
762 8610 S07 STA SY | |
763 8620 RTSS RTS | |
119 | 764 8630 ** |
117 | 765 8640 * ARITHMATIC EXPRESSION |
766 8650 ** | |
767 8660 WEXPR LBSR WORD | |
768 8670 EXPR BSR LEXPR | |
769 8680 BSR OLOAD | |
770 8690 RTE RTS | |
771 8700 ** WORD * LEXPR | |
772 8710 WLEXPR LBSR WORD | |
119 | 773 8720 ** |
117 | 774 8730 * LOGICAL EXPRESSION |
119 | 775 8740 ** |
118 | 776 8750 LEXPR BSR REXPR |
117 | 777 8760 LE1 LDY SY |
778 8770 CMPA #$82 | |
779 8780 BCS RTE | |
119 | 780 8790 CMPA #$8A+1 |
117 | 781 8800 BCC RTE |
782 8810 PSHS A | |
783 8820 LBSR WORD | |
784 8830 BSR REXPR | |
785 8840 LDB LSW | |
119 | 786 8850 BNE LE2 |
117 | 787 8860 LBSR PUTHS |
788 8870 FDB $0397 | |
789 8880 FCB WT1 | |
790 8890 FCB $32 | |
791 8900 PULS A | |
792 8910 ADDA #$10 | |
793 8920 LDB #WT1 | |
794 8930 LBSR PUTAB | |
795 8940 BRA LE1 | |
796 8950 LE2 PULS A | |
119 | 797 8960 BSR OCORD |
117 | 798 8970 BRA LE1 |
799 8980 ** | |
800 8990 * RELATIONAL EXPRESS | |
119 | 801 9000 ** |
117 | 802 9010 REXPR BSR AEXPR |
803 9020 RE1 LDA SY | |
804 9030 CMPA #$21 | |
119 | 805 9040 BCS RTE |
806 9050 CMPA #$30 | |
117 | 807 9060 BCC RTE |
808 9070 PSHS A | |
809 9080 LBSR WORD | |
810 9090 ASR AEXPR | |
811 9100 LDA #$80 | |
812 9110 BSR AOPER | |
813 9120 PULS A | |
814 9130 LBSR PUTHS | |
815 9140 FCB 6 | |
816 9150 FCB $3,$4F,$20,$02,$86,$FF | |
817 9160 BRA RE1 | |
818 9170 ** ADDING OPERATFR | |
118 | 819 9180 AOPER LDB LSW |
117 | 820 9190 BNE OCORD |
821 9200 PSHS A | |
822 9210 CMPA #$80 | |
823 9220 BEQ *+5 | |
824 9230 BSR PUTPUL | |
825 9240 FCB $8C | |
826 9250 BSR PUTPLB | |
827 9260 PULS A | |
828 9270 SUBA #$70 | |
829 9280 PUTA1 LBRA PUTA | |
830 9290 ** OUTPUT SAVED L-CC | |
831 9300 OLOAD LDA LSW | |
832 9310 BEQ RTE | |
833 9320 LDA ACC | |
834 9330 BEQ *+6 | |
835 9340 LDA #$36 | |
836 9350 BSR PUTA1 | |
837 9360 LDA #$86 | |
838 9370 OCORD PSHS A | |
839 9380 CLRA | |
840 9390 STA LSW | |
841 9400 COMA | |
842 9410 STA ACC | |
843 9420 LDA AMODE | |
844 9430 CMPA #$20 | |
845 9440 BNE *+5 | |
846 9450 LBSR PUTX | |
847 9460 CLR LSW | |
848 9470 PULS A | |
849 9480 ADDA AMODE | |
850 9490 LDB OPER | |
119 | 851 9500 LBRA PUTAB |
117 | 852 9510 * PUT 'TAB:PULS A' |
853 9520 PUTPUL LBSR PUTHS | |
854 9530 FCB 2 | |
855 9540 FDB $1632 | |
118 | 856 9550 RTE1 RTS |
119 | 857 9560 * PUT 'PULS B' |
858 9570 PUTPLB LDA #$33 | |
117 | 859 9580 BRA PUTA1 |
860 9590 ** | |
861 9600 * ADDING EXPRESSION | |
862 9610 ** | |
863 9620 AEXPR BSR MEXPR | |
864 9630 AE1 LDA SY | |
865 9640 CMPA #$80 | |
866 9650 BEQ AE2 | |
867 9660 CMPA #$8B | |
868 9670 BNE RTE1 | |
119 | 869 9680 AE2 PSHS A |
117 | 870 9690 LBSR WORD |
871 9700 BSR MEXPR | |
872 9710 PULS A | |
118 | 873 9720 BSR AOPER |
117 | 874 9730 BRA AE1 |
875 9740 ** | |
876 9750 * MUTIPLYING EXPRESSION | |
877 9760 ** | |
878 9770 MEXPR BSR TERM | |
879 9780 ME1 LDA SY | |
880 9790 CMPA #$8E | |
881 9800 BEQ ME2 | |
882 9810 CMPA #$8F | |
883 9820 BNE RTE1 | |
884 9830 ME2 PSHS A | |
885 9840 LBSR WORD | |
886 9850 BSR TERM | |
887 9860 LDB LSW | |
888 9870 BEQ ME3 | |
119 | 889 9880 LDA #$C6 |
117 | 890 9890 BSR OCORD |
891 9900 FCB $8C | |
892 9910 ME3 BSR PUTPUL | |
893 9920 PULS A | |
894 9930 CMPA #$8E | |
895 9940 BHS ME4 | |
896 9950 LBSR PUTHS | |
897 9960 FCB 3 | |
898 9970 FCB $BD | |
899 9980 FDB MULT | |
900 9990 BRA ME1 | |
901 10000 ME4 LBSR PUTHS | |
902 10010 FCB 3 | |
903 10020 FCB $BD | |
904 10030 FDB DIV | |
905 10040 BRA ME1 | |
906 10050 ** | |
907 10060 * TERM | |
908 10070 ** | |
909 10080 TERM LDA SY | |
119 | 910 10090 BNE TM1 |
117 | 911 10100 * SAVE L-COMMAND |
119 | 912 10110 SLOAD PSHS A |
117 | 913 10120 LBSR OLOAD |
914 10130 LDA VAL | |
915 10140 STA OPER | |
916 10150 LDA GL | |
917 10160 STA GLL | |
918 10170 PULS A | |
118 | 919 10180 STA AMODE |
117 | 920 10190 COM LSW |
921 10200 LBRA WORD | |
126
f43ca5d22920
fix dicimal print routine
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
121
diff
changeset
|
922 10210 * CONST TRUE & FALSE |
f43ca5d22920
fix dicimal print routine
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
121
diff
changeset
|
923 10220 TM1 CMPA #$A0 |
f43ca5d22920
fix dicimal print routine
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
121
diff
changeset
|
924 10230 BEQ TM01 |
117 | 925 10240 CMPA #$A1 |
926 10250 BNE TM2 | |
927 10260 TM01 SUBA #$A1 | |
928 10270 STA VAL | |
929 10280 CLRA | |
930 10290 BRA SLOAD | |
931 10300 * SYSTEM VAR MHIGH & MOD | |
932 10310 TM2 CMPA #$16 | |
119 | 933 10320 BRA *+6 |
117 | 934 10330 CMPA #$17 |
935 10340 BNE TM3 | |
936 10350 STA VAL | |
937 10360 LDA #$10 | |
938 10370 BRA SLOAD | |
939 10380 * SIMPLE VARIABLE | |
940 10390 TM3 CMPA #4 | |
941 10400 BNE TM4 | |
942 10410 LDA #$20 | |
943 10420 BRA SLOAD | |
944 10430 * ( EXPTRSSION ) | |
945 10440 TM4 CMPA #$35 | |
946 10450 BCS TM5 | |
947 10460 CMPA #$38 | |
948 10470 BCC TM5 | |
949 10480 PSHS A | |
950 10490 LBSR WLEXPR | |
951 10500 PULS A | |
952 10510 ADDA #4 | |
953 10520 LBRA CHECK | |
954 10530 ** FUNCTION CALL | |
955 10540 TM5 CMPA #3 | |
956 10550 BMI *+6 | |
957 10560 CMPA #$E0 | |
118 | 958 10570 BCS TM6 |
117 | 959 10580 BSR OLP |
960 10590 PFCALL LDA VAL | |
961 10600 PSHS A | |
962 10610 LBSR WORD | |
963 10620 CMPA #$37 | |
964 10630 BNE PFC1 | |
965 10640 LDA LSIZE | |
966 10650 PSHS A | |
967 10660 INC LSIZE | |
968 10670 PFC2 INC LSIZE | |
969 10680 LBSR WEXPR | |
970 10690 CLRB | |
971 10700 STB ACC | |
972 10710 DECB | |
973 10720 STB GLL | |
974 10730 LDA #$A7 | |
975 10740 LDB LSIZE | |
976 10750 LBSR PUTABX | |
977 10760 LDA SY | |
978 10770 CMPA #$3C | |
979 10780 BEQ PFC2 | |
980 10790 PULS A | |
981 10800 STA LSIZE | |
982 10810 LDA #$3B | |
983 10820 LBSR CHECK | |
984 10830 PFC1 LDB #-1 | |
118 | 985 10840 STB ACC |
117 | 986 10850 STB INDEX |
987 10860 LDA #$86 | |
988 10870 LDB LSIZE | |
120 | 989 10880 LBSR PUTAB |
990 10890 PULS A | |
117 | 991 10900 CMPA #$C0 |
992 10910 BCC *+5 | |
993 10920 LBRA CALPF | |
994 10930 LDX #LIBR | |
995 10940 SUBA #$C0 | |
996 10950 PFC3 BEQ PFC4 | |
120 | 997 10960 LEAX 2,X |
117 | 998 10970 DECA |
119 | 999 10980 BRA PFC3 |
117 | 1000 10990 PFC4 LDA #$BD |
1001 11000 LBSR PUTA | |
1002 11010 LDD ,X | |
1003 11020 LBRA PUTAB | |
1004 11030 ** | |
118 | 1005 11040 OLP LBSR OLOAD |
117 | 1006 11050 LDB ACC |
1007 11060 BEQ RTS4 | |
1008 11070 LDA #$36 | |
1009 11080 LBSR PUTA | |
1010 11090 CLR ACC | |
1011 11100 RTS4 RTS | |
1012 11110 ** FUNCTION RND | |
1013 11120 TM6 CMPA #$70 | |
118 | 1014 11130 BNE TM61 |
117 | 1015 11140 BSR SUBSC |
1016 11150 LBSR PUTHS | |
1017 11160 FCB $03BD | |
1018 11170 FDB RND | |
1019 11180 RTS | |
1020 11190 * FUNTION GET | |
1021 11200 TM61 CMPA #$71 | |
1022 11210 BNE TM62 | |
1023 11220 BSR SUBSC | |
1024 11230 LBSR PUTHS | |
1025 11240 FDB $0597 | |
1026 11250 FCB INDN,$BD | |
1027 11260 FDB GETCH | |
1028 11270 RTS | |
1029 11280 * FUNCTION READ | |
1030 11290 TM62 CMPA #$72 | |
1031 11300 BNE TM7 | |
1032 11310 BSR SUBSC | |
1033 11320 LBSR PUTHS | |
1034 11330 FDB $0597 | |
1035 11340 FDB INDN | |
1036 11350 FCB $8D | |
1037 11360 FDB GETDA | |
1038 11370 RTS | |
119 | 1039 11380 * FUNCTION NOTASL ET AL |
117 | 1040 11390 TM7 CMPA #$40 |
1041 11400 BCS TM8 | |
1042 11410 CMPA #$49+1 | |
1043 11420 BCC TM8 | |
1044 11430 PSHS A | |
1045 11440 BSR SUBSC | |
1046 11450 PULS A | |
119 | 1047 11460 LBRA PUTA |
117 | 1048 11470 * ARRAY |
118 | 1049 11480 TM8 CMPA #$5 |
117 | 1050 11490 BNE TM9 |
1051 11500 LDB VAL | |
1052 11510 PSHS B | |
1053 11520 LDB GL | |
1054 11530 PSHS B | |
1055 11540 BSR SUBSC1 | |
1056 11550 PULS B | |
1057 11560 STB GLL | |
1058 11570 PULS B | |
1059 11580 LDA LSW | |
1060 11590 BEQ ARY1 | |
1061 11600 ADDB OPER | |
1062 11610 STB OPER | |
1063 11620 LDA #$20 | |
118 | 1064 11630 STA AMODE |
117 | 1065 11640 RTS |
1066 11650 ARY1 LDA #$8B | |
1067 11660 LBSR PUTABX | |
1068 11670 LBRA LDAAX | |
1069 11680 ** | |
1070 11690 DSUBSC LDA #$3C | |
118 | 1071 11700 BSR SUBS1 |
117 | 1072 11710 LDA #$3B |
1073 11720 PSHS A | |
1074 11730 BRA SUBS2 | |
1075 11740 SUBSC LDA #$3E | |
118 | 1076 11750 SUBS1 PSHS A |
117 | 1077 11760 LBSR WORD |
1078 11770 LDA #$37 | |
1079 11780 LBSR CHECK | |
118 | 1080 11790 SUBS2 LBSR EXPR |
117 | 1081 11800 PULS A |
1082 11810 LBRA CHECK | |
1083 11820 SUBSC1 LBSR WORD | |
1084 11830 LDA #$36 | |
119 | 1085 11840 LBSR CHECK |
117 | 1086 11850 LBSR LEXPR |
1087 11860 LDB LSW | |
1088 11870 BEQ SBS5 | |
1089 11880 LDB AMODE | |
1090 11890 BEQ SBS5 | |
1091 11900 LBSR OLOAD | |
118 | 1092 11910 SBS5 LDA #$3A |
117 | 1093 11920 LBRA CHECK |
1094 11930 * MEM FUNCTION | |
1095 11940 TM9 CMPA #6 | |
1096 11950 BNE TM10 | |
1097 11960 BSR DSUBSC | |
1098 11970 LBSR PUTHS | |
1099 11980 FDB $0997 | |
1100 11990 FCB WT2 | |
1101 12000 FDB $3297 | |
1102 12010 FCB WT1,$DE,WT1 | |
1103 12020 FDB $A600 | |
1104 12030 CLR INDEX | |
1105 12040 RTS | |
1106 12050 ** FOR EXPANTION | |
119 | 1107 12060 TM10 LBRA ERROR |
117 | 1108 12070 ** |
1109 12080 * LIBRARY ADDRESSS TABLE | |
1110 12090 ** | |
1111 12100 LIBR RMB 80 | |
1112 12110 ** | |
1113 12120 * ADDRESS DEPENDENT CODE | |
1114 12130 * GENARATION | |
1115 12140 ** | |
1116 12150 * SET PRC—FUNC TABLE | |
1117 12160 ** | |
1118 12170 SETPFT PSHS A | |
1119 12180 LDB #3 | |
1120 12190 MUL | |
1121 12200 ADDD PFTBEG | |
1122 12210 STD XR | |
1123 12220 PULS A,PC | |
1124 12230 ** | |
1125 12240 TWICE LBSR PUTSTR | |
1126 12250 FCB $0D,$0A | |
120 | 1127 12260 FCC "TWICE!",0 |
117 | 1128 12270 JMP GAME |
1129 12280 ** | |
1130 12290 * DEF PROC-FUNC | |
1131 12300 ** | |
1132 12310 DEFPF BSR SETPFT | |
1133 12320 LDX XR | |
1134 12330 TST ,X | |
119 | 1135 12340 BNE TWICE |
117 | 1136 12350 COM ,X |
1137 12360 LDX 1,X | |
1138 12370 STX YR | |
1139 12380 LDX XR | |
119 | 1140 12390 LEAX 1,X |
117 | 1141 12400 BSR PCST |
1142 12410 LDX YR | |
1143 12420 DP1 BEQ RT10 | |
1144 12430 LDX ,X | |
1145 12440 STX ZR | |
1146 12450 LDX YR | |
1147 12460 BSR PCST | |
1148 12470 LDX ZR | |
119 | 1149 12480 STX YR |
117 | 1150 12490 BRA DP1 |
1151 12500 ** | |
118 | 1152 12510 * CALL PORC-FUNC |
117 | 1153 12520 ** |
118 | 1154 12530 CALPF BSR SETPFT |
117 | 1155 12540 INCA |
1156 12550 CMPA PFMAX | |
1157 12560 BCS *+4 | |
1158 12570 STA PFMAX | |
1159 12580 LDA #$BD | |
1160 12590 BSR AOUT | |
1161 12600 LDX XR | |
1162 12610 LDD 1,X | |
1163 12620 LDX PC | |
1164 12630 BSR STAABX | |
1165 12640 LDX XR | |
119 | 1166 12650 TST ,X |
117 | 1167 12660 BNE PC2ADD |
1168 12670 LEAX 1,X | |
1169 12680 BSR PCST | |
1170 12690 BRA PC2ADD | |
1171 12700 ** | |
1172 12710 * PUL-DEF N TIMES | |
1173 12720 ** | |
1174 12730 PLDFN PSHS A | |
1175 12740 BSR PULDEF | |
1176 12750 DEC ,S | |
1177 12760 BNE *-4 | |
1178 12770 PULS A,PC | |
1179 12780 ** | |
1180 12790 * PULL AND DEFINE | |
1181 12800 ** | |
1182 12810 PULDEF BSR PULSTK | |
1183 12820 PCST LDD PC | |
1184 12830 STAABX STD ,X | |
119 | 1185 12840 RT10 RTS |
117 | 1186 12850 ** |
1187 12860 JMPOUT LDA #$7E | |
118 | 1188 12870 AOUT LDX PC |
117 | 1189 12880 STA ,X |
1190 12890 BRA INCPC1 | |
1191 12900 ** | |
1192 12910 PULSTK LDX SP | |
1193 12920 LEAX 2,x | |
1194 12930 STX SP | |
1195 12940 LDD ,X | |
1196 12950 LDX ,X | |
1197 12960 RTS | |
1198 12970 ** | |
1199 12980 * PUL STACK & Jump | |
1200 12990 ** | |
1201 13000 PULJMP BSR JMPOUT | |
1202 13010 BSR PULSTK | |
1203 13020 PCST2 LDX PC | |
1204 13030 BSR STAABX | |
1205 13040 INCPC LEAX 1,X | |
1206 13050 INCPC1 LEAX 1,X | |
1207 13060 SETPC STX PC | |
1208 13070 RTS | |
1209 13080 ** | |
1210 13090 * PUSH STACK & JUMP | |
1211 13100 ** | |
1212 13110 PSHJMP BSR JMPOUT | |
1213 13120 BSR PSHDEF | |
1214 13130 PC2ADD LDX PC | |
1215 13140 BRA INCPC | |
1216 13150 ** | |
1217 13160 * PUSH STRCK & DEFINE | |
1218 13170 ** | |
119 | 1219 13180 PSHDEF LDX SP |
117 | 1220 13190 BSR PCST |
1221 13200 LEAX -2,X | |
1222 13210 STX SP | |
1223 13220 RTS | |
119 | 1224 13230 ** |
118 | 1225 13240 OUTPC3 BSR AOUT |
117 | 1226 13250 LDD PC |
1227 13260 ADDD #3 | |
1228 13270 BRA PCST2 | |
1229 13280 ** | |
1230 13290 * LDA R,X | |
1231 13300 LDAAX LDA #$B7 | |
1232 13310 BSR OUTPC3 | |
1233 13320 LDA #$A6 | |
119 | 1234 13330 LA1 BSR AOUT |
117 | 1235 13340 BRA INCPC1 |
1236 13350 ** | |
1237 13360 * STA B,X | |
1238 13370 STABX LDA #$F7 | |
1239 13380 BSR OUTPC3 | |
1240 13390 LDA #$A7 | |
1241 13400 BRA LA1 | |
1242 13410 ** | |
1243 13420 * STACK TOP CHANGE | |
1244 13430 ** | |
1245 13440 STCHG LDU SP | |
1246 13450 LEAU 2,U | |
1247 13460 PULU D,X | |
1248 13470 EXG D,X | |
1249 13480 PSHU D,X | |
1250 13490 RTS | |
1251 135n0 ** | |
1252 13510 * END OF LOAD | |
119 | 1253 13520 ** |
117 | 1254 13530 ENDL LDX PFTBEG |
119 | 1255 13540 LDA PFMAX |
117 | 1256 13550 EL1 BEQ EL |
1257 13560 TST ,X | |
1258 13570 BEQ UDERR | |
1259 13580 EL2 LEAX 3,X | |
1260 13590 DECA | |
1261 13600 BRA EL1 | |
1262 13610 UDERR PSHS A | |
1263 13620 STA ZR | |
1264 13630 SUBA PFMAX | |
1265 13640 NEGA | |
1266 13650 PSHS A | |
1267 13660 LBSR PUTSTR | |
1268 13670 FDB $0D0A | |
120 | 1269 13680 FCC "UNDEF",0 |
117 | 1270 13690 PULS A |
1271 13700 LBSR PUTCA | |
1272 13710 PULS A | |
1273 13720 LDX ZR | |
1274 13730 BRA EL2 | |
1275 13740 EL LDX PC | |
1276 13750 STX VARPTR+1,PCR | |
1277 13760 JMP GAME | |
1278 13770 ** | |
1279 13780 * INPUT ROUTINE | |
1280 13790 * GET ONE CHR FORM MEMORY | |
119 | 1281 13800 ** |
117 | 1282 13810 MEMIN LDX SREG |
1283 13820 LDA ,X+ | |
1284 13830 BEQ LEND | |
1285 13840 MEM1 STX SREG | |
118 | 1286 13850 MEM2 LBRA PUTCA |
117 | 1287 13860 LEND LDA #$D |
1288 13870 BSR MEM2 | |
119 | 1289 13880 LDA #$A |
117 | 1290 13890 TST ,X++ |
1291 13900 BPL MEM1 | |
119 | 1292 13910 LDA #'/' |
117 | 1293 13920 RTS |
1294 13930 ********************** | |
1295 13940 * ADVANCE WORD | |
1296 13950 ** | |
1297 13960 WTABLE FCB 0 END MARK | |
1298 13970 FCB $30,-'P' | |
1299 13980 FCC "ROC" | |
1300 13990 FCB $31,-'F' | |
1301 14000 FCC "UNC" | |
119 | 1302 14010 FCB $32,'V' |
117 | 1303 14020 FCC "AR" |
1304 14030 FCB $33,-'A' | |
1305 14040 FCC "RRAY" | |
119 | 1306 14050 FCB $34,-'B' |
117 | 1307 14060 FCC "EGIN" |
1308 14070 FCB $35,';' | |
1309 14080 FCB $36,-'[' | |
1310 14090 FCB $37,-'(' | |
119 | 1311 14100 FCB $38,-'E' |
117 | 1312 14110 FCC "ND" |
119 | 1313 14120 FCB $39,-'=' |
117 | 1314 14130 FCB $3A,-']' |
1315 14140 FCB $3B,-')' | |
120 | 1316 14150 FCB $3C,-',' |
117 | 1317 14160 FCB $3D,-':' |
1318 14170 FCB $50,-'S' | |
1319 14180 FCC "TOP" | |
1320 14190 FCB $51,-'R' | |
1321 14200 FCC "ETURN" | |
1322 14210 FCB $55,-'I' | |
1323 14220 FCC "F" | |
1324 14230 FCB $65,-'T' | |
1325 14240 FCC "HEN" | |
1326 14250 FCB $53,-'F' | |
1327 14260 FCC "OR" | |
1328 14270 FCB $61,-'T' | |
1329 14280 FCC "O" | |
119 | 1330 14290 FCB $52,-'R' |
120 | 1331 14300 FCC "EPEAT" |
117 | 1332 14310 FCB $60,-'U' |
1333 14320 FCC "NTIL" | |
119 | 1334 14330 FCB $54,-'W' |
117 | 1335 14340 FCC "HILE" |
1336 14350 FCB $64,-'D' | |
1337 14360 FCC "O" | |
1338 14370 FCB $56,-'C' | |
1339 14380 FCC "ASE" | |
119 | 1340 14390 FCB $66,-'O' |
117 | 1341 14400 FCC "F" |
1342 14410 FCB $67,-'E' | |
1343 14420 FCC "LSE" | |
119 | 1344 14430 FCB $57,-'W' |
117 | 1345 14440 FCC "RITE" |
1346 14450 FCB $69,-'A' | |
1347 14460 FCC "SCII" | |
1348 14470 FCB $6A,-'S' | |
1349 14480 FCC "PACE" | |
1350 14490 FCB $68,-'C' | |
1351 14500 FCC "RLF" | |
1352 14510 FCB $6C,-'"' | |
1353 14520 FCB $8B,-'+' | |
1354 14530 FCB $80,-'-' | |
120 | 1355 14540 FCB $8E,-'*' |
117 | 1356 14550 FCB $8F,-'/' |
1357 14560 FCB $82,-'S' | |
1358 14570 FCC "BC" | |
120 | 1359 14580 FCB $84,-'A' |
117 | 1360 14590 FCC "ND" |
1361 14600 FCB $88,-'E' | |
1362 14610 FCC "OR" | |
1363 14620 FCB $89,-'A' | |
1364 14630 FCC "DC" | |
1365 14640 FCB $8A,-'O' | |
120 | 1366 14650 FCC "R" |
117 | 1367 14660 FCB $22,-'>' |
1368 14670 FCB $25,-'<' | |
1369 14680 FCB $26,-'#' | |
1370 14690 FCB $27,-'=' | |
1371 14700 FCB $2D,-'L','T' | |
1372 14710 FCB $2E,-'G','T' | |
1373 14720 FCB $40,-'N','E','G' | |
1374 14730 FCB $43,-'N','O','T' | |
1375 14740 FCB,$43,-'C','O','M' | |
1376 14750 FCB $44,-'L','S','R' | |
1377 14760 FCB $46,-'R','O','R' | |
119 | 1378 14770 FCB $47,-'A','S','R' |
1379 14780 FCB $48,-'A','S','L' | |
1380 14790 FCB $49,-'R','O','L' | |
1381 14800 FCB $06,-'M','E','M' | |
117 | 1382 14810 FCB $A0,-'T' |
1383 14820 FCC "RUE" | |
1384 14830 FCB $A1,-'F' | |
1385 14840 FCC "ALSE" | |
1386 14850 FCB $16,-'M' | |
119 | 1387 14860 FCC "HIGH" |
117 | 1388 14870 FCB $17,-'M' |
1389 14880 FCC "OD" | |
1390 14890 FCB $70,-'R','N','D' | |
1391 14900 FCB $71,-'G','E','T' | |
1392 14910 FCB $72,-'R' | |
1393 14920 FCC "EAD" | |
1394 14930 ****** | |
1395 14940 WTBLE RMB $500 | |
1396 14950 ****** | |
1397 14960 * SUPORTING ROUTINES | |
1398 14970 * & I/0 CONTROL | |
1399 14980 ** | |
1400 14990 SYSTEM EQU $8837 | |
119 | 1401 15000 RUB EQU $8 |
120 | 1402 15010 STACK EQU $FE00 |
117 | 1403 15020 ** OBJECT START |
1404 15030 C LDS #STACK | |
1405 15040 VARPTR LDX #0 | |
118 | 1406 15050 STX GB |
117 | 1407 15060 STX LB |
1408 15070 OBJMP JMP >0 | |
1409 15080 ** | |
1410 15090 * PUSH LB & SET NEW LP | |
1411 15100 ** | |
1412 15110 PSHLB CLRB | |
1413 15120 ADDD LB | |
1414 15130 STD WT1 | |
1415 15140 LDX WT1 | |
1416 15150 LDD LB | |
1417 15160 STD ,X++ | |
1418 15170 STX LB | |
119 | 1419 15180 RTS |
117 | 1420 15190 ** |
1421 15200 * PULL LB | |
1422 15210 ** | |
119 | 1423 15220 PULLB LDX LB |
117 | 1424 15230 LDX ,--X |
1425 15240 STX LB | |
1426 15250 TSTA | |
1427 15260 RTS | |
1428 15270 ** | |
119 | 1429 15280 * RND FUNCTION |
117 | 1430 15290 ** |
1431 15300 RND PSHS A | |
119 | 1432 15310 LDA RNDL |
120 | 1433 15320 LDB #125 |
117 | 1434 15330 MUL |
1435 15340 ADDD #1 | |
1436 15350 STA RNDL | |
1437 15360 PSHS A | |
1438 15370 LDA RNDH | |
1439 15380 LDB #125 | |
1440 15390 MUL | |
1441 15400 ADDA ,S+ | |
1442 15410 STA RNDH | |
1443 15420 PULS B | |
1444 15430 MUL | |
1445 15440 INCA | |
1446 15450 RTS | |
1447 15460 ** | |
1448 15470 * DVISITION SET MOD | |
1449 15480 ** | |
1450 15490 DIV STB WT1 | |
119 | 1451 15500 BEQ ERDIV |
117 | 1452 15510 TFR A,B |
1453 15520 CLRA | |
1454 15530 STA WT2 | |
1455 15540 DV0 INC WT2 | |
1456 15550 ASL WT1 | |
1457 15560 BCC DV0 | |
1458 15570 DV1 ROR WT1 | |
1459 15580 CMPB WT1 | |
1460 15590 BCS DV2 | |
1461 15600 SUBB WT1 | |
119 | 1462 15610 ORCC #1 |
1463 15620 BRA *+4 | |
1464 15630 DV2 ANDCC #$FE CLR C | |
117 | 1465 15640 ROLA |
1466 15650 DEC WT2 | |
119 | 1467 15660 BNE DV1 |
117 | 1468 15670 STB MOD |
1469 15680 TSTA | |
1470 15690 RTS | |
1471 15700 ** | |
118 | 1472 15710 ERDIV STB OUTDN |
119 | 1473 15720 LBSR CRLF |
117 | 1474 15730 LBSR PUTSTR |
120 | 1475 15740 FCC "ERR DIV 0",0 |
117 | 1476 15750 MONIT JMP SYSTEM |
1477 15760 ** | |
1478 15770 MULT MUL | |
1479 15780 STA MHIGH | |
1480 15790 TFR B,A | |
1481 15800 RTS | |
1482 15810 ** | |
1483 15820 * PUT A IN DECIMAL | |
1484 15830 ** | |
1485 15840 PUTDA CLRB | |
1486 15850 PUTDR STB DREG | |
1487 15860 LEAX ,S | |
1488 15870 LEAS -4,S | |
1489 15880 CLR 1,X | |
1490 15890 LDB #3 | |
1491 15900 P0 PSHS B | |
1492 15910 LDB #10 | |
1493 15920 BSR DIV | |
1494 15930 ADDB #$30 | |
1495 15940 STB ,X | |
1496 15950 LEAX -1,X | |
1497 15960 PULS B | |
1498 15970 DECB | |
1499 15980 BNE P0 | |
120 | 1500 15990 COM 3,X |
119 | 1501 16000 LDA #'0' |
117 | 1502 16010 LDB #4 |
1503 16020 P1 LEAX 1,X | |
1504 16030 DECB | |
1505 16040 CMPA ,X | |
1506 16050 BEQ P1 | |
1507 16060 COM 4,S | |
1508 16070 LDA DREG | |
1509 16080 PSHS B | |
1510 16090 SUBA ,S+ | |
1511 16100 BCS PRX | |
118 | 1512 16110 BSR SPACEA |
117 | 1513 16120 PRX LDB ,X |
1514 16130 BEQ P4 | |
1515 16140 BSR PUTCA | |
1516 16150 LEAX 1,X | |
1517 16160 BRA PRX | |
1518 16170 P4 LEAS 4,S | |
1519 16180 CL1 RTS | |
1520 16190 ** | |
1521 16200 * GET IN A DECIMAL | |
1522 16210 ** | |
1523 16220 GETDA CLRA | |
1524 16230 PSHS A | |
1525 16240 BSR GETCA | |
1526 16250 CMPA #RUB | |
119 | 1527 16260 BNE GD1 |
1528 16270 PULS A | |
117 | 1529 16280 LDB #10 |
1530 16290 LBSR DIV | |
1531 16300 BRA GETDA+1 | |
119 | 1532 16310 GD1 SUBA #'0' |
117 | 1533 16320 BCS GD2 |
1534 16330 CMPA #10 | |
1535 16340 BCC GD2 | |
119 | 1536 16350 STA DBUF |
1537 16360 PULS A | |
117 | 1538 16370 LDB #10 |
1539 16380 MUL | |
1540 16390 ADDB DBUF | |
119 | 1541 16400 TFR B,A |
1542 16410 BRA GETDA+1 | |
117 | 1543 16420 GD2 PULS A,PC |
1544 16430 ** | |
119 | 1545 16440 * SPACE A TIMES |
1546 16450 ** | |
118 | 1547 16460 SPACEA BEQ CL1 |
117 | 1548 16470 PSHS A |
119 | 1549 16480 LDA #' ' |
117 | 1550 16490 BSR PUTCA |
1551 16500 PULS A | |
119 | 1552 16510 DECA |
118 | 1553 16520 BRA SPACEA |
117 | 1554 16530 ** |
1555 16540 * STR OUT | |
1556 16550 ** | |
1557 16560 PUTSTR PSHS X | |
1558 16570 LDX 2,S | |
119 | 1559 16580 STR1 LDA ,X+ |
117 | 1560 16590 BEQ STR2 |
119 | 1561 16600 LBSR PUTCA |
117 | 1562 16610 BRA STR1 |
1563 16620 STR2 STX 2,S | |
1564 16630 PULS X,PC | |
1565 16640 ** | |
1566 16650 * CRLF | |
1567 16660 ** | |
1568 16670 CRLF LDA #$0D | |
1569 16680 BSR PUTCA | |
118 | 1570 16690 LDA #$0A |
119 | 1571 16700 BRA PUTCA |
117 | 1572 16710 ** |
119 | 1573 16720 * CRLF A TIMES |
117 | 1574 16730 ** |
1575 16740 CRLFA BEQ CL1 | |
1576 16750 PSHS A | |
1577 16760 BSR CRLF | |
1578 16770 PULS A | |
1579 16780 DECA | |
1580 16790 BRA CRLFA | |
1581 16800 ** | |
1582 16810 * PUTCHR A | |
1583 16820 ** | |
1584 16830 PUTCA PSHS X | |
1585 16840 LDB OUTDN | |
1586 16850 LEAX OUTAT,PC | |
1587 16860 ASLB | |
1588 16870 JSR [B,X] | |
1589 16880 PULS X,PC | |
1590 16890 ** | |
1591 16900 * GET ACCA ONE CHR | |
1592 16910 ** | |
1593 16920 GETCA PSHS X | |
1594 16930 LDB INDN | |
1595 16940 LEAX INAT,PC | |
1596 16950 ASLB | |
1597 16960 JSR [B,X] | |
119 | 1598 16970 PULS X,PC |
117 | 1599 16980 ** |
1600 16990 * INPUT ROUTINE ADDRESS | |
1601 17000 ** | |
1602 17010 INAT FDB INEEE | |
1603 17020 RMB 4 | |
1604 17030 RMB 14 | |
1605 17040 ** | |
118 | 1606 17050 * OUTPUT AOUTINE ADDRESS |
117 | 1607 17060 ** |
1608 17070 OUTAT FDB OUTEEE | |
1609 17080 RMB 6 | |
1610 17090 RMB 12 | |
1611 17100 | |
1612 17110 * OBJECT PG AREA | |
1613 17120 | |
1614 17130 OBJECT NOP | |
1615 17140 END |