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