欢迎来到天天文库
浏览记录
ID:36268860
大小:1.12 MB
页数:35页
时间:2019-05-07
《汇编语言入门教程ppt-第七章宏定义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、宏结构程序设计宏汇编重复汇编条件汇编——统称宏结构宏(Macro)是汇编语言的一个特点,它是与子程序类似又独具特色的另一种简化源程序的方法第一章基础知识第七章高级汇编语言技术宏——具有宏名的一段汇编语句序列——宏定义时书写宏指令——这段汇编语句序列的缩写——宏调用时书写宏展开——宏指令处用这段宏代替的过程——宏汇编时实现宏的参数功能强大,颇具特色配合宏,还有宏操作符和有关伪指令宏汇编第一章基础知识第七章高级汇编语言技术其中哑元表给出了宏定义中所用到的形式参数(或称虚参),每个哑元之间用逗号隔开第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇
2、编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术变元是操作码的一部分,必须用‘&’符号作为分隔符第一章基础知识第七章高级汇编语言技术&是一个操作符,它在宏定义体中可以作为哑元的前缀,展开时可以把&前后两个符号合并而形成一个符号,这个符号可以是操作码、操作数或是一个字符串。下面两个例子进一步具体说明这个问题。第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术注意:如果程序中多次调用该宏定义时,展开后台出现标号的多重定义,这是不能允许的。汇编程序对LOCAL伪操作的局部标号表中的每一个局部标号建立唯一的
3、符号(用??0000一??FFFF)以代替在展开中存在的每个局部标号。必需注意,LOCAL伪操作只能用在宏定义体内,而且必须是MACRO伪操作后的第一语句,在MACRO和LOCAL之间不允许有注释和分号标志。第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术汇编程序把跟在%之后的表达式的值转换成当前基数下的数,在展开期间,用这个数来取代哑元。宏操作符总结;;——宏注释符,用于表示在宏定义中的注释。采用这个符号的注释,在宏展开时不出现&——替换操作符,用于将参数与其他字符分开。如果参数紧接在其他字符
4、之前或之后,或者参数出现在带引号的字符串中,就必须使用该伪操作符<>——字符串传递操作符,用于括起字符串。在宏调用中,如果传递的字符串实参数含有逗号、空格等间隔符号,则必须用这对操作符,以保证字符串的完整!——转义操作符,用于指示其后的一个字符作为一般字符,不含特殊意义%——表达式操作符,用在宏调用中,表示将后跟的一个表达式的值作为实参,而不是将表达式本身作为参数;宏定义dstringmacrostringdb’&string&’,0dh,0ah,’$’endm;宏调用dstringdstring<0!;宏展开1db’Thisisa
5、example.’,0dh,0ah,’$’1db’06、最后一个字的内容是第一个字的地址。ARRAYLABELWORDREPT99DW$+2ENDMDWARRAY第一章基础知识第七章高级汇编语言技术重复次数由自变量表中的自变量个数来确定。自变量表必须用尖括号括起,它可以是常数、符号、字符串等第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术例宏指令GOTOL,X,REL,Y(其中REL可以是Z,NZ,L,NL等)可以根据不同情况产生无条件转移指令或比较和条件转移指令。宏定义:第一章基础知识第七章高级汇编语言技术例宏定7、义可允许递归调用,此时条件伪操作可用来结束宏递归。宏指令POWER可以用来实现X和2N相乘。这只需对X左移N次即可实现,可以设COUNT为递归次数的计数值,当该数与N相等时就可结束遇归调用。宏定义:宏结构的作用宏汇编、重复汇编和条件汇编为源程序的编写提供了很多方便,灵活运用它们可以编写出非常良好的源程序来汇编系统中有些以圆点起始的伪指令(如.startup、.exit等)实际上是一种宏结构dstringMACROstri
6、最后一个字的内容是第一个字的地址。ARRAYLABELWORDREPT99DW$+2ENDMDWARRAY第一章基础知识第七章高级汇编语言技术重复次数由自变量表中的自变量个数来确定。自变量表必须用尖括号括起,它可以是常数、符号、字符串等第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术第一章基础知识第七章高级汇编语言技术例宏指令GOTOL,X,REL,Y(其中REL可以是Z,NZ,L,NL等)可以根据不同情况产生无条件转移指令或比较和条件转移指令。宏定义:第一章基础知识第七章高级汇编语言技术例宏定
7、义可允许递归调用,此时条件伪操作可用来结束宏递归。宏指令POWER可以用来实现X和2N相乘。这只需对X左移N次即可实现,可以设COUNT为递归次数的计数值,当该数与N相等时就可结束遇归调用。宏定义:宏结构的作用宏汇编、重复汇编和条件汇编为源程序的编写提供了很多方便,灵活运用它们可以编写出非常良好的源程序来汇编系统中有些以圆点起始的伪指令(如.startup、.exit等)实际上是一种宏结构dstringMACROstri
此文档下载收益归作者所有