汇编语言宏指令语句.ppt
《汇编语言宏指令语句.ppt》由会员分享,可在线阅读,更多相关《汇编语言宏指令语句.ppt(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第5章 汇编语言程序设计 5.4 宏指令语句宏指令语句1.宏指令、宏定义和宏调用宏指令、宏定义和宏调用宏指令是源程序中具有宏指令是源程序中具有独立功能的一段程序代码独立功能的一段程序代码。在汇编语言中,如果在源程序中需要多次使用同一个在汇编语言中,如果在源程序中需要多次使用同一个程序段,可以将这个程序段定义(宏定义)为一个宏程序段,可以将这个程序段定义(宏定义)为一个宏指令,然后指令,然后每次需要是,即可简单地用宏指令名来代每次需要是,即可简单地用宏指令名来代替(称为宏调用),替(称为宏调用),从而避免了重复书写,使源程序从而避免了重复书写,使源程序更加简洁、易读。更加简洁、易读。宏定义由宏定
2、义由MASM宏汇编程序提供的伪指令实现,宏汇编程序提供的伪指令实现,其格式为其格式为第5章 汇编语言程序设计 宏指令名宏指令名 MACRO 形式参数形式参数 ENDM宏调用的格式为宏调用的格式为 宏指令名宏指令名 实际参数实际参数这就是说,只要在源程序中写上已定义过的宏指这就是说,只要在源程序中写上已定义过的宏指令名就算是调用该宏指令了。令名就算是调用该宏指令了。具有宏调用的源程序被汇编时,每个宏调用将被具有宏调用的源程序被汇编时,每个宏调用将被MASM进行宏展开。宏展开实际上是用宏定义式设计的进行宏展开。宏展开实际上是用宏定义式设计的宏体去代替相应的宏指令,并用实际参数一一取代形参。宏体去代
3、替相应的宏指令,并用实际参数一一取代形参。宏体第5章 汇编语言程序设计 由此可见,使用宏的过程共有三步:首先由此可见,使用宏的过程共有三步:首先进行宏定进行宏定义义;然后可以进行;然后可以进行宏调用宏调用;最后,汇编时由;最后,汇编时由MASM进行进行宏展开宏展开。例例 若源程序中多处需要将若源程序中多处需要将AL和和CL寄存器中的寄存器中的两位压缩型的两位压缩型的BCD数相加,并将和送回数相加,并将和送回BL寄存器,则寄存器,则可象下述这样定义宏指令,然后在需要的地方进行调用。可象下述这样定义宏指令,然后在需要的地方进行调用。DECADDMACROADD AL,CLDAAENDM显而易见,这
4、是一个无形式参数的宏定义。显而易见,这是一个无形式参数的宏定义。第5章 汇编语言程序设计 如果对分别存放在任意如果对分别存放在任意8位寄存器或存储单元中的位寄存器或存储单元中的两个压缩型的两个压缩型的BCD数进行加法运算,则可将上例宏定数进行加法运算,则可将上例宏定义改写为义改写为DECADD1 MACRO OPR1,OPR2MOV AL,OPR1ADD AL,OPR2DAAMOV OPR1,ALENDM这是一个带有两个形式参数的宏定义。宏指令为这是一个带有两个形式参数的宏定义。宏指令为DECADD1。例如有以下宏调用:。例如有以下宏调用:第5章 汇编语言程序设计 DECADD1 DL,BUF
5、FERDECADD1AREA1,AREA2则汇编时进行宏展开,得到以下指令:则汇编时进行宏展开,得到以下指令:DECADD1 DL,BUFFER+MOV AL,DL+ADD AL,BUFFER+DAA+MOV DL,AL DECADD1 AREA1,AREA2+MOV AL,AREA1+ADD AL,AREA2+DAA+MOV AREA1,AL宏扩展后,原来宏体中的指令前面都加上了符号宏扩展后,原来宏体中的指令前面都加上了符号“”,以示区别以示区别。第5章 汇编语言程序设计 宏指令与子程序的区别宏指令与子程序的区别在汇编语言程序设计中,宏指令和子程序都给设计在汇编语言程序设计中,宏指令和子程序
6、都给设计者提供了很大方便。他们都是可被程序多次调用的程序者提供了很大方便。他们都是可被程序多次调用的程序段,并且调用前必须由设计者事先根据需要按一定格式段,并且调用前必须由设计者事先根据需要按一定格式进行定义。然而,宏指令和子程序由于定义方法和几个进行定义。然而,宏指令和子程序由于定义方法和几个是不同,使用中会有许多不同之处,主要是空间和时间是不同,使用中会有许多不同之处,主要是空间和时间的差异。的差异。子程序由子程序由CALL指令调用,由指令调用,由RET指令返回指令返回,所以汇编后子程序的机器码只占有一个程序段,不管调所以汇编后子程序的机器码只占有一个程序段,不管调用多少次均如此,较为节约
7、内存。宏指令在每次宏调用用多少次均如此,较为节约内存。宏指令在每次宏调用处宏展开时,宏体都要占一个程序段,调用次数愈多,处宏展开时,宏体都要占一个程序段,调用次数愈多,占用内存愈多。因此从内存空间开销来说,子程序优于占用内存愈多。因此从内存空间开销来说,子程序优于宏指令。宏指令。第5章 汇编语言程序设计 从程序的执行时间来分析,每调用一次子程序从程序的执行时间来分析,每调用一次子程序都要保护和恢复返回地址(断点)及寄存器内容(现场)都要保护和恢复返回地址(断点)及寄存器内容(现场)等,要消耗较多的时间。宏指令调用时不需要这个过程,等,要消耗较多的时间。宏指令调用时不需要这个过程,执行时间较短。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 指令 语句
限制150内