Skip to content

Commit d9f6506

Browse files
Support 3- and 4-arg statements directly
1 parent f730156 commit d9f6506

2 files changed

Lines changed: 9 additions & 15 deletions

File tree

ac6502/ac6502_extension.s

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ex_statement_name_table:
2424
: name_table_entry "COLOR"
2525
JUMP pvm_arg_2
2626
: name_table_entry "SOUND"
27-
JUMP ex_pvm_arg_3
27+
JUMP pvm_arg_3
2828
: name_table_entry "VOL"
2929
JUMP pvm_expression
3030
: name_table_entry "PAUSE"
@@ -34,9 +34,9 @@ ex_statement_name_table:
3434
: name_table_entry "TIME"
3535
: name_table_entry "DATE"
3636
: name_table_entry "SETTIME"
37-
JUMP ex_pvm_arg_3
37+
JUMP pvm_arg_3
3838
: name_table_entry "SETDATE"
39-
JUMP ex_pvm_arg_4
39+
JUMP pvm_arg_4
4040
: name_table_entry "NVRAM"
4141
JUMP pvm_arg_2
4242
: name_table_entry "BANK"
@@ -46,18 +46,6 @@ ex_statement_name_table:
4646
JUMP pvm_expression
4747
: name_table_end
4848

49-
; Helper PVM fragments for 3- and 4-argument statements.
50-
51-
ex_pvm_arg_4:
52-
CALL pvm_expression
53-
ARGSEP
54-
ex_pvm_arg_3:
55-
CALL pvm_expression
56-
ARGSEP
57-
CALL pvm_expression
58-
ARGSEP
59-
JUMP pvm_expression
60-
6149
ex_function_name_table:
6250
name_table_entry "JOY"
6351
: name_table_entry "INKEY"

parser.s

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,12 @@ pvm_var:
598598

599599
; Argument lists
600600

601+
pvm_arg_4:
602+
CALL pvm_expression
603+
ARGSEP
604+
pvm_arg_3:
605+
CALL pvm_expression
606+
ARGSEP
601607
pvm_arg_2:
602608
CALL pvm_expression
603609
ARGSEP

0 commit comments

Comments
 (0)