NASM 2.00rc2
[nasm.git] / test / ifmacro.asm
blob8375614ee3fcb89cf50f963e8a73e4a34c692c7d
2 ; ifmacro.asm
4 ; Test of the new ifmacro directive
6 ; This file produces a human-readable text file when compiled
7 ; with -f bin
10 %define LF 10
12 %macro dummy 2
13 db 'This is a dummy macro, '
14 db 'arg1 = ', %1, ', '
15 db 'arg2 = ', %2, LF
16 %endmacro
18 dummy 'this', 'that'
20 %ifdef CR
21 db '%ifdef CR', LF
22 %endif
24 %ifdef LF
25 db '%ifdef LF', LF
26 %endif
28 %ifmacro dummy 1
29 db '%ifmacro dummy 1', LF
30 %endif
32 %ifmacro dummy 2
33 db '%ifmacro dummy 2', LF
34 %endif
36 %ifmacro dummy 3
37 db '%ifmacro dummy 3', LF
38 %endif
40 %ifmacro dummy 1+
41 db '%ifmacro dummy 1+', LF
42 %endif
44 %ifmacro dummy 2+
45 db '%ifmacro dummy 2+', LF
46 %endif
48 %ifmacro dummy 3+
49 db '%ifmacro dummy 3+', LF
50 %endif
52 %ifmacro dummy
53 db '%ifmacro dummy', LF
54 %endif
56 %ifmacro dummy 0-1
57 db '%ifmacro dummy 0-1', LF
58 %endif
60 %ifmacro dummy 1-2
61 db '%ifmacro dummy 1-2', LF
62 %endif
64 %ifmacro dummy 2-3
65 db '%ifmacro dummy 2-3', LF
66 %endif
68 %ifmacro dummy 3-4
69 db '%ifmacro dummy 3-4', LF
70 %endif
72 %ifmacro LF
73 db '%ifmacro LF', LF
74 %endif
76 %ifndef CR
77 db '%ifndef CR', LF
78 %endif
80 %ifndef LF
81 db '%ifndef LF', LF
82 %endif
84 %ifnmacro dummy 1
85 db '%ifnmacro dummy 1', LF
86 %endif
88 %ifnmacro dummy 2
89 db '%ifnmacro dummy 2', LF
90 %endif
92 %ifnmacro dummy 3
93 db '%ifnmacro dummy 3', LF
94 %endif
96 %ifnmacro dummy 1+
97 db '%ifnmacro dummy 1+', LF
98 %endif
100 %ifnmacro dummy 2+
101 db '%ifnmacro dummy 2+', LF
102 %endif
104 %ifnmacro dummy 3+
105 db '%ifnmacro dummy 3+', LF
106 %endif
108 %ifnmacro dummy
109 db '%ifnmacro dummy', LF
110 %endif
112 %ifnmacro dummy 0-1
113 db '%ifnmacro dummy 0-1', LF
114 %endif
116 %ifnmacro dummy 1-2
117 db '%ifnmacro dummy 1-2', LF
118 %endif
120 %ifnmacro dummy 2-3
121 db '%ifnmacro dummy 2-3', LF
122 %endif
124 %ifnmacro dummy 3-4
125 db '%ifnmacro dummy 3-4', LF
126 %endif
128 %ifnmacro LF
129 db '%ifnmacro LF', LF
130 %endif
132 %if 0
133 %elifdef CR
134 db '%elifdef CR', CR
135 %endif
137 %if 0
138 %elifdef LF
139 db '%elifdef LF', LF
140 %endif
142 %if 0
143 %elifmacro dummy 1
144 db '%elifmacro dummy 1', LF
145 %endif
147 %if 0
148 %elifmacro dummy 2
149 db '%elifmacro dummy 2', LF
150 %endif
152 %if 0
153 %elifmacro dummy 3
154 db '%elifmacro dummy 3', LF
155 %endif
157 %if 0
158 %elifmacro dummy 1+
159 db '%elifmacro dummy 1+', LF
160 %endif
162 %if 0
163 %elifmacro dummy 2+
164 db '%elifmacro dummy 2+', LF
165 %endif
167 %if 0
168 %elifmacro dummy 3+
169 db '%elifmacro dummy 3+', LF
170 %endif
172 %if 0
173 %elifmacro dummy
174 db '%elifmacro dummy', LF
175 %endif
177 %if 0
178 %elifmacro dummy 0-1
179 db '%elifmacro dummy 0-1', LF
180 %endif
182 %if 0
183 %elifmacro dummy 1-2
184 db '%elifmacro dummy 1-2', LF
185 %endif
187 %if 0
188 %elifmacro dummy 2-3
189 db '%elifmacro dummy 2-3', LF
190 %endif
192 %if 0
193 %elifmacro dummy 3-4
194 db '%elifmacro dummy 3-4', LF
195 %endif
197 %if 0
198 %elifmacro LF
199 db '%elifmacro LF', LF
200 %endif
202 %if 0
203 %elifndef CR
204 db '%elifndef CR', LF
205 %endif
207 %if 0
208 %elifndef LF
209 db '%elifndef LF', LF
210 %endif
212 %if 0
213 %elifnmacro dummy 1
214 db '%elifnmacro dummy 1', LF
215 %endif
217 %if 0
218 %elifnmacro dummy 2
219 db '%elifnmacro dummy 2', LF
220 %endif
222 %if 0
223 %elifnmacro dummy 3
224 db '%elifnmacro dummy 3', LF
225 %endif
227 %if 0
228 %elifnmacro dummy 1+
229 db '%elifnmacro dummy 1+', LF
230 %endif
232 %if 0
233 %elifnmacro dummy 2+
234 db '%elifnmacro dummy 2+', LF
235 %endif
237 %if 0
238 %elifnmacro dummy 3+
239 db '%elifnmacro dummy 3+', LF
240 %endif
242 %if 0
243 %elifnmacro dummy
244 db '%elifnmacro dummy', LF
245 %endif
247 %if 0
248 %elifnmacro dummy 0-1
249 db '%elifnmacro dummy 0-1', LF
250 %endif
252 %if 0
253 %elifnmacro dummy 1-2
254 db '%elifnmacro dummy 1-2', LF
255 %endif
257 %if 0
258 %elifnmacro dummy 2-3
259 db '%elifnmacro dummy 2-3', LF
260 %endif
262 %if 0
263 %elifnmacro dummy 3-4
264 db '%elifnmacro dummy 3-4', LF
265 %endif
267 %if 0
268 %elifnmacro LF
269 db '%elifnmacro LF', LF
270 %endif
272 %if 1
273 %elifdef CR
274 db 'bad %elifdef CR', LF
275 %endif
277 %if 1
278 %elifdef LF
279 db 'bad %elifdef LF', LF
280 %endif
282 %if 1
283 %elifmacro dummy 1
284 db 'bad %elifmacro dummy 1', LF
285 %endif
287 %if 1
288 %elifmacro dummy 2
289 db 'bad %elifmacro dummy 2', LF
290 %endif
292 %if 1
293 %elifmacro dummy 3
294 db 'bad %elifmacro dummy 3', LF
295 %endif
297 %if 1
298 %elifmacro dummy 1+
299 db 'bad %elifmacro dummy 1+', LF
300 %endif
302 %if 1
303 %elifmacro dummy 2+
304 db 'bad %elifmacro dummy 2+', LF
305 %endif
307 %if 1
308 %elifmacro dummy 3+
309 db 'bad %elifmacro dummy 3+', LF
310 %endif
312 %if 1
313 %elifmacro dummy
314 db 'bad %elifmacro dummy', LF
315 %endif
317 %if 1
318 %elifmacro dummy 0-1
319 db 'bad %elifmacro dummy 0-1', LF
320 %endif
322 %if 1
323 %elifmacro dummy 1-2
324 db 'bad %elifmacro dummy 1-2', LF
325 %endif
327 %if 1
328 %elifmacro dummy 2-3
329 db 'bad %elifmacro dummy 2-3', LF
330 %endif
332 %if 1
333 %elifmacro dummy 3-4
334 db 'bad %elifmacro dummy 3-4', LF
335 %endif
337 %if 1
338 %elifmacro LF
339 db 'bad %elifmacro LF', LF
340 %endif
342 %if 1
343 %elifndef CR
344 db 'bad %elifndef CR', LF
345 %endif
347 %if 1
348 %elifndef LF
349 db 'bad %elifndef LF', LF
350 %endif
352 %if 1
353 %elifnmacro dummy 1
354 db 'bad %elifnmacro dummy 1', LF
355 %endif
357 %if 1
358 %elifnmacro dummy 2
359 db 'bad %elifnmacro dummy 2', LF
360 %endif
362 %if 1
363 %elifnmacro dummy 3
364 db 'bad %elifnmacro dummy 3', LF
365 %endif
367 %if 1
368 %elifnmacro dummy 1+
369 db 'bad %elifnmacro dummy 1+', LF
370 %endif
372 %if 1
373 %elifnmacro dummy 2+
374 db 'bad %elifnmacro dummy 2+', LF
375 %endif
377 %if 1
378 %elifnmacro dummy 3+
379 db 'bad %elifnmacro dummy 3+', LF
380 %endif
382 %if 1
383 %elifnmacro dummy
384 db 'bad %elifnmacro dummy', LF
385 %endif
387 %if 1
388 %elifnmacro dummy 0-1
389 db 'bad %elifnmacro dummy 0-1', LF
390 %endif
392 %if 1
393 %elifnmacro dummy 1-2
394 db 'bad %elifnmacro dummy 1-2', LF
395 %endif
397 %if 1
398 %elifnmacro dummy 2-3
399 db 'bad %elifnmacro dummy 2-3', LF
400 %endif
402 %if 1
403 %elifnmacro dummy 3-4
404 db 'bad %elifnmacro dummy 3-4', LF
405 %endif
407 %if 1
408 %elifnmacro LF
409 db 'bad %elifnmacro LF', LF
410 %endif