summaryrefslogtreecommitdiff
path: root/test/emptyarg.asm
blob: af02e3786688a578a6b88f9412cd8054ce47baff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
%define EMPTY

%macro bar 1
	db "bar", __LINE__, %0, %1
%endmacro

%macro baz 2
	db "baz", __LINE__, %0, %1, %2
%endmacro

%macro nothing 0
	db "nothing", __LINE__, %0
%endmacro

%macro xyzzy 1-2
	db "xyzzy", __LINE__, %0, %1, %2, %3
%endmacro

%macro vararg 0-*
	db "vararg", __LINE__, %0
	%assign %%i 1
	%rep %0
	  db "vararg arg ", %%i, %1
	  %rotate 1
	  %assign %%i %%i + 1
	%endrep
%endmacro

%macro defargs 1-5 def2, def3, def4, def5
	db "defargs", __LINE__, %0, %1, %2, %3, %4, %5
%endmacro

%macro ivar 1
	vararg %1
%endmacro

%macro foo 1-2
	db "foo", __LINE__, %0, %1, %2
	bar %2
	bar {%2}
	bar %2,
	bar {%2},
	baz %1,%2
	baz {%1},{%2}
	nothing %1
	nothing %2
	xyzzy "meep",%1,%2,
	xyzzy "meep","meep",%1,%2
	xyzzy "alpha","bravo",
	xyzzy "with","empty",EMPTY
%endmacro

%macro orange 1
	db %{1:1}
%endmacro

%macro prange1 2-3
	db %{1:2}, 0%3
%endmacro

%macro prange2 1-3 'two', 'three'
	db %{1:3}
%endmacro

	db 4,
	nothing
	nothing 1
	nothing			; foo
	nothing EMPTY

flup:	foo 1,2
	foo 3
	bar
	bar EMPTY
	foo 6,
	foo 6,			; With space/comment
	foo 6,EMPTY
	baz 8,EMPTY
	foo 6,{}
	foo ,5

	xyzzy 13,14,15,
	xyzzy 13,14,15,EMPTY
	xyzzy 20,21
	xyzzy 22,23,
	xyzzy 24,25,EMPTY
	xyzzy 26,27,,
	xyzzy 28,29,EMPTY,EMPTY

	vararg
	vararg EMPTY
	vararg ,
	vararg 10
	vararg 11,
	vararg 12,EMPTY
	vararg 13,14,15,
	vararg 13,14,15,EMPTY
	vararg 20,21
	vararg 22,23,
	vararg 24,25,EMPTY
	vararg 26,27,,
	vararg 28,29,EMPTY,EMPTY

	ivar {}
	ivar {EMPTY}
	ivar EMPTY
	ivar ,
	ivar {,}
	ivar {60}
	ivar {61,}
	ivar {62,EMPTY}
	ivar {63,64,65,}
	ivar {63,64,65,EMPTY}
	ivar {70,71}
	ivar {72,73,}
	ivar {74,75,EMPTY}
	ivar {76,77,,}
	ivar {78,79,EMPTY,EMPTY}

	defargs EMPTY
	defargs 91
	defargs 91,92
	defargs 91,92,93
	defargs 91,92,93,94
	defargs 91,92,93,94,95
	defargs ,
	defargs 91,
	defargs 91,92,
	defargs 91,92,93,
	defargs 91,92,93,94,
	defargs 91,92,93,94,95,

	prange1 101
	prange1 101, 102
	prange1 101, 102, 103
	prange2 121
	prange2 121, 122
	prange2 121, 122, 123
	prange2 {121}
	prange2 {121,121}
	prange2 {121},{122}
	prange2 {121},122,{123}
	prange2 121,{122,122},123

	orange 130
	orange 130, 131
	orange {130, 131}