comparison TL1/TL1os9.asm @ 137:1078f3e31d9c

index version TL/1 first try
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 07 Jan 2019 12:22:19 +0900
parents 694412798333
children 6f7276831219
comparison
equal deleted inserted replaced
136:694412798333 137:1078f3e31d9c
38 PFMAX RMB 2 38 PFMAX RMB 2
39 LSW RMB 1 39 LSW RMB 1
40 SY RMB 1 40 SY RMB 1
41 CH RMB 1 41 CH RMB 1
42 VAL RMB 1 42 VAL RMB 1
43 GL RMB 1 43 GL RMB 1 global 0xff / local 1
44 OPER RMB 1 44 OPER RMB 1
45 GLL RMB 1 45 GLL RMB 1 left value g 0xff / local l
46 INDEX RMB 1
47 RMCODE RMB 1 46 RMCODE RMB 1
48 ACC RMB 1 47 ACC RMB 1
49 LSIZE RMB 1 48 LSIZE RMB 1
50 TCOUNT RMB 1 49 TCOUNT RMB 1
51 TEND RMB 2 50 TEND RMB 2
52 WEND RMB 2 51 WEND RMB 2
53 AMODE RMB 1 0x20 main, 1 proc, 0 ? 52 AMODE RMB 1 0x20 main, 1 proc, 0 ?
54 RSW RMB 1 53 RSW RMB 1 0 word lookup, 0xff word register mode in tlook
55 GEND RMB 2 54 GEND RMB 2
56 SSW RMB 1 55 SSW RMB 1
57 56
58 filepath rmb 2 57 filepath rmb 2
59 parmptr rmb 2 58 parmptr rmb 2
87 86
88 ** 87 **
89 COMP CLRA 88 COMP CLRA
90 STA OUTDN 89 STA OUTDN
91 STA LSW 90 STA LSW
92 STA INDEX
93 STA AMODE 91 STA AMODE
94 STA LSIZE 92 STA LSIZE
95 STA RSW 93 STA RSW
96 STA PFMAX 94 STA PFMAX
97 leax MSTACK,u 95 leax MSTACK,u
177 ** 175 **
178 REGNAM COM RSW 176 REGNAM COM RSW
179 LBSR WORD 177 LBSR WORD
180 LDB RSW 178 LDB RSW
181 BEQ *+5 179 BEQ *+5
182 ERR4 LBRA ERROR 180 ERR4 LBRA ERROR define duplicate name
183 LDX TEND 181 LDX TEND
184 LDA LSIZE 182 LDA LSIZE
185 STA ,X 183 STA ,X
186 INC LSIZE 184 INC LSIZE
187 LDX WEND 185 LDX WEND
188 STX TEND 186 STX TEND
189 BSR WORD1 187 BSR WORD1
190 CMPA #$36 [ 188 CMPA #$36 "[" array
191 BNE REG2 189 BNE REG2
192 BSR WORD1 190 BSR WORD1
193 BNE ERR4 191 BNE ERR4
194 LDA VAL 192 LDA VAL
195 ADDA LSIZE 193 ADDA LSIZE
202 ** 200 **
203 * PROGRAM 201 * PROGRAM
204 ** 202 **
205 PROG CMPA #$32 VAR? 203 PROG CMPA #$32 VAR?
206 BNE *+4 204 BNE *+4
207 BSR REGNAM 205 BSR REGNAM global variable
208 BSR REG0 206 BSR REG0 put mark
209 CMPA #$33 ARRAY? 207 CMPA #$33 ARRAY?
210 BNE *+4 208 BNE *+4
211 BSR REGNAM 209 BSR REGNAM
212 LDB #-1
213 STB INDEX
214 ** 210 **
215 * STATEMENT 211 * STATEMENT
216 ** 212 **
217 STAT BSR SSTAT 213 STAT BSR SSTAT
218 LDB SSW 214 LDB SSW
238 SS1 CMPA #$34 BEGIN 234 SS1 CMPA #$34 BEGIN
239 BCS SS2 235 BCS SS2
240 CMPA #$38 END 236 CMPA #$38 END
241 BCC SS2 237 BCC SS2
242 ADDA #4 238 ADDA #4
243 PSHS A 239 PSHS A wait for END
244 BSR WORD1 240 BSR WORD1
245 BSR STLIST 241 BSR STLIST
246 PULS A 242 PULS A
247 CLR SSW 243 CLR SSW
248 LBRA CHECK 244 LBRA CHECK
336 TSTA 332 TSTA
337 BNE AS4 333 BNE AS4
338 LBSR PUTX 334 LBSR PUTX
339 LDA #$A7 335 LDA #$A7
340 LDB OPER 336 LDB OPER
341 LBRA PUTAB 337 LBRA PUTOFS
342 AS4 DECA 338 AS4 DECA
343 BNE AS5 339 BNE AS5
344 LDD #$3504 PULS B 340 LDD #$3504 PULS B
345 LBSR PUTAB 341 LBSR PUTAB
346 LBSR PUTX STA B,X / STA B,Y 342 LBSR PUTX STA B,X / STA B,Y
348 LBRA PUTAB 344 LBRA PUTAB
349 AS5 LBSR PUTHS 345 AS5 LBSR PUTHS
350 FCB 4 346 FCB 4
351 FDB $3510 PULS X 347 FDB $3510 PULS X
352 FDB $A700 STA ,X 348 FDB $A700 STA ,X
353 CLR INDEX
354 RTS 349 RTS
355 ** 350 **
356 ** NON-STATEMENT 351 ** NON-STATEMENT
357 ** 352 **
358 SSEND COM SSW 353 SSEND COM SSW
369 ** 364 **
370 * REPEAT UNTIL 365 * REPEAT UNTIL
371 ** 366 **
372 DECB 367 DECB
373 BNE SS7 368 BNE SS7
374 STB INDEX
375 BSR ASTOUT 369 BSR ASTOUT
376 LBSR STLIST 370 LBSR STLIST
377 LDA #$60 371 LDA #$60
378 LBSR CHECK 372 LBSR CHECK
379 LBSR EXPR 373 LBSR EXPR
402 LDA #$64 do 396 LDA #$64 do
403 LBSR CHECK 397 LBSR CHECK
404 BSR ASTOUT 398 BSR ASTOUT
405 LDD #$3402 pshs a 399 LDD #$3402 pshs a
406 LBSR PUTAB 400 LBSR PUTAB
407 CLR INDEX
408 LBSR STAT 401 LBSR STAT
409 LDD #$3502 puls a 402 LDD #$3502 puls a
410 LBSR PUTAB 403 LBSR PUTAB
411 PULS D 404 PULS D
412 STA GLL 405 STA GLL
424 ** 417 **
425 * WHILE-DO 418 * WHILE-DO
426 ** 419 **
427 SS8 DECB 420 SS8 DECB
428 BNE SS9 421 BNE SS9
429 STB INDEX
430 BSR ASTOUT 422 BSR ASTOUT
431 LBSR EXPR 423 LBSR EXPR
432 LDA #$64 424 LDA #$64
433 LBSR CHECK 425 LBSR CHECK
434 LBSR PUTHS 426 LBSR PUTHS
435 FCB 2 427 FCB 2
436 FDB $2603 428 FDB $2603
437 BSR SLAOUT 429 BSR SLAOUT
438 LDB INDEX
439 PSHS B
440 LBSR STAT 430 LBSR STAT
441 PULS B
442 STB INDEX
443 BSR PEROUT 431 BSR PEROUT
444 BSR MINOUT 432 BSR MINOUT
445 PLUOUT LBRA PULDEF 433 PLUOUT LBRA PULDEF
446 ** 434 **
447 ** IF—THEN 435 ** IF—THEN
453 LBSR CHECK 441 LBSR CHECK
454 LBSR PUTHS 442 LBSR PUTHS
455 FCB 2 443 FCB 2
456 FDB $2603 444 FDB $2603
457 BSR SLAOUT 445 BSR SLAOUT
458 LDB INDEX
459 PSHS B
460 LBSR STAT 446 LBSR STAT
461 PULS B
462 CMPB INDEX
463 BEQ *+4
464 CLR INDEX
465 BRA PLUOUT 447 BRA PLUOUT
466 SLAOUT LBRA PSHJMP 448 SLAOUT LBRA PSHJMP
467 PEROUT LBRA STCHG 449 PEROUT LBRA STCHG
468 *** 450 ***
469 * CASE—OF 451 * CASE—OF
481 LBSR AOPER 463 LBSR AOPER
482 LBSR PUTHS 464 LBSR PUTHS
483 FCB 2 465 FCB 2
484 FDB $2703 466 FDB $2703
485 BSR SLAOUT 467 BSR SLAOUT
486 LDB INDEX
487 PSHS B
488 LBSR STAT 468 LBSR STAT
489 BSR SLAOUT 469 BSR SLAOUT
490 BSR PEROUT 470 BSR PEROUT
491 BSR PLUOUT 471 BSR PLUOUT
492 PULS B
493 STB INDEX
494 PULS B 472 PULS B
495 LDA SY 473 LDA SY
496 CMPA #$67 474 CMPA #$67
497 BNE S10A 475 BNE S10A
498 PSHS B 476 PSHS B
499 LBSR WORD 477 LBSR WORD
500 LBSR STAT 478 LBSR STAT
501 CLR INDEX
502 PULS A 479 PULS A
503 LBRA PLDFN 480 LBRA PLDFN
504 ** 481 **
505 * WRITE STATEMENT 482 * WRITE STATEMENT
506 ** 483 **
532 BEQ WR02 509 BEQ WR02
533 LBSR PUTA 510 LBSR PUTA
534 LBSR GETCH 511 LBSR GETCH
535 BRA WR01 512 BRA WR01
536 WR02 CLRA put 0 at end 513 WR02 CLRA put 0 at end
537 STA INDEX
538 LBSR PUTA 514 LBSR PUTA
539 LBSR GETCH 515 LBSR GETCH
540 LBRA WORD 516 LBRA WORD
541 ** 517 **
542 WR1 CMPA #$6B 518 WR1 CMPA #$6B
583 ** 559 **
584 WR6 LBSR EXPR 560 WR6 LBSR EXPR
585 LBSR PUTHSL 561 LBSR PUTHSL
586 FDB $03BD 562 FDB $03BD
587 FDB PUTDA 563 FDB PUTDA
588 WR66 CLR INDEX 564 WR66
589 RTS11 RTS 565 RTS11 RTS
590 ** 566 **
591 * PUTX & PUTB 567 * PUTX & PUTB
592 ** 568 **
593 PUTABX PSHS D 569 PUTABX PSHS D
594 BSR PUTX 570 BSR PUTX
595 PULS D 571 PULS D
596 BRA PUTAB 572 BRA PUTAB
597 ** 573 **
598 * use X for LB, OR use Y for GB BY INDEX 574 * use X for LB, OR use Y for GB BY
599 ** 575 **
600 PUTX LDB GLL 576 PUTX equ RTS11 * no pointer load
601 STB INDEX 577 **
602 CMPB #0 578 PUTOFS PSHS D,X
603 BNE RTS11 579 LDX <PC
604 LDA #$10 580 STA ,X+
605 LBRA AOUT 581 CLRA
582 TST <GLL
583 BNE PUTOFSX
584 ORA #$20
585 PUTOFSX STA ,S
586 CMPB #32
587 BGT *+6
588 CMPB #-32
589 BGE PUTOFS5
590 LDA #$80
591 ORA ,S
592 STA ,X+
593 STB ,X+
594 BRA PUTOFS8
595 PUTOFS5
596 ANDB #$1F
597 ORA ,S
598 STA ,X+
599 PUTOFS8
600 STX <PC
601 PULS D,X,PC
602
606 *** 603 ***
607 * PUT ACC A&B 604 * PUT ACC A&B
608 ** 605 **
609 PUTAB BSR PUTA 606 PUTAB BSR PUTA
610 TFR B,A 607 TFR B,A
881 LBSR PUTX 878 LBSR PUTX
882 CLR LSW 879 CLR LSW
883 PULS A 880 PULS A
884 ADDA AMODE 881 ADDA AMODE
885 LDB OPER 882 LDB OPER
886 LBRA PUTAB 883 LBRA PUTOFS
887 * PUT 'TAB:PULS A' 884 * PUT 'TAB:PULS A'
888 PUTPUL LBSR PUTHS 885 PUTPUL LBSR PUTHS
889 FCB 4 886 FCB 4
890 FCB $1f,$89,$35,2 tfr a,b ; puls a 887 FCB $1f,$89,$35,2 tfr a,b ; puls a
891 RTE1 RTS 888 RTE1 RTS
1016 STA LSIZE 1013 STA LSIZE
1017 LDA #$3B 1014 LDA #$3B
1018 LBSR CHECK 1015 LBSR CHECK
1019 PFC1 LDB #-1 1016 PFC1 LDB #-1
1020 STB ACC 1017 STB ACC
1021 STB INDEX
1022 LDA #$86 1018 LDA #$86
1023 LDB LSIZE 1019 LDB LSIZE
1024 LBSR PUTAB 1020 LBSR PUTAB
1025 PULS A 1021 PULS A
1026 CMPA #$C0 1022 CMPA #$C0
1137 FDB $0997 1133 FDB $0997
1138 FCB WT2 1134 FCB WT2
1139 FDB $3297 1135 FDB $3297
1140 FCB WT1,$9E,WT1 1136 FCB WT1,$9E,WT1
1141 FDB $A600 1137 FDB $A600
1142 CLR INDEX
1143 RTS 1138 RTS
1144 ** FOR EXPANTION 1139 ** FOR EXPANTION
1145 TM10 LBRA ERROR 1140 TM10 LBRA ERROR
1146 ** 1141 **
1147 * ADDRESS DEPENDENT CODE 1142 * ADDRESS DEPENDENT CODE