- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 高级宏汇编语言 为了象高级语言那样由程序员自定义更复杂的数据类型。80X86提供了宏指令语句,还具有条件汇编的能力。 §1.宏指令 在汇编语言源程序中,有些程序段要多次使用,我们引用子程序,但子程序有些缺点,转子和返回在保存和恢复断点寄存器以及参量的传递等开销要增加。若子程序本身较短,需要传递参量较多的情况下,使用宏汇编更方便。 一 .宏定义和宏调用 1.定义:源程序中一段有独立功能的程序代码。 (1)格式: 宏名称 MACRO [ 形参表] 宏体 ENDM (2)说明: 1)宏在源程序中定义一次,可多次调用。 2)宏名称:第一个字母必须是字母,其后跟字母、数字 或下划线字符(=31个字符) 3)宏定义体:一组独立功能的程序代码。 4)形参(哑参)(虚参):形参间用,分隔。 2.宏调用 (1) 格式: 宏名称 [实参表] (2) 说明:1)实参表:实元间用,隔开。实元可以是常数、register、存储单元。 2)实元个数一般与哑元的个数相等。 实际上,若实元个数哑元个数 多余实元不考虑。 若实元个数哑元个数 多余哑元作“空”处理。 4.宏定义和子程序的区别 子程序:由主程序在执行期间调用,只占自身大小的一个空间。 宏定义:宏调用是在汇编期间展开,每调用一次,宏定义体展开一次,因此占有的存储空间与调用次数有关,次数越多,空间愈大。 较长的功能段用子程序,较短的且变元较多的功能段用宏定义。 二.宏操作符常用的宏操作符为4个:&、<>、%、! 1.连接操作符&和文本操作符<> (1)& 在定义体中,作为形参的前缀或后缀,展开时,把&前后两部分的符号,合并成一个新的符号。 EX: JCONT CONT: NZ JNZ C JC S JS (2) <> 在宏调用时,有的实参中含有空格或逗号,这时用<>,把一个完整 的实参括起来,作为一个单一的实参。 Ex: 宏定义 MULT MACRO OP,RESULT … MOV RESULT,AX 宏调用 MULT M,<WORD PTR RES> 2.表达式操作符%和字符操作符 (1)% 格式: %<表达式> 功能:取得表达式的值,在展开期间,用这个数取代形参。 Ex: P251 7.7 (2) ! 指出!后的字符不作操作符使用,而是以字符本身的意义进行处理。 Ex: !% (作为百分号用) 三.局部符号伪操作 LOCAL 宏定义体中,允许使用符号,多次调用宏时,标号会多重定义,处理办法用LOCAL伪操作。 1.格式: LOCAL 局部标号名 2.说明: LOCAL只能用在定义体中,且是macro伪操作的第一个语句,在macro和local间不允许有注释和分号标志。 Ex: P252 7.8 四.宏库(P258) 将若干个宏定义组成一个宏库以库文件的形式存放起来。当程序需要使用这些宏定义时,只需用include伪指令说明库文件名,就可以在程序中直接调用库文件中的宏定义,而不需要重复编写这些宏定义。 格式: INCLUDE 库文件名 (扩展名为.LIB) ex: 在macro.lib中定义两个宏 input macro mov ah,01h int 21h endm
初级会计持证人
专注于经营管理类文案的拟写、润色等,本人已有10余年相关工作经验,具有扎实的文案功底,尤善于各种框架类PPT文案,并收集有数百万份各层级、各领域规范类文件。欢迎大家咨询!
文档评论(0)