zoukankan      html  css  js  c++  java
  • 《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:RadASMMasm32BinML.EXE /c /coff /Cp /nologo /I"C:RadASMMasm32Include" "MacroTest.asm"
     Assembling: MacroTest.asm
    --------------------------------------
    * ERROR parameter missing in mWriteStr
    * no code generated
    --------------------------------------
    C:RadASMMasm32BinLINK.EXE /SUBSYSTEM:CONSOLE /RELEASE /VERSION:4.0 /LIBPATH:"C:RadASMMasm32Lib" /OUT:"MacroTest.exe" "MacroTest.obj"
    Microsoft (R) Incremental Linker Version 5.12.8078
    Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
    
    
    构建完成.
    总共编译时间 203 毫秒
  • 相关阅读:
    操作系统
    redis
    数据库原理与mysql
    计算机网络
    重写、重载、隐藏以及多态分析
    c++复习重点
    重装系统记录
    正则表达式匹配ip地址
    信号量和互斥锁的区别 互斥量与临界区的区别
    为Markdown文件生成目录
  • 原文地址:https://www.cnblogs.com/doudouyoutang/p/4976228.html
Copyright © 2011-2022 走看看