... | ... |
@@ -252,9 +252,14 @@ |
252 | 252 |
;asma/state STA |
253 | 253 |
#01 ( 0001 ) |
254 | 254 |
SWPk ( 0001 0100 ) ;asma/written-addr STA2 |
255 |
+ ;&preamble-end ;&preamble SUB2k ,asma-assemble-chunk JSR POP2 POP2 |
|
255 | 256 |
;asma/line STA2 |
256 | 257 |
JMP2r |
257 | 258 |
|
259 |
+ &preamble |
|
260 |
+ "%BRK 20 '{ 20 "00 20 '} 20 |
|
261 |
+ &preamble-end |
|
262 |
+ |
|
258 | 263 |
( |
259 | 264 |
Divide a file up into chunks, and pass each chunk to asma-assemble-chunk. |
260 | 265 |
) |
... | ... |
@@ -470,6 +475,8 @@ |
470 | 475 |
LDAkr STHr LIT2r 0001 ADD2r ( 00 byte char / end* ) |
471 | 476 |
DUP ,¬-end JCN |
472 | 477 |
POP POP2r |
478 |
+ DUP ,¬-zero JCN #80 NIP ( LIT by itself needs keep flag, to distinguish from BRK ) |
|
479 |
+ ¬-zero |
|
473 | 480 |
SWP |
474 | 481 |
JMP2r |
475 | 482 |
|
... | ... |
@@ -918,20 +925,20 @@ |
918 | 925 |
&7d $2 $2 '} 00 :asma-ignore |
919 | 926 |
|
920 | 927 |
@asma-opcodes |
921 |
- &BRK :&AND :&DEI &_disasm "BRK 00 |
|
922 |
- &_entry :&EQU :&ROT "LIT 00 |
|
928 |
+ &_entry :>H :&ROT &_disasm "LIT 00 |
|
929 |
+ &INC $2 $2 "INC 00 |
|
923 | 930 |
&POP $2 $2 "POP 00 |
924 |
- &DUP :&DIV :&EOR "DUP 00 |
|
931 |
+ &DUP $2 $2 "DUP 00 |
|
925 | 932 |
&NIP :&MUL :&OVR "NIP 00 |
926 | 933 |
&SWP $2 $2 "SWP 00 |
927 | 934 |
&OVR :&ORA :&POP "OVR 00 |
928 | 935 |
&ROT :&NIP :&STR "ROT 00 |
929 |
- &EQU :&DEO :&JSR "EQU 00 |
|
936 |
+ &EQU $2 $2 "EQU 00 |
|
930 | 937 |
&NEQ $2 $2 "NEQ 00 |
931 |
- >H $2 $2 "GTH 00 |
|
938 |
+ >H :&DIV :&JSR "GTH 00 |
|
932 | 939 |
<H $2 $2 "LTH 00 |
933 | 940 |
&JMP $2 $2 "JMP 00 |
934 |
- &JCN :>H :&JMP "JCN 00 |
|
941 |
+ &JCN :&INC :&JMP "JCN 00 |
|
935 | 942 |
&JSR :&JCN :&LDR "JSR 00 |
936 | 943 |
&STH $2 $2 "STH 00 |
937 | 944 |
&LDZ $2 $2 "LDZ 00 |
... | ... |
@@ -940,15 +947,15 @@ |
940 | 947 |
&STR :&STA :&SUB "STR 00 |
941 | 948 |
&LDA $2 $2 "LDA 00 |
942 | 949 |
&STA :&SFT :&STH "STA 00 |
943 |
- &DEI $2 $2 "DEI 00 |
|
944 |
- &DEO :&BRK :&DUP "DEO 00 |
|
950 |
+ &DEI :&AND :&DEO "DEI 00 |
|
951 |
+ &DEO $2 $2 "DEO 00 |
|
945 | 952 |
&ADD $2 $2 "ADD 00 |
946 | 953 |
&SUB :&STZ :&SWP "SUB 00 |
947 | 954 |
&MUL :<H :&NEQ "MUL 00 |
948 |
- &DIV $2 $2 "DIV 00 |
|
955 |
+ &DIV :&DEI :&EOR "DIV 00 |
|
949 | 956 |
&AND :&ADD $2 "AND 00 |
950 | 957 |
&ORA $2 $2 "ORA 00 |
951 |
- &EOR $2 $2 "EOR 00 |
|
958 |
+ &EOR :&DUP :&EQU "EOR 00 |
|
952 | 959 |
&SFT $2 $2 "SFT 00 |
953 | 960 |
|
954 | 961 |
( |