Mercurial > hg > Members > kono > os9 > sbc09
annotate game09/game09.asm @ 74:c29030b5e4b4
program is correctly stored. fix d09 ror bug
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 06 Aug 2018 17:36:20 +0900 |
parents | ae26a881ac7a |
children | 7aad8084a784 |
rev | line source |
---|---|
69 | 1 * |
2 * GAME09 interpreter | |
3 * | |
4 | |
70 | 5 ifp1 |
6 use defsfile | |
7 endc | |
69 | 8 |
70 | 9 nam Game09 |
10 ttl Game09 | |
11 tylg set Prgrm+Objct | |
12 atrv set ReEnt+rev | |
13 rev set $01 | |
71 | 14 edition set 1 |
69 | 15 |
70 | 16 mod eom,name,tylg,atrv,start,size |
69 | 17 |
70 | 18 |
19 org 0 | |
20 dpage rmb $96 | |
69 | 21 |
70 | 22 DP00 equ $00 |
73 | 23 DP42 equ $42 program copy pointer |
70 | 24 DP46 equ $46 |
73 | 25 DP4A equ $4A input lineno |
70 | 26 DP4B equ $4B |
27 DP4E equ $4E | |
28 DP4F equ $4F | |
73 | 29 DP50 equ $50 program top |
70 | 30 DP52 equ $52 |
73 | 31 DP58 equ $58 program max |
32 DP7E equ $7E program current end | |
70 | 33 DP82 equ $82 |
34 DP83 equ $83 | |
35 DP84 equ $84 | |
73 | 36 DP86 equ $86 input line (except lineno) |
70 | 37 DP88 equ $88 |
38 DP8A equ $8A | |
39 DP8C equ $8C | |
40 DP8D equ $8D | |
41 DP8E equ $8E | |
42 DP94 equ $94 | |
73 | 43 DPWORK rmb 2 $96 |
44 DPSTK rmb 2 $98 | |
69 | 45 |
73 | 46 lineb0 rmb 2 $9A |
47 linetop rmb 2 $9C | |
48 lineb9a rmb 2 $9E | |
49 lineb9b rmb 2 $A0 | |
50 lineend rmb 2 $A2 | |
51 linebuf rmb 252 | |
52 program rmb $2000 | |
70 | 53 size equ . |
69 | 54 |
71 | 55 name fcs "Game09" |
56 fcb edition | |
57 start * clrb | |
58 * os9 F$Exit | |
70 | 59 LC000 BRA LC005 |
60 LC002 NOP | |
61 LC003 BRA LC014 | |
62 LC005 TFR U,D | |
69 | 63 TFR A,DP |
70 | 64 STU <DPWORK |
65 STS <DPSTK | |
66 LEAX program,U | |
69 | 67 STX <$7E |
68 STX <$50 | |
69 LDA #$FF | |
70 STA ,X | |
71 | 71 LC014 LDU <DPWORK |
73 | 72 LEAX linebuf-1,U |
73 STX <lineb0 | |
74 LEAX 1,X | |
75 STX <linetop | |
76 LEAX 5,X | |
77 STX <lineb9a | |
78 LEAX 1,X | |
79 STX <lineb9b | |
80 LEAX 255-6,X | |
81 STX <lineend | |
70 | 82 LEAX size,U |
69 | 83 STX <$58 |
70 | 84 LC020 LDA #$FF |
69 | 85 STA <$8C |
70 | 86 LC024 LDS <DPSTK |
87 LDU <DPWORK | |
88 LEAU linebuf,U | |
69 | 89 LEAX >LC63F,PCR |
90 LBSR LC165 | |
70 | 91 LC032 LBSR LC370 |
69 | 92 BCS LC06D |
93 STX <$42 | |
94 LBSR LC1D3 | |
95 BEQ LC024 | |
70 | 96 LC03E BSR LC09C |
97 LC040 BMI LC024 | |
69 | 98 STX <$42 |
70 | 99 LC044 LEAX +$02,X |
69 | 100 LDA ,X+ |
101 CMPA #$20 | |
102 BNE LC05B | |
103 LBSR LC1D3 | |
104 BNE LC05F | |
105 LEAX +$01,X | |
106 TST ,X | |
107 BRA LC040 | |
70 | 108 LC057 LDS <DPSTK |
109 LC05B BSR LC0A8 | |
69 | 110 BRA LC040 |
70 | 111 LC05F LDX <$42 |
69 | 112 STX <$84 |
113 BSR LC0A0 | |
114 BMI LC024 | |
115 CMPX <$84 | |
116 BEQ LC03E | |
117 BRA LC044 | |
70 | 118 LC06D STX <$86 |
69 | 119 STD <$4A |
120 LDB ,X | |
121 CMPB #$2F | |
122 BNE LC0B1 | |
73 | 123 LC077 BSR LC09C listing |
70 | 124 LC079 LBSR LC397 |
69 | 125 TST ,X |
126 BMI LC024 | |
127 BSR LC087 | |
128 LBSR LC173 | |
129 BRA LC079 | |
70 | 130 LC087 LDD ,X++ |
69 | 131 PSHS X |
132 LBSR LC443 | |
133 PULS X | |
134 LBRA LC165 | |
70 | 135 LC093 LDX <$42 |
69 | 136 LEAX +$02,X |
70 | 137 LC097 TST ,X+ |
69 | 138 BNE LC097 |
139 RTS | |
70 | 140 LC09C LDX <$7E |
141 LC09E STX <$42 | |
142 LC0A0 LDD ,X | |
69 | 143 BMI LC0B0 |
144 SUBD <$4A | |
145 BCC LC0AF | |
70 | 146 LC0A8 LBSR LC173 |
69 | 147 BSR LC093 |
148 BRA LC09E | |
70 | 149 LC0AF CLRA |
150 LC0B0 RTS | |
151 LC0B1 LDX <$4A | |
69 | 152 BEQ LC077 |
153 BMI LC117 | |
154 LDX <$50 | |
155 LDA ,X | |
156 INCA | |
157 BNE LC117 | |
158 BSR LC09C | |
159 BMI LC0DE | |
160 LDX ,X | |
161 CMPX <$4A | |
162 BNE LC0DE | |
163 BSR LC093 | |
164 LDY <$42 | |
70 | 165 LC0CD LDA ,X |
69 | 166 STA ,Y |
167 CMPX <$50 | |
168 BEQ LC0DB | |
169 LEAX +$01,X | |
170 LEAY +$01,Y | |
171 BRA LC0CD | |
70 | 172 LC0DB STY <$50 |
73 | 173 LC0DE LDX <$86 get program line length |
69 | 174 LDB #$03 |
175 TST ,X+ | |
176 BEQ LC114 | |
70 | 177 LC0E6 INCB |
69 | 178 TST ,X+ |
179 BNE LC0E6 | |
180 CLRA | |
181 ADDD <$50 | |
182 TFR D,Y | |
183 SUBD <$58 | |
184 BCC LC117 | |
185 LDX <$50 | |
186 STY <$50 | |
187 LEAX +$01,X | |
188 LEAY +$01,Y | |
73 | 189 LC0FD LDB ,-X make insert space |
69 | 190 STB ,-Y |
191 CMPX <$42 | |
192 BNE LC0FD | |
193 LDY <$4A | |
194 STY ,X++ | |
195 LDY <$86 | |
70 | 196 LC10E LDB ,Y+ |
69 | 197 STB ,X+ |
198 BNE LC10E | |
70 | 199 LC114 LBRA LC032 |
200 LC117 LBRA LC024 | |
71 | 201 LC11A LDX <DPWORK |
202 LEAX $8F,X | |
69 | 203 TST <$8C |
204 BNE LC124 | |
73 | 205 LDX <linetop |
70 | 206 LC124 LEAY <LC159,PCR |
207 LC127 PSHS X | |
69 | 208 LDX ,Y++ |
209 PSHU X | |
210 LBSR LC335 | |
211 PULU X | |
212 PULS X | |
213 PSHS A | |
214 LDA <$83 | |
215 ADDA #$30 | |
216 STA ,X+ | |
217 PULS A | |
218 TST +$01,Y | |
219 BNE LC127 | |
220 CLR ,X | |
221 COM ,-X | |
222 PSHS X | |
223 LEAX -$05,X | |
224 CLRA | |
70 | 225 LC14B LEAX +$01,X |
69 | 226 INCA |
227 LDB ,X | |
228 CMPB #$30 | |
229 BEQ LC14B | |
230 COM [,S++] | |
231 SUBA #$06 | |
70 | 232 LC158 RTS |
233 LC159 FDB 10000 | |
69 | 234 FDB 1000 |
235 FDB 100 | |
236 FDB 10 | |
237 FDB 1 | |
238 FDB 0 | |
70 | 239 LC165 CLRA |
240 LC166 STA <$94 | |
241 LC168 LDB ,X+ | |
69 | 242 CMPB <$94 |
243 BEQ LC158 | |
244 LBSR LC412 | |
245 BRA LC168 | |
70 | 246 LC173 LBSR LC650 |
69 | 247 LBCS LC024 |
248 RTS | |
70 | 249 LC17B CMPA #$20 |
69 | 250 BEQ LC1D1 |
251 CLR <$4A | |
252 CLR <$4B | |
253 LDB +$01,X | |
254 BITB #$DF | |
255 BNE LC1A6 | |
256 CMPA #$5D | |
257 BNE LC195 | |
258 PULU X,B,A | |
259 STD <$46 | |
260 STX <$42 | |
261 BRA LC1C6 | |
70 | 262 LC195 CMPA #$40 |
69 | 263 BNE LC1A6 |
264 LEAX +$01,X | |
265 STX <$46 | |
266 CLRA | |
267 CLRB | |
268 LDY <$42 | |
269 PSHU Y,X,B,A | |
270 BRA LC1D3 | |
70 | 271 LC1A6 CMPA #$22 |
69 | 272 BNE LC1CA |
273 LEAX +$01,X | |
274 BSR LC166 | |
275 BRA LC1D3 | |
70 | 276 LC1B0 CMPA #$5C |
69 | 277 BNE LC1B9 |
278 LBSR LC676 | |
279 BRA LC1D3 | |
70 | 280 LC1B9 STX <$84 |
69 | 281 BSR LC1EC |
282 LBSR LC39F | |
283 BSR LC173 | |
284 LDX <$4A | |
285 BNE LC1D7 | |
70 | 286 LC1C6 LDX <$46 |
69 | 287 BRA LC1D3 |
70 | 288 LC1CA CMPA #$2F |
69 | 289 BNE LC1B0 |
290 LBSR LC397 | |
70 | 291 LC1D1 LEAX +$01,X |
292 LC1D3 LDA ,X | |
69 | 293 BNE LC17B |
70 | 294 LC1D7 RTS |
295 LC1D8 PSHS A | |
69 | 296 LEAX +$01,X |
297 BSR LC1F6 | |
298 LDX <$46 | |
70 | 299 LC1E0 LDY <$42 |
69 | 300 PSHU Y,X,B,A |
301 PULS PC,B,A | |
70 | 302 LC1E7 LDA #$3D |
69 | 303 LBRA LC4F9 |
70 | 304 LC1EC LDA ,X+ |
69 | 305 BITA #$DF |
306 BEQ LC1E7 | |
307 CMPA #$3D | |
308 BNE LC1EC | |
70 | 309 LC1F6 LBSR LC521 |
310 LC1F9 PSHS B | |
69 | 311 LDB ,X |
312 BITB #$DF | |
313 BEQ LC210 | |
314 CMPB #$29 | |
315 BEQ LC214 | |
316 CMPB #$2C | |
317 BEQ LC1D8 | |
318 PULS B | |
319 LBSR LC29C | |
320 BRA LC1F9 | |
70 | 321 LC210 STX <$46 |
69 | 322 PULS PC,B |
70 | 323 LC214 LEAX +$01,X |
69 | 324 PULS PC,B |
70 | 325 LC218 CMPB #$3F |
69 | 326 BNE LC22E |
327 PSHS X | |
328 STB <$8C | |
329 LBSR LC5D8 | |
330 BSR LC1F6 | |
331 PULS X | |
332 LEAX +$01,X | |
333 RTS | |
334 LEAX +$01,X | |
335 BRA LC1F6 | |
70 | 336 LC22E BSR LC287 |
69 | 337 CMPA #$3A |
338 BEQ LC239 | |
339 BSR LC26E | |
70 | 340 LC236 LDD ,Y |
69 | 341 RTS |
70 | 342 LC239 BSR LC269 |
69 | 343 CLRA |
70 | 344 LC23C LDB ,Y |
345 LC23E RTS | |
346 LC23F CMPB #$22 | |
69 | 347 BCS LC218 |
348 CMPB #$2D | |
349 BHI LC218 | |
350 SUBB #$22 | |
351 LSLB | |
352 LEAY <LC251,PCR | |
353 LDD B,Y | |
354 JMP D,Y | |
68 | 355 |
70 | 356 LC251 fdb LC6EC-* 049b |
69 | 357 fdb LC535-* 02e2 |
358 fdb LC5A1-* 034c | |
359 fdb LC545-* 02ee | |
360 fdb LC236-* ffdd | |
361 fdb LC54E-* 02f3 | |
362 fdb LC236-* ffd9 | |
363 fdb LC23C-* ffdd | |
364 fdb LC23E-* ffdd | |
365 fdb LC53F-* 02dc | |
366 fdb LC23F-* ffdd | |
367 fdb LC53F-* 02d8 | |
68 | 368 |
70 | 369 LC269 BSR LC279 |
69 | 370 LEAY D,Y |
371 RTS | |
70 | 372 LC26E CMPA #$28 |
69 | 373 BNE LC292 |
374 BSR LC279 | |
375 LSLB | |
376 ROLA | |
377 LEAY D,Y | |
378 RTS | |
70 | 379 LC279 BSR LC292 |
69 | 380 LDY ,Y |
381 PSHS Y | |
382 LEAX +$01,X | |
383 LBSR LC1F6 | |
384 PULS PC,Y | |
70 | 385 LC287 LDB ,X+ |
386 LC289 LDA ,X+ | |
69 | 387 CMPA #$41 |
388 BPL LC289 | |
389 LEAX -$01,X | |
390 RTS | |
68 | 391 |
70 | 392 LC292 ANDB #$3F |
69 | 393 CLRA |
394 LSLB | |
71 | 395 ADDD <$04 |
69 | 396 TFR D,Y |
397 RTS | |
70 | 398 LC29C PSHU B,A |
69 | 399 LDD ,X+ |
400 PSHS B,A | |
401 SUBB #$3D | |
402 BEQ LC2A9 | |
403 DECB | |
404 BNE LC2AB | |
70 | 405 LC2A9 LEAX +$01,X |
406 LC2AB LBSR LC521 | |
69 | 407 PULU Y |
408 EXG D,Y | |
409 PSHU Y,B,A | |
410 PULS B,A | |
411 CMPA #$3D | |
412 BNE LC2C4 | |
413 PULU B,A | |
414 SUBD ,U++ | |
415 BNE LC2E4 | |
70 | 416 LC2C0 CLRA |
69 | 417 LDB #$01 |
418 RTS | |
70 | 419 LC2C4 CMPA #$3C |
69 | 420 BNE LC2E7 |
421 CMPB #$3D | |
422 BEQ LC2D7 | |
423 CMPB #$3E | |
424 PULU B,A | |
425 BNE LC2E0 | |
426 SUBD ,U++ | |
427 BNE LC2C0 | |
428 RTS | |
70 | 429 LC2D7 PULU B,A |
69 | 430 SUBD ,U++ |
431 BLE LC2C0 | |
432 CLRA | |
433 CLRB | |
434 RTS | |
70 | 435 LC2E0 SUBD ,U++ |
69 | 436 BLT LC2C0 |
70 | 437 LC2E4 CLRA |
69 | 438 CLRB |
439 RTS | |
70 | 440 LC2E7 CMPA #$3E |
69 | 441 BNE LC2FF |
442 CMPB #$3D | |
443 PULU B,A | |
444 BNE LC2F8 | |
445 SUBD ,U++ | |
446 BGE LC2C0 | |
447 CLRA | |
448 CLRB | |
449 RTS | |
70 | 450 LC2F8 SUBD ,U++ |
69 | 451 BGT LC2C0 |
452 CLRA | |
453 CLRB | |
454 RTS | |
70 | 455 LC2FF CMPA #$2B |
69 | 456 BNE LC308 |
457 PULU B,A | |
458 ADDD ,U++ | |
459 RTS | |
70 | 460 LC308 CMPA #$2D |
69 | 461 BNE LC311 |
462 PULU B,A | |
463 SUBD ,U++ | |
464 RTS | |
70 | 465 LC311 CMPA #$2A |
69 | 466 LBNE LC653 |
467 PULU B,A | |
70 | 468 LC319 EXG A,B |
69 | 469 PSHU B,A |
470 LDB +$03,U | |
471 MUL | |
472 STD <$82 | |
473 BSR LC32B | |
474 BSR LC32B | |
475 LDD <$82 | |
476 LEAU +$02,U | |
477 RTS | |
70 | 478 LC32B PULU A |
69 | 479 LDB +$01,U |
480 MUL | |
481 ADDB <$82 | |
482 STB <$82 | |
483 RTS | |
70 | 484 LC335 CLR ,-S |
485 LC337 INC ,S | |
69 | 486 LSL +$01,U |
487 ROL ,U | |
488 BCC LC337 | |
489 ROR ,U | |
490 ROR +$01,U | |
491 CLR <$82 | |
492 CLR <$83 | |
70 | 493 LC347 SUBD ,U |
69 | 494 BCC LC351 |
495 ADDD ,U | |
496 ANDCC #$FE | |
497 BRA LC353 | |
70 | 498 LC351 ORCC #$01 |
74
c29030b5e4b4
program is correctly stored. fix d09 ror bug
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
73
diff
changeset
|
499 LC353 ROL <$83 |
c29030b5e4b4
program is correctly stored. fix d09 ror bug
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
73
diff
changeset
|
500 ROL <$82 |
69 | 501 DEC ,S |
502 BEQ LC361 | |
503 LSR ,U | |
504 ROR +$01,U | |
505 BRA LC347 | |
70 | 506 LC361 LEAS +$01,S |
69 | 507 RTS |
70 | 508 LC364 LDB ,X |
69 | 509 CMPB #$30 |
510 BCS LC36D | |
511 CMPB #$3A | |
512 RTS | |
70 | 513 LC36D ANDCC #$FE |
69 | 514 RTS |
70 | 515 LC370 LBSR LC5D8 |
516 LC373 BSR LC364 | |
69 | 517 BCC LC396 |
518 CLRA | |
519 CLRB | |
70 | 520 LC379 ADDB ,X+ |
69 | 521 ADCA #$00 |
522 SUBD #$030 | |
523 PSHU B,A | |
524 BSR LC364 | |
525 LDD ,U | |
526 BCC LC392 | |
527 LSLB | |
528 ROLA | |
529 LSLB | |
530 ROLA | |
531 ADDD ,U++ | |
532 LSLB | |
533 ROLA | |
534 BRA LC379 | |
70 | 535 LC392 PULU B,A |
69 | 536 ORCC #$01 |
70 | 537 LC396 RTS |
538 LC397 LDB #$0D | |
69 | 539 BSR LC39D |
70 | 540 LC39B LDB #$0A |
541 LC39D BRA LC412 | |
542 LC39F PSHS B,A | |
69 | 543 LDA #$01 |
544 STA <$8C | |
545 LDX <$84 | |
546 LDB ,X | |
547 CMPB #$2E | |
548 BNE LC3BA | |
549 PULS A | |
550 LDA ,S+ | |
70 | 551 LC3B1 BEQ LC3C4 |
69 | 552 LDB #$20 |
553 BSR LC412 | |
554 DECA | |
555 BRA LC3B1 | |
70 | 556 LC3BA CMPB #$3B |
69 | 557 BNE LC3C5 |
558 LDD ,S++ | |
559 LBEQ LC057 | |
70 | 560 LC3C4 RTS |
561 LC3C5 CMPB #$40 | |
69 | 562 BNE LC3E4 |
563 LDB +$02,X | |
564 LBSR LC292 | |
565 PULS B,A | |
566 STD ,Y | |
567 PULU B,A | |
568 SUBD ,Y | |
569 BLT LC3E1 | |
570 PULU X,B,A | |
571 STD <$46 | |
572 STX <$42 | |
573 LEAU -$06,U | |
574 RTS | |
70 | 575 LC3E1 LEAU +$04,U |
69 | 576 RTS |
70 | 577 LC3E4 CMPB #$26 |
69 | 578 BNE LC3FA |
70 | 579 LC3E8 LDB +$01,X |
69 | 580 CMPB #$3D |
581 BNE LC3FA | |
582 LDD ,S++ | |
583 BNE LC3F9 | |
584 LDX <$7E | |
585 STX <$50 | |
586 DECA | |
587 STA ,X | |
70 | 588 LC3F9 RTS |
589 LC3FA CMPB #$21 | |
69 | 590 BNE LC40C |
591 PULS B,A | |
592 STD <$4A | |
593 BEQ LC40B | |
594 LDY <$42 | |
595 LDX <$46 | |
596 PSHU Y,X | |
70 | 597 LC40B RTS |
598 LC40C CMPB #$24 | |
69 | 599 BNE LC415 |
600 PULS B,A | |
70 | 601 LC412 LBRA LC64A |
602 LC415 CMPB #$3F | |
69 | 603 BNE LC449 |
604 LDB +$01,X | |
605 CMPB #$28 | |
606 LBNE LC56E | |
607 LBSR LC51F | |
70 | 608 LC424 STB <$8E |
69 | 609 PULS B,A |
610 BSR LC433 | |
611 ADDA <$8E | |
612 BMI LC430 | |
613 BSR LC3B1 | |
70 | 614 LC430 LBRA LC165 |
615 LC433 TSTA | |
69 | 616 LBPL LC11A |
617 LBSR LC4F3 | |
618 LBSR LC11A | |
619 LDB #$2D | |
620 STB ,-X | |
621 RTS | |
70 | 622 LC443 PSHS B,A |
69 | 623 LDB #$05 |
624 BRA LC424 | |
70 | 625 LC449 CMPB #$3D |
69 | 626 BNE LC460 |
627 PULS B,A | |
628 STD <$7E | |
71 | 629 LDX #$FFFF |
69 | 630 STX <$4A |
631 LBSR LC09C | |
632 STX <$50 | |
633 LBRA LC024 | |
70 | 634 LC45E PULS PC,B,A |
635 LC460 CMPB #$3E | |
69 | 636 BNE LC46C |
637 LDD ,S | |
638 BEQ LC45E | |
639 JSR [,S++] | |
640 PSHS B,A | |
70 | 641 LC46C LDX <$84 |
69 | 642 LBSR LC287 |
643 CMPA #$3A | |
644 BNE LC47D | |
645 LBSR LC269 | |
646 PULS B,A | |
647 STB ,Y | |
648 RTS | |
70 | 649 LC47D LBSR LC26E |
69 | 650 PULS B,A |
651 STD ,Y | |
652 RTS | |
653 LDA +$01,X | |
654 CMPA #$4E | |
655 BEQ LC48E | |
71 | 656 LBRA SYSTEM |
70 | 657 LC48E TST +$02,X |
69 | 658 BNE LC494 |
659 CLR +$03,X | |
70 | 660 LC494 LEAX +$03,X |
69 | 661 CLR <$8C |
662 LBSR LC373 | |
663 BCS LC4A0 | |
664 LDD #LC3E8 | |
70 | 665 LC4A0 STD <$88 |
69 | 666 LDB ,X |
667 CMPB #$2C | |
668 BNE LC4AF | |
669 LEAX +$01,X | |
670 LBSR LC373 | |
671 BCS LC4B2 | |
70 | 672 LC4AF LDD #$00A |
673 LC4B2 STD <$8A | |
69 | 674 RTS |
70 | 675 LC4B5 CMPA #$2F |
69 | 676 BNE LC4F9 |
677 CLR <$8D | |
678 LDD +$02,U | |
679 BEQ LC4F9 | |
680 BMI LC4D4 | |
681 CMPD #LC002 | |
682 BNE LC4DE | |
683 PULU B,A | |
684 CLR <$4E | |
685 CLR <$4F | |
686 ASRA | |
687 RORB | |
74
c29030b5e4b4
program is correctly stored. fix d09 ror bug
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
73
diff
changeset
|
688 ROL <$4F |
69 | 689 LEAU +$02,U |
690 RTS | |
70 | 691 LC4D4 INC <$8D |
69 | 692 NEG +$03,U |
693 BNE LC4DC | |
694 DEC +$02,U | |
70 | 695 LC4DC COM +$02,U |
696 LC4DE LDD ,U++ | |
69 | 697 BPL LC4E6 |
698 DEC <$8D | |
699 BSR LC4F3 | |
70 | 700 LC4E6 LBSR LC335 |
69 | 701 LEAU +$02,U |
702 STD <$4E | |
703 LDD <$82 | |
704 TST <$8D | |
705 BEQ LC4F8 | |
70 | 706 LC4F3 NEGB |
69 | 707 BNE LC4F7 |
708 DECA | |
70 | 709 LC4F7 COMA |
710 LC4F8 RTS | |
711 LC4F9 LBSR LC397 | |
69 | 712 LDB #$3F |
713 STB <$8C | |
714 LBSR LC412 | |
715 TFR A,B | |
716 LBSR LC412 | |
717 LDB #$20 | |
718 LBSR LC412 | |
719 LDX <$42 | |
71 | 720 STY ,S |
74
c29030b5e4b4
program is correctly stored. fix d09 ror bug
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
73
diff
changeset
|
721 CMPX <linetop |
69 | 722 BNE LC519 |
723 LBSR LC165 | |
724 BRA LC51C | |
70 | 725 LC519 LBSR LC087 |
726 LC51C LBRA LC024 | |
727 LC51F LEAX +$01,X | |
728 LC521 LBSR LC373 | |
69 | 729 BCS LC532 |
730 LBRA LC23F | |
731 BSR LC51F | |
732 BRA LC4F3 | |
733 BSR LC51F | |
734 TSTA | |
735 BMI LC4F3 | |
70 | 736 LC532 RTS |
69 | 737 BSR LC51F |
70 | 738 LC535 PSHS B,A |
69 | 739 LDD ,S++ |
740 LBNE LC2E4 | |
741 INCB | |
742 RTS | |
70 | 743 LC53F BSR LC51F |
69 | 744 LDD <$4E |
745 RTS | |
746 LC545 | |
747 BSR LC51F | |
748 PSHU B,A | |
749 LDD <$52 | |
750 PSHU B,A | |
751 LC54E | |
71 | 752 LDD #$3D09 |
69 | 753 LBSR LC319 |
754 ADDD #1 | |
755 STD <$52 | |
756 TFR A,B | |
757 CLRA | |
758 LBSR LC319 | |
759 TFR A,B | |
760 CLRA | |
761 ADDD #1 | |
762 RTS | |
763 LC568 | |
764 CLRA | |
765 LDB +$01,X | |
766 LEAX +$03,X | |
767 RTS | |
70 | 768 LC56E CMPB #$3F |
69 | 769 BEQ LC57E |
770 CMPB #$24 | |
771 BEQ LC582 | |
772 PULS B,A | |
773 LBSR LC433 | |
774 LBRA LC165 | |
70 | 775 LC57E LDB ,S |
69 | 776 BSR LC584 |
70 | 777 LC582 PULS B,A |
778 LC584 TFR B,A | |
69 | 779 BSR LC58E |
780 TFR A,B | |
781 ANDB #$0F | |
782 BRA LC592 | |
70 | 783 LC58E LSRB |
69 | 784 LSRB |
785 LSRB | |
786 LSRB | |
70 | 787 LC592 CMPB #$0A |
69 | 788 BMI LC598 |
789 ADDB #$07 | |
70 | 790 LC598 ADDB #$30 |
69 | 791 LBRA LC412 |
792 CLRA | |
793 BSR LC5BD | |
794 LC5A1 | |
795 LBCC LC64D | |
70 | 796 LC5A4 PSHS B |
69 | 797 BSR LC5BD |
798 PSHU B | |
799 PULS B | |
800 BCC LC5BA | |
801 LSLB | |
802 ROLA | |
803 LSLB | |
804 ROLA | |
805 LSLB | |
806 ROLA | |
807 LSLB | |
808 ROLA | |
809 ADDB ,U+ | |
810 BRA LC5A4 | |
70 | 811 LC5BA LEAU +$01,U |
69 | 812 RTS |
70 | 813 LC5BD LEAX +$01,X |
69 | 814 LDB ,X |
815 SUBB #$30 | |
816 BCS LC5D2 | |
817 CMPB #$0A | |
818 BCS LC5D1 | |
819 SUBB #$07 | |
820 CMPB #$0A | |
821 BCS LC5D2 | |
822 CMPB #$10 | |
70 | 823 LC5D1 RTS |
824 LC5D2 ANDCC #$FE | |
69 | 825 RTS |
70 | 826 LC5D5 LBSR LC397 |
827 LC5D8 LDB #$3A | |
71 | 828 LBSR LC64A |
73 | 829 LDX <linetop |
69 | 830 TST <$8C |
831 BNE LC5F2 | |
832 LDD <$88 | |
833 LBMI LC020 | |
834 LBSR LC443 | |
835 LDB #$20 | |
836 STB -$01,X | |
837 BSR LC64A | |
70 | 838 LC5F2 BSR LC64D |
69 | 839 CMPB #$08 |
840 BEQ LC634 | |
841 CMPB #$0D | |
842 BCS LC5F2 | |
843 BEQ LC611 | |
844 CMPB #$18 | |
845 BEQ LC5D5 | |
846 STB ,X+ | |
73 | 847 CMPX <lineend |
69 | 848 BNE LC5F2 |
849 LEAX -$01,X | |
850 LDB #$08 | |
851 BSR LC64A | |
852 BRA LC5F2 | |
70 | 853 LC611 TST <$8C |
69 | 854 BNE LC626 |
73 | 855 CMPX <lineb9b |
69 | 856 BEQ LC61F |
73 | 857 CMPX <lineb9a |
69 | 858 BCC LC626 |
70 | 859 LC61F COM <$8C |
69 | 860 LBSR LC39B |
861 BRA LC5D8 | |
70 | 862 LC626 LDD <$88 |
69 | 863 ADDD <$8A |
864 STD <$88 | |
865 CLR ,X | |
73 | 866 LDX <linetop |
69 | 867 LBRA LC39B |
70 | 868 LC634 LEAX -$01,X |
73 | 869 CMPX <lineb0 |
69 | 870 BNE LC5F2 |
871 STB <$8C | |
71 | 872 LBRA LC5D8 |
69 | 873 LC63F |
874 FCB $D,$A | |
72 | 875 FCC "*READY" |
69 | 876 FCB $D,$A,0 |
68 | 877 |
70 | 878 LC64A LBRA OUTCH |
71 | 879 LC64D LBRA GETCH |
880 LC650 LBRA SENSE | |
70 | 881 |
882 LC653 CMPA #$2E EXBOP | |
69 | 883 BNE LC65E |
884 PULU B,A | |
885 ORA ,U+ | |
886 ORB ,U+ | |
887 RTS | |
70 | 888 LC65E CMPA #$26 |
69 | 889 BNE LC669 |
890 PULU B,A | |
891 ANDA ,U+ | |
892 ANDB ,U+ | |
893 RTS | |
70 | 894 LC669 CMPA #$21 |
69 | 895 LBNE LC4B5 |
896 PULU B,A | |
897 EORA ,U+ | |
898 EORB ,U+ | |
899 RTS | |
70 | 900 LC676 LDD +$01,X EXTEND |
69 | 901 LEAX +$03,X |
902 PSHS U,X,B,A | |
903 LEAY >OPCMD,PCR | |
70 | 904 LC680 LDX ,Y |
69 | 905 BMI LC6E7 |
906 CMPX ,S | |
907 BEQ LC68C | |
908 LEAY +$05,Y | |
909 BRA LC680 | |
70 | 910 LC68C LEAY +$03,Y |
69 | 911 LEAS +$02,S |
912 LDX ,S | |
913 LDA -$01,Y | |
914 BEQ LC6C3 | |
915 PSHS Y,A | |
916 LDA #$20 | |
70 | 917 LC69A CMPA ,X+ |
69 | 918 BEQ LC69A |
919 LDA ,-X | |
920 STX +$03,S | |
70 | 921 LC6A2 BITA #$DF |
69 | 922 BEQ LC6B0 |
923 CMPA #$2C | |
924 BEQ LC6AE | |
925 BSR LC6C9 | |
926 BRA LC6B3 | |
70 | 927 LC6AE LEAX +$01,X |
71 | 928 LC6B0 LDD #$FFFF |
70 | 929 LC6B3 PSHU B,A |
69 | 930 LDA ,X |
931 DEC ,S | |
932 BNE LC6A2 | |
933 LDD +$03,S | |
934 STX +$03,S | |
935 TFR D,X | |
936 PULS Y,A | |
70 | 937 LC6C3 LDD ,Y |
69 | 938 JSR D,Y |
939 PULS PC,U,X | |
70 | 940 LC6C9 LBSR LC521 |
941 LC6CC PSHS B | |
69 | 942 LDB ,X |
943 BITB #$DF | |
944 BEQ LC6E5 | |
945 CMPB #$2C | |
946 BEQ LC6E3 | |
947 CMPB #$29 | |
948 BEQ LC6E3 | |
949 PULS B | |
950 LBSR LC29C | |
951 BRA LC6CC | |
70 | 952 LC6E3 LEAX +$01,X |
953 LC6E5 PULS PC,B | |
954 LC6E7 PULS U,X,B,A | |
69 | 955 LBRA LC4F9 |
70 | 956 LC6EC LEAX +$01,X |
69 | 957 LDB ,X+ |
70 | 958 LC6F0 LDA ,X+ |
69 | 959 BEQ LC6F8 |
960 CMPA #$22 | |
961 BNE LC6F0 | |
70 | 962 LC6F8 CLRA |
69 | 963 RTS |
964 | |
72 | 965 OUTCH PSHS X,Y |
966 BRA OUTCH1 | |
967 GETCH | |
968 PSHS B,X,Y | |
969 GETCH0 | |
970 LDA #0 | |
70 | 971 LEAX ,S |
972 LDY #1 | |
973 OS9 I$Read | |
72 | 974 BCS GETCH0 |
975 PULS B,X,Y,PC | |
976 OUTCH1 PSHS B | |
70 | 977 LEAX ,S |
978 LDA #1 | |
979 LDY #1 | |
980 OS9 I$Write | |
72 | 981 PULS B,X,Y,PC |
982 SENSE PSHS X,Y | |
983 LDA #0 | |
70 | 984 LDB #SS.Ready |
985 OS9 i$GetStt | |
73 | 986 CMPB #$F6 Not Ready |
987 BNE RSENSE | |
988 CLRB | |
989 BRA RNSENSE | |
990 RSENSE | |
991 ORCC #1 set carry to indicate ready | |
992 RNSENSE | |
72 | 993 PULS X,Y,PC |
70 | 994 |
69 | 995 |
68 | 996 |
69 | 997 * COMMAND TABLE CONSIST.... |
998 * COMMAND NAME (2 BYTE) | |
999 * PARAMETER COUNT (1 BYTE) | |
1000 * OFSET TO SUBROUTIE FROM HERE (1 WORD) | |
1001 ************************** | |
1002 OPCMD FCB 'A','T',2 START LINE,STEP | |
1003 FDB CAUTO-* | |
1004 FCB 'R','N',3 RENUM first line no,inc,renum start | |
1005 FDB RENUM-* | |
1006 * FCB 'R','D',3 DISK READ address,track,sector | |
1007 * FDB GETDK-* | |
1008 * FCB 'W','R',3 DISK WRITE | |
1009 * FDB PUTDK-* | |
1010 FCB 'S','Y',0 TO SYSTEM | |
1011 FDB SYSTEM-* | |
1012 FDB -1,-1,-1,-1,-1,-1 | |
1013 ************************* | |
1014 RENUM | |
1015 LDD ,U++ | |
1016 BPL LC762 | |
1017 CLRA | |
1018 CLRB | |
70 | 1019 LC762 STD <$4A |
69 | 1020 LBSR LC09C |
1021 BMI LC789 | |
1022 LDD ,U++ | |
1023 BPL LC770 | |
1024 LDD #$00A | |
70 | 1025 LC770 LDY ,U++ |
69 | 1026 BPL LC779 |
1027 LDY #LC3E8 | |
70 | 1028 LC779 STY ,X++ |
69 | 1029 LBSR LC173 |
1030 LEAY D,Y | |
70 | 1031 LC781 TST ,X+ |
69 | 1032 BNE LC781 |
1033 TST ,X | |
1034 BPL LC779 | |
70 | 1035 LC789 RTS |
69 | 1036 CAUTO |
1037 LDD ,U++ | |
1038 BPL LC791 | |
1039 LDD #$00A | |
70 | 1040 LC791 STD <$8A |
69 | 1041 LDD ,U |
1042 BEQ LC79E | |
1043 BPL LC79C | |
1044 LDD #LC3E8 | |
70 | 1045 LC79C STD <$88 |
1046 LC79E CLR <$8C | |
69 | 1047 RTS |
1048 BSR LC7B6 | |
71 | 1049 * LBSR LCD09 |
69 | 1050 BNE LC7B1 |
1051 RTS | |
1052 BSR LC7B6 | |
71 | 1053 * LBSR LCD0C |
69 | 1054 BNE LC7B1 |
1055 RTS | |
70 | 1056 LC7B1 LDA #$44 |
69 | 1057 LBRA LC4F9 |
70 | 1058 LC7B6 LDX +$04,U |
69 | 1059 LDA +$03,U |
1060 LDB +$01,U | |
1061 RTS | |
70 | 1062 SYSTEM clrb |
1063 os9 F$Exit | |
1064 rts | |
1065 emod | |
71 | 1066 eom equ * |
70 | 1067 end |