comparison TL1/TL1.txt @ 117:f8f44153f8c1

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