《《汇编语言程序设计》第7章 高级宏语言课件》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》第7章 高级宏语言课件(54页珍藏版)》请在金锄头文库上搜索。
1、第七章,高级宏汇编语言,第7章高级宏汇编语言,7.1 宏指令 7.2 条件汇编指令 7.3 重复汇编指令 7.4 结构与记录,第7章高级宏汇编语言,7.1 宏指令 7.2 条件汇编指令 7.3 重复汇编指令 7.4 结构与记录,7.1 宏指令,宏是源程序中一段有独立功能的程序代码。它只需要在源程序中定义一次,就可以多次被调用。调用时只需要由这个宏的名字构成一条语句,如同使用一条指令一样,为了与机器指令相区别,我们称这个宏的名字为宏指令。 宏的使用要经过三个步骤:宏定义,宏调用,宏展开。,7.1 宏指令,宏定义与宏结束指令 参数的使用 宏中的编号处理 宏嵌套 宏与子程序的区别,宏定义与宏结束指令
2、,7.1 宏指令,1.宏定义 2.宏调用与宏展开 3.宏指令的有效范围 4.宏库,宏定义与宏结束指令,7.1 宏指令,1.宏定义 (1)不带参数的宏定义 MNAME MACRO 宏体 ENDM (2)带参数的宏定义 MNAME MACRO DUMPAR1,DUMPAR2 宏体 ENDM,宏定义与宏结束指令,7.1 宏指令,2.宏调用与宏展开 一个具有独立功能的程序段被定义为宏以后,就可以在源程序中调用了。在操作码段写上宏名,也就是使用宏指令,称为宏调用。 “先定义,后使用”是宏指令调用的原则,调用格式为 MNAME 或MNAME PAR1,PAR2,,宏定义与宏结束指令,7.1 宏指令,例7.
3、1 字变量加法。,宏定义与宏结束指令,7.1 宏指令,宏定义与宏结束指令,7.1 宏指令,3.宏指令的有效范围 宏指令的优先级最高。可以定义与指令助记符、伪操作同名的宏,此时,同名机器指令或伪操作失效。只有用PURGE伪操作取消宏定义,才能恢复同名机器指令或伪操作的原始含义。 PURGE伪操作可同时取消多个宏定义,被取消的宏名之间用逗号分隔。格式为: PURGE MNAME1 ,MNAME2,MNAME3 其中:MNAME1,MNAME2,MNAME3,是宏定义名,多个将被取消的宏定义名用逗号分开。,宏定义与宏结束指令,7.1 宏指令,4.宏库 如果希望某些宏定义能被多个程序调用,可以将这些宏定义放在一起以库文件的形式存放起来,这个库文件就是宏库。当一个源程序需要使用这些宏定义时,可以在程序中使用INCLUDE伪指令,其语句格式为: INCLUDE HNAME HNAME是库文件名,其扩展名为.LIB。,参数的使用,7.1 宏指令,经常使用的宏操作符 连接操作符 如:MOV AX,C 则 AX=6。 用WIDTH运算符,可取得字段的宽度; 如:MOV AX,WIDTH C 则AX=7。 用MASK运算符,可取得字段的掩码; 如:MOV AX,MASK B 则AX=0F80H。,