Browse code

Updated asma with new opcode use

Andrew Alderwick authored on 18/08/2021 06:33:53
Showing 1 changed files
... ...
@@ -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 ,&not-end JCN
472 477
 	POP POP2r
478
+	DUP ,&not-zero JCN #80 NIP ( LIT by itself needs keep flag, to distinguish from BRK )
479
+	&not-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     :&GTH      :&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
-	&GTH         $2         $2          "GTH 00
938
+	&GTH        :&DIV      :&JSR        "GTH 00
932 939
 	&LTH         $2         $2          "LTH 00
933 940
 	&JMP         $2         $2          "JMP 00
934
-	&JCN        :&GTH      :&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        :&LTH      :&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
 (