... | ... |
@@ -149,7 +149,6 @@ |
149 | 149 |
#0000 ;asma/error STA2 |
150 | 150 |
;asma-heap ;asma/heap STA2 |
151 | 151 |
#0000 ;asma-trees/labels STA2 |
152 |
- ( FIXME should walk the label tree and remove any in the heap ) |
|
153 | 152 |
;asma-opcodes/_entry ;asma-trees/opcodes STA2 |
154 | 153 |
#0000 ;asma-trees/macros STA2 |
155 | 154 |
|
... | ... |
@@ -192,7 +191,7 @@ |
192 | 191 |
POP POP2 POP2 |
193 | 192 |
JMP2r |
194 | 193 |
|
195 |
-@asma [ &pass $1 &state $1 &line $2 &token $2 &orig-token $2 &heap $2 &addr $2 &written-addr $2 &flush-fn $2 &scope-addr $2 &error $2 ] |
|
194 |
+@asma [ &pass $1 &state $1 &line $2 &token $2 &orig-token $2 &heap $2 &addr $2 &written-addr $2 &flush-fn $2 &error $2 ] |
|
196 | 195 |
@asma-trees [ &labels $2 ¯os $2 &opcodes $2 &scope $2 ] |
197 | 196 |
|
198 | 197 |
( |
... | ... |
@@ -500,14 +499,12 @@ |
500 | 499 |
JMP2r |
501 | 500 |
|
502 | 501 |
@asma-label-define |
503 |
- #0000 ;asma/scope-addr STA2 |
|
504 | 502 |
;asma-trees/labels ,asma-label-helper JSR |
505 | 503 |
,&already-existed JCN |
506 | 504 |
|
507 | 505 |
#0000 ;asma-append-heap-short JSR2 ( data2: subtree incoming ptr ) |
508 | 506 |
|
509 | 507 |
&already-existed |
510 |
- ;asma/addr LDA2 ;asma/scope-addr STA2 |
|
511 | 508 |
#0002 ADD2 ;asma-trees/scope STA2 |
512 | 509 |
JMP2r |
513 | 510 |
|
... | ... |
@@ -534,8 +531,7 @@ |
534 | 531 |
|
535 | 532 |
;asma/heap LDA2 |
536 | 533 |
|
537 |
- ;asma/addr LDA2 ;asma/scope-addr LDA2 SUB2 |
|
538 |
- ;asma-append-heap-short JSR2 ( data1: address ) |
|
534 |
+ ;asma/addr LDA2 ;asma-append-heap-short JSR2 ( data1: address ) |
|
539 | 535 |
#00 JMP2r |
540 | 536 |
|
541 | 537 |
@asma-pad-absolute |
... | ... |
@@ -614,14 +610,14 @@ |
614 | 610 |
@asma-addr-helper ( -- addr* ) |
615 | 611 |
;asma/token LDA2 LDAk #26 NEQ ,¬-local JCN |
616 | 612 |
#0001 ADD2 ;asma/token STA2 |
617 |
- ;asma/scope-addr LDA2 ;asma-trees/scope LDA2 |
|
613 |
+ ;asma-trees/scope LDA2 |
|
618 | 614 |
,&final-lookup JMP |
619 | 615 |
|
620 | 616 |
¬-local ( token* ) |
621 | 617 |
LDAk |
622 | 618 |
DUP ,¬-end JCN |
623 | 619 |
POP POP2 |
624 |
- #0000 ;asma-trees/labels |
|
620 |
+ ;asma-trees/labels |
|
625 | 621 |
,&final-lookup JMP |
626 | 622 |
|
627 | 623 |
¬-end ( token* char ) |
... | ... |
@@ -633,23 +629,26 @@ |
633 | 629 |
DUP2 #00 ROT ROT STA |
634 | 630 |
;asma-trees/labels ;asma-traverse-tree JSR2 STH |
635 | 631 |
SWP2 DUP2 #2f ROT ROT STA |
636 |
- STHr ,¬-found JCN |
|
632 |
+ STHr ,¬-found2 JCN |
|
637 | 633 |
( token* binary-ptr* ) |
638 | 634 |
#0001 ADD2 ;asma/token STA2 |
639 |
- LDA2k SWP2 #0002 ADD2 |
|
635 |
+ #0002 ADD2 |
|
640 | 636 |
|
641 | 637 |
&final-lookup ( addr-offset* incoming-ptr* ) |
642 |
- ;asma-traverse-tree JSR2 ,¬-found JCN |
|
643 |
- LDA2 ADD2 |
|
638 |
+ ;asma-traverse-tree JSR2 |
|
639 |
+ ,¬-found JCN |
|
640 |
+ LDA2 |
|
644 | 641 |
JMP2r |
645 | 642 |
|
646 |
- ¬-found ( dummy* dummy* ) |
|
643 |
+ ¬-found2 ( dummy* dummy* ) |
|
644 |
+ POP2 |
|
645 |
+ ¬-found ( dummy* ) |
|
646 |
+ POP2 |
|
647 | 647 |
|
648 | 648 |
;asma/pass LDA #00 EQU ,&ignore-error JCN |
649 | 649 |
;asma-msg-label ;asma/error STA2 |
650 | 650 |
&ignore-error |
651 | 651 |
|
652 |
- POP2 POP2 |
|
653 | 652 |
;asma/addr LDA2 |
654 | 653 |
JMP2r |
655 | 654 |
|