《Intel汇编第5版》 条件汇编伪指令

一、条件汇编伪指令和宏使用可以使汇编程序更加灵活

  

二、通过伪指令来检查函数的参数是否为空,如果为空则输出警告信息

  

INCLUDE Irvine32.inc
includelib Irvine32.lib
includelib kernel32.lib
includelib user32.lib

.data

source    BYTE    "this is source string",0

.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
endm


main 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:4.0 /LIBPATH:"C:\RadASM\Masm32\Lib" /OUT:"MacroTest.exe" "MacroTest.obj"
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.


构建完成.
总共编译时间 203 毫秒

 

posted @ 2015-11-18 23:08  兜兜有糖的博客  阅读(913)  评论(0编辑  收藏  举报