第七章 宏汇编.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 宏汇编

宏定义 宏指令在使用之前要先定义. ●定义格式: 宏指令名MACRO 形式参数[,形式参数] 宏体 ENDM 例如: 某一程序中要多次使用DOS9号功能调用: ┇ LEA DX,BUF1 MOV AH,9 INT 21H ┇ LAE DX,IN_BUF MOV AH,9 INT 21H 宏定义 他们之间的差别仅在于输出缓冲区的首址不一样.如果讲该首址定义成形参,就可将其写成宏定义: WRITE MACRO A LEA DX,A MOV AH,9 INT 21H ENDM 说明: (1)宏名字可以与其他变量,标号,保留字同名,汇编程序在处理时宏名字优先级最高.利用这一特点,程序员可以设计新的指令系统. 宏定义 (2) 形参可有可无个数不限,但总字符长度不超过132个,个参数之间用逗号隔开; (3) ENDM和MACRO必须成对出现; (4) 宏指令必须先定义后调用,因为它是在汇编期间处理的. 汇编程序的处理方式: (1) 第一次扫描时,先扫描宏定义,将宏名字、形参、宏体均填入宏定义表中再遇到宏调用时,则嵌入宏体,用实参按位置顺序替换形参,这一过程称为宏扩展。 (2) 第二次扫描时,再将其转换成目标代码. 宏展开 宏展开:汇编程序把宏调用展开 宏定义体 复制到宏指令位置,实参代虚参 LOCAL中的标号 ??0000~??ffff 宏指令中的参数 宏库的使用 对于经常使用的宏定义,用户可将它们集中在一起,建成宏库供自己或别人随时调用。由于宏库为文本文件,可用一般编辑程序建立或修改,文件名也可由用户任意指定。 例如:我们利用编辑程序,建立了一个宏库MACRO.LIB: 当程序中需要调用时,应首先将宏库加入自己的源文件中,然后按宏库中各宏定义的规定调用即可。 将宏库加入源文件一起进行汇编可用伪指令INCLUDE实现。 ●语句格式: INCLUDE 文本文件名 ●功 能:将指定的文本文件从本行起加入汇编,直到该文本文件的最后一行汇编完后,再继续汇编INCLUDE后面的语句。 宏库调用 宏指令与子程序的比较 不同点: (1)处理时间不同; (2)处理方式不同; (3)目标程序的长度不同; (4)执行速度不同; (5)参数传递方式不同; 建立宏库: macro1 MACRO [哑元表] …… ENDM macro2 MACRO [哑元表] …… ENDM …… macroN MACRO [哑元表] …… ENDM EDIT EXP.ASM include MACRO.MAC …… macro1 [实元表] …… macro2 [实元表] …… macroN [实元表] …… purge macroN EDIT MACRO . MAC 调用宏库: * * ? 宏汇编 ? 重复汇编 ? 条件汇编 第七章 高级汇编语言技术 1. 宏汇编 宏:源程序中一段有独立功能的程序代码。 宏指令:用户自定义的指令。在编程时,将多次 使用的功能用一条宏指令来代替。 汇编语言程序 指令 伪指令(伪操作) 宏指令 优:模块化 省内存 缺:开销大 宏定义: Q macro x,y … endm 主程序: … Q a, b … Q c, d … Q e, f … 目标程序: … … … … … … 优: 参数传送简单,执行效率高 缺: 占用内存空间大 主程序: … CALL ---- … CALL ---- … CALL ---- … 子程序: … … … RET 宏定义:

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档