当前位置: 网学 > 编程文档 > 汇编语言 > 正文

高级汇编语言技术

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
;      NEG       OPER
    NEXT:
             ENDM
如果程序中多次调用该宏定义时,展开后会出现标号的多重定义.为此系统提供了LOCAL伪操作,其格式是
            LOCAL     list of local labels
其中局部标号表内的各标号之间用逗号隔开.汇编程序对LOCAL伪操作的局部标号表中的每一个局部标号建立唯一的符号(用??0000~??FFFF)以代替在展开中存在的每个局部标号.必须注意,LOCAL伪操作只能用在宏定义体内,而且它必须是MACRO伪操作后的第一个语句,在MACRO和LOCAL伪操作之间还不允许有注释和分号标志.
    本例中的ABSOL宏定义在考虑有多次调用可能性的情况下,应定义为:
    ABSOL    MACRO    OPER
             LOCAL    NEXT
             CMP       OPER,0
             JGE       NEXT
             NEG       OPER
    NEXT: 
             ENDM
宏调用:
            
           ABSOL       VAR
            
           ABSOL        BX
            
宏展开:
           
    +       CMP     VAR,0
    +       JGE      ??0000
    +       NEG     VAR
    +??0000:
            
    +       CMP     BX,0
    +       JGE      ??0001
    +       NEG     BX
    +??0001:
           
8.宏定义中允许使用宏调用,其限制条件是:必须先定义后调用
宏定义:
   DIF    MACRO    X,Y
          MOV       AX,X
          SUB       AX,Y
          ENDM
DIFSQR   MACRO  

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号