diff options
author | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-12 15:14:36 +0900 |
---|---|---|
committer | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-12 15:14:36 +0900 |
commit | 993d65531741fccf26fc10fc5789a5c9fca8c5ae (patch) | |
tree | 996be9095a97ff2aac0d98963b6044d47a0ec60c /test/elif.asm | |
parent | 65c26d26fb72cec0d43d199c72ed27513d17f4c9 (diff) | |
download | nasm-tizen_2.1.tar.gz nasm-tizen_2.1.tar.bz2 nasm-tizen_2.1.zip |
Tizen 2.1 basesubmit/tizen_2.2/20130710.072957submit/tizen_2.1/20130423.103612accepted/tizen_2.1/20130423.1515012.1b_releasetizen_2.1
Diffstat (limited to 'test/elif.asm')
-rw-r--r-- | test/elif.asm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/elif.asm b/test/elif.asm new file mode 100644 index 0000000..49e6668 --- /dev/null +++ b/test/elif.asm @@ -0,0 +1,39 @@ +;Testname=unoptimized; Arguments=-O0 -fobj -oelif.obj; Files=stdout stderr elif.obj +;Testname=optimized; Arguments=-Ox -fobj -oelif.obj; Files=stdout stderr elif.obj + +%macro DosPrintMsg 1+ +%ifnid %1 +section .data +%%str_to_print:db %1 +section .text + mov dx,%%str_to_print + mov ah,9 + int 0x21 +%else + mov dx,(%1) + mov ah,9 + int 0x21 +%endif +%endmacro + +%macro DosExit 1 +%if (%1) == 0 +;use short-form return 0 exit + int 0x20 +%elif ((%1) < 256) && ((%1) > 0) + mov ax,0x4C00 | (%1) + int 0x21 +%else +%error Invalid return value +%endif +%endmacro + +org 0x100 + DosPrintMsg predefined_str + DosPrintMsg "Using string with macro-defined label",10,0 + DosExit 0 + DosExit 1 + DosExit 256 + +section .data +predefined_str:db "Using string with predefined label",10,0 |