一、条件汇编伪指令和宏使用可以使汇编程序更加灵活
二、通过伪指令来检查函数的参数是否为空,如果为空则输出警告信息
INCLUDE Irvine32.inc
includelib Irvine32.lib
includelib kernel32.lib
includelib user32.lib.datasource BYTE "this is source string",.code
mWriteStr MACRO string IFB <string> ECHO --------------------------------------
ECHO * ERROR parameter missing in mWriteStr
ECHO * no code generated
ECHO --------------------------------------
EXITM
ENDIF push edx
mov edx,offset string
call WriteString
pop edx
endmmain PROC
;mWriteStr source
mWriteStr
exit
main ENDP
END main
编译上面的程序时会输出警告信息:
C:\RadASM\Masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"C:\RadASM\Masm32\Include" "MacroTest.asm"
Assembling: MacroTest.asm
--------------------------------------
* ERROR parameter missing in mWriteStr
* no code generated
--------------------------------------
C:\RadASM\Masm32\Bin\LINK.EXE /SUBSYSTEM:CONSOLE /RELEASE /VERSION:. /LIBPATH:"C:\RadASM\Masm32\Lib" /OUT:"MacroTest.exe" "MacroTest.obj"
Microsoft (R) Incremental Linker Version ..
Copyright (C) Microsoft Corp -. All rights reserved.构建完成.
总共编译时间 毫秒