mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-02-17 17:19:35 +08:00
test: nasm-t -- Add ifmacro
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
parent
2dccd2c276
commit
9233879e08
411
travis/test/ifmacro.asm
Normal file
411
travis/test/ifmacro.asm
Normal file
@ -0,0 +1,411 @@
|
||||
;
|
||||
; ifmacro.asm
|
||||
;
|
||||
; Test of the new ifmacro directive
|
||||
;
|
||||
; This file produces a human-readable text file when compiled
|
||||
; with -f bin
|
||||
;
|
||||
|
||||
%define LF 10
|
||||
|
||||
%macro dummy 2
|
||||
db 'This is a dummy macro, '
|
||||
db 'arg1 = ', %1, ', '
|
||||
db 'arg2 = ', %2, LF
|
||||
%endmacro
|
||||
|
||||
dummy 'this', 'that'
|
||||
|
||||
%ifdef CR
|
||||
db '%ifdef CR', LF
|
||||
%endif
|
||||
|
||||
%ifdef LF
|
||||
db '%ifdef LF', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 1
|
||||
db '%ifmacro dummy 1', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 2
|
||||
db '%ifmacro dummy 2', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 3
|
||||
db '%ifmacro dummy 3', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 1+
|
||||
db '%ifmacro dummy 1+', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 2+
|
||||
db '%ifmacro dummy 2+', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 3+
|
||||
db '%ifmacro dummy 3+', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy
|
||||
db '%ifmacro dummy', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 0-1
|
||||
db '%ifmacro dummy 0-1', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 1-2
|
||||
db '%ifmacro dummy 1-2', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 2-3
|
||||
db '%ifmacro dummy 2-3', LF
|
||||
%endif
|
||||
|
||||
%ifmacro dummy 3-4
|
||||
db '%ifmacro dummy 3-4', LF
|
||||
%endif
|
||||
|
||||
%ifmacro LF
|
||||
db '%ifmacro LF', LF
|
||||
%endif
|
||||
|
||||
%ifndef CR
|
||||
db '%ifndef CR', LF
|
||||
%endif
|
||||
|
||||
%ifndef LF
|
||||
db '%ifndef LF', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 1
|
||||
db '%ifnmacro dummy 1', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 2
|
||||
db '%ifnmacro dummy 2', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 3
|
||||
db '%ifnmacro dummy 3', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 1+
|
||||
db '%ifnmacro dummy 1+', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 2+
|
||||
db '%ifnmacro dummy 2+', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 3+
|
||||
db '%ifnmacro dummy 3+', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy
|
||||
db '%ifnmacro dummy', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 0-1
|
||||
db '%ifnmacro dummy 0-1', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 1-2
|
||||
db '%ifnmacro dummy 1-2', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 2-3
|
||||
db '%ifnmacro dummy 2-3', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro dummy 3-4
|
||||
db '%ifnmacro dummy 3-4', LF
|
||||
%endif
|
||||
|
||||
%ifnmacro LF
|
||||
db '%ifnmacro LF', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifdef CR
|
||||
db '%elifdef CR', CR
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifdef LF
|
||||
db '%elifdef LF', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 1
|
||||
db '%elifmacro dummy 1', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 2
|
||||
db '%elifmacro dummy 2', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 3
|
||||
db '%elifmacro dummy 3', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 1+
|
||||
db '%elifmacro dummy 1+', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 2+
|
||||
db '%elifmacro dummy 2+', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 3+
|
||||
db '%elifmacro dummy 3+', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy
|
||||
db '%elifmacro dummy', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 0-1
|
||||
db '%elifmacro dummy 0-1', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 1-2
|
||||
db '%elifmacro dummy 1-2', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 2-3
|
||||
db '%elifmacro dummy 2-3', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro dummy 3-4
|
||||
db '%elifmacro dummy 3-4', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifmacro LF
|
||||
db '%elifmacro LF', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifndef CR
|
||||
db '%elifndef CR', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifndef LF
|
||||
db '%elifndef LF', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 1
|
||||
db '%elifnmacro dummy 1', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 2
|
||||
db '%elifnmacro dummy 2', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 3
|
||||
db '%elifnmacro dummy 3', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 1+
|
||||
db '%elifnmacro dummy 1+', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 2+
|
||||
db '%elifnmacro dummy 2+', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 3+
|
||||
db '%elifnmacro dummy 3+', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy
|
||||
db '%elifnmacro dummy', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 0-1
|
||||
db '%elifnmacro dummy 0-1', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 1-2
|
||||
db '%elifnmacro dummy 1-2', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 2-3
|
||||
db '%elifnmacro dummy 2-3', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro dummy 3-4
|
||||
db '%elifnmacro dummy 3-4', LF
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
%elifnmacro LF
|
||||
db '%elifnmacro LF', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifdef CR
|
||||
db 'bad %elifdef CR', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifdef LF
|
||||
db 'bad %elifdef LF', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 1
|
||||
db 'bad %elifmacro dummy 1', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 2
|
||||
db 'bad %elifmacro dummy 2', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 3
|
||||
db 'bad %elifmacro dummy 3', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 1+
|
||||
db 'bad %elifmacro dummy 1+', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 2+
|
||||
db 'bad %elifmacro dummy 2+', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 3+
|
||||
db 'bad %elifmacro dummy 3+', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy
|
||||
db 'bad %elifmacro dummy', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 0-1
|
||||
db 'bad %elifmacro dummy 0-1', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 1-2
|
||||
db 'bad %elifmacro dummy 1-2', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 2-3
|
||||
db 'bad %elifmacro dummy 2-3', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro dummy 3-4
|
||||
db 'bad %elifmacro dummy 3-4', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifmacro LF
|
||||
db 'bad %elifmacro LF', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifndef CR
|
||||
db 'bad %elifndef CR', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifndef LF
|
||||
db 'bad %elifndef LF', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 1
|
||||
db 'bad %elifnmacro dummy 1', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 2
|
||||
db 'bad %elifnmacro dummy 2', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 3
|
||||
db 'bad %elifnmacro dummy 3', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 1+
|
||||
db 'bad %elifnmacro dummy 1+', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 2+
|
||||
db 'bad %elifnmacro dummy 2+', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 3+
|
||||
db 'bad %elifnmacro dummy 3+', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy
|
||||
db 'bad %elifnmacro dummy', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 0-1
|
||||
db 'bad %elifnmacro dummy 0-1', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 1-2
|
||||
db 'bad %elifnmacro dummy 1-2', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 2-3
|
||||
db 'bad %elifnmacro dummy 2-3', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro dummy 3-4
|
||||
db 'bad %elifnmacro dummy 3-4', LF
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%elifnmacro LF
|
||||
db 'bad %elifnmacro LF', LF
|
||||
%endif
|
||||
|
29
travis/test/ifmacro.bin.t
Normal file
29
travis/test/ifmacro.bin.t
Normal file
@ -0,0 +1,29 @@
|
||||
This is a dummy macro, arg1 = this, arg2 = that
|
||||
%ifdef LF
|
||||
%ifmacro dummy 2
|
||||
%ifmacro dummy 1+
|
||||
%ifmacro dummy 2+
|
||||
%ifmacro dummy
|
||||
%ifmacro dummy 1-2
|
||||
%ifmacro dummy 2-3
|
||||
%ifndef CR
|
||||
%ifnmacro dummy 1
|
||||
%ifnmacro dummy 3
|
||||
%ifnmacro dummy 3+
|
||||
%ifnmacro dummy 0-1
|
||||
%ifnmacro dummy 3-4
|
||||
%ifnmacro LF
|
||||
%elifdef LF
|
||||
%elifmacro dummy 2
|
||||
%elifmacro dummy 1+
|
||||
%elifmacro dummy 2+
|
||||
%elifmacro dummy
|
||||
%elifmacro dummy 1-2
|
||||
%elifmacro dummy 2-3
|
||||
%elifndef CR
|
||||
%elifnmacro dummy 1
|
||||
%elifnmacro dummy 3
|
||||
%elifnmacro dummy 3+
|
||||
%elifnmacro dummy 0-1
|
||||
%elifnmacro dummy 3-4
|
||||
%elifnmacro LF
|
11
travis/test/ifmacro.json
Normal file
11
travis/test/ifmacro.json
Normal file
@ -0,0 +1,11 @@
|
||||
[
|
||||
{
|
||||
"description": "Generate human readable text with bin",
|
||||
"id": "ifmacro",
|
||||
"format": "bin",
|
||||
"source": "ifmacro.asm",
|
||||
"target": [
|
||||
{ "output": "ifmacro.bin" }
|
||||
]
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user