open-simh.simtools/tests/test-macro-comma.mac
Paul Koning 21f21b9799 Fix macro calls with omitted argument that has a default value,
followed by additional (not omitted) arguments.
2022-06-26 13:41:37 -04:00

54 lines
1.3 KiB
Plaintext

;;;;;
;
; Test that commas create empty macro arguments.
;
.macro tstarg a1,a2,a3,a4
.narg label
.endm
start: tstarg ; 0 args
tstarg 123 ; 1 arg
tstarg 1, ; 2 args
tstarg ,2 ; 2 args
tstarg , ; 2 args
tstarg ,, ; 3 args
tstarg 1,, ; 3 args
tstarg ,,3 ; 3 args
tstarg 1,,3 ; 3 args
tstarg 1,2,3 ; 3 args
;;;;;
;
; Test what happens if we have invalid bracketed strings.
; For now we fall back to treating them like unbracketed strings,
; that will hopefully alert the user the best.
;
.macro braket arg
; arg
.endm
braket <plain>
braket ^/simple/
braket <broken
braket ^/broken
braket <bro<ken>
braket <bro<ken> string
;
; Test that commas work with default arguments
;
.macro tstarg a1,a2=default,a3,a4
.narg label ; second arg is "a2"
.endm
start: tstarg ; 0 args
tstarg 123 ; 1 arg
tstarg 1, ; 2 args
tstarg ,2 ; 2 args
tstarg , ; 2 args
tstarg ,, ; 3 args
tstarg 1,, ; 3 args
tstarg ,,3 ; 3 args
tstarg 1,,3 ; 3 args
tstarg 1,2,3 ; 3 args