doudouyoutang

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

  

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

  

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 毫秒

 

分类:

技术点:

相关文章:

  • 2021-10-22
  • 2021-10-08
  • 2022-01-16
  • 2021-10-24
  • 2021-09-22
  • 2022-12-23
  • 2021-12-14
猜你喜欢
  • 2022-12-23
  • 2021-06-13
  • 2022-01-12
  • 2022-12-23
  • 2021-05-16
  • 2022-12-23
相关资源
相似解决方案