高级汇编技术精选文档.ppt
《高级汇编技术精选文档.ppt》由会员分享,可在线阅读,更多相关《高级汇编技术精选文档.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级汇编技术高级汇编技术1本讲稿第一页,共四十三页本章内容简介本章内容简介 本章介绍宏汇编、重复汇编、条件汇编本章介绍宏汇编、重复汇编、条件汇编以及结构与记录的相关知识。以及结构与记录的相关知识。有利于简化源程序、减少目标代码以及有利于简化源程序、减少目标代码以及缩短程序执行时间,是编写高效简洁的汇编缩短程序执行时间,是编写高效简洁的汇编语言程序必不可少的工具。语言程序必不可少的工具。2本讲稿第二页,共四十三页5.1 宏汇编宏汇编 在编写程序过程中,若遇到一些要多次使用的程在编写程序过程中,若遇到一些要多次使用的程序段,为了简化程序,通常采用定义子程序的方法,序段,为了简化程序,通常采用定义子
2、程序的方法,同样,也可以采用宏定义的方法来达到这个目的。同样,也可以采用宏定义的方法来达到这个目的。3本讲稿第三页,共四十三页宏汇编宏汇编 宏定义是源程序中一段有独立功能的程序代码。宏定义是源程序中一段有独立功能的程序代码。先将这一段程序定义为一条宏指令,并具有一个先将这一段程序定义为一条宏指令,并具有一个相应的宏指令名,在程序中就可以多次调用它,调相应的宏指令名,在程序中就可以多次调用它,调用时只需要引用一个宏指令名来代替这一段程序就用时只需要引用一个宏指令名来代替这一段程序就可以了。可以了。4本讲稿第四页,共四十三页5.1.1 宏指令语句宏指令语句 程序中需要多次重复的指令序列可用宏指令。
3、n宏定义格式宏定义格式 宏名宏名 MACRO 形参表形参表 (宏体)(宏体)ENDMn宏调用格式宏调用格式 宏名宏名 实参表实参表5本讲稿第五页,共四十三页宏指令语句宏指令语句 汇汇编编程程序序在在对对源源程程序序作作汇汇编编时时,若若遇遇到到宏宏调调用用,则则将将对对应应的的宏宏体体取取代代该该宏宏指指令令,并并且且用用实实参参顺顺序序取取代代宏宏定定义义中中的的形形参参。这这个个过过程称作程称作宏展开宏展开。6本讲稿第六页,共四十三页宏指令语句宏指令语句n一一个个宏宏定定义义名名必必须须用用伪伪指指令令PURGE取取消消后后,才能重新定义。才能重新定义。PURGE伪指令的格式为:伪指令的格
4、式为:PURGE 宏名宏名,n一条一条PURGE伪指令可以取消多个宏。伪指令可以取消多个宏。n退退出出宏宏伪伪指指令令EXITM表表示示结结束束当当前前宏宏调调用用的展开。格式为:的展开。格式为:EXITM 7本讲稿第七页,共四十三页5.1.2 宏汇编实例分析宏汇编实例分析定义:无参形式定义:无参形式POPREG MACRO POP DX POP CX POP BX POP AX ENDM调用:调用:POPREG 当以后需要恢复现场时,当以后需要恢复现场时,只需调用:只需调用:POPREG 汇编程序将用它的目标代汇编程序将用它的目标代码码(即左边程序段代码即左边程序段代码)去替代去替代宏名字的
5、位置。宏名字的位置。8本讲稿第八页,共四十三页宏汇编实例分析宏汇编实例分析定义:无参形式定义:无参形式AX10 MACRO PUSH DX SAL AX,1 MOV DX,AX SAL AX,1 SAL AX,1 ADD AX,DX POP DX ENDM完成对完成对AX寄存器内容乘以寄存器内容乘以10的功能。假设乘积在的功能。假设乘积在16位以内。位以内。调用:调用:AX109本讲稿第九页,共四十三页宏汇编实例分析宏汇编实例分析定义:有参形式定义:有参形式SHIFT MACRO X,Y MOV CL,X SAL Y,CL ENDM调用:调用:SHIFT 3,AL SHIFT 5,BL宏调用和
6、展开后:宏调用和展开后:+MOV CL,3+SAL AL,CL+MOV CL,5+SAL BL,CL10本讲稿第十页,共四十三页宏汇编实例分析宏汇编实例分析定义:两个字操作数相加定义:两个字操作数相加ADD12 MACRO A1,A2,A3 PUSH DX PUSH AX MOV AX,A1 ADD AX,A2 MOV A3,AX POP AX POP DX ENDM宏调用:宏调用:ADD12 CX,DAT,XSI 宏展开:宏展开:.+PUSH DX +PUSH AX +MOV AX,CX +ADD AX,DAT +MOV XSI,AX +POP AX +POP DX .11本讲稿第十一页,共
7、四十三页宏汇编实例分析宏汇编实例分析 n宏宏定定义义和和宏宏调调用用可可以以不不使使用用形形参参和和实实参参,这是最简单的一种方式。这是最简单的一种方式。n大大多多数数宏宏定定义义都都使使用用形形参参,这这样样使使得得宏宏定定义的适用性及灵活性更好。义的适用性及灵活性更好。n形形参参可可以以作作为为宏宏体体中中指指令令的的助助记记符符、操操作作数数及及标标号号等等,宏宏调调用用用用实实参参取取代代形形参参时时必必须保证所产生的指令是有效的。须保证所产生的指令是有效的。12本讲稿第十二页,共四十三页宏汇编实例分析宏汇编实例分析 n实实参参可可以以是是常常数数、寄寄存存器器、存存储储变变量量名名以
8、以及及用用寻寻址址方方式式能能找找到到的的地地址址或或表表达达式式,实实参参还还可可以以是是指指令令的的操操作作码码或或操操作作码码的的一部分等。一部分等。n宏汇编的这一特性是子程序所不及的。宏汇编的这一特性是子程序所不及的。13本讲稿第十三页,共四十三页5.1.3 宏与子程序宏与子程序 宏与子程序都可以用一个名字定义一段程宏与子程序都可以用一个名字定义一段程序,以简化源程序的结构和设计。一般来说,序,以简化源程序的结构和设计。一般来说,子程序能实现的功能,用宏也可以实现。但子程序能实现的功能,用宏也可以实现。但是,宏与子程序有本质的区别,主要反映在是,宏与子程序有本质的区别,主要反映在调用方
9、式,另外在传递参数和使用细节上也调用方式,另外在传递参数和使用细节上也有很多不同。有很多不同。14本讲稿第十四页,共四十三页宏与子程序宏与子程序n子程序是在程序执行期间由主程序调用的,子程序是在程序执行期间由主程序调用的,它只占有它自身大小的一个空间,它不仅是它只占有它自身大小的一个空间,它不仅是源程序级别的简化,还是目标程序级的简化,源程序级别的简化,还是目标程序级的简化,形成的目标代码较短;形成的目标代码较短;n而宏调用则是在汇编期间展开的,每调用一次就而宏调用则是在汇编期间展开的,每调用一次就把宏定义体展开一次,它是源程序级的简化。把宏定义体展开一次,它是源程序级的简化。15本讲稿第十五
10、页,共四十三页宏与子程序宏与子程序 在子程序结构中,为实现转移和返回,保在子程序结构中,为实现转移和返回,保存及恢复寄存器和参数传递等操作都要增加存及恢复寄存器和参数传递等操作都要增加程序的开销,这些操作所消耗的时间以及它程序的开销,这些操作所消耗的时间以及它们所占用的存储空间,都是为取得子程序结们所占用的存储空间,都是为取得子程序结构而增加的额外开销。构而增加的额外开销。16本讲稿第十六页,共四十三页5.2 重复汇编重复汇编 在编写程序时,有时需要连续重复编写在编写程序时,有时需要连续重复编写一组相同或几乎相同的指令或伪指令,这时一组相同或几乎相同的指令或伪指令,这时可以使用宏汇编语言提供的
11、重复汇编伪指令可以使用宏汇编语言提供的重复汇编伪指令来避免重复书写。来避免重复书写。重复汇编结构有三种,一种是定重复汇重复汇编结构有三种,一种是定重复汇编结构,另两种是不定重复汇编结构。分别编结构,另两种是不定重复汇编结构。分别使用使用REPT、IRP和和IRPC实现。实现。17本讲稿第十七页,共四十三页重复汇编重复汇编 重复汇编结构与宏汇编结构的区别在于重复汇编结构与宏汇编结构的区别在于重复汇编适用于连续重复的场合,而宏汇编重复汇编适用于连续重复的场合,而宏汇编适用于非连续重复的场合,但是这两种方法适用于非连续重复的场合,但是这两种方法都可以达到都可以达到简化源程序简化源程序的目的。的目的。
12、18本讲稿第十八页,共四十三页5.2.1 定重复汇编伪指令定重复汇编伪指令 格式:格式:REPT 整数表达式整数表达式 (重复语句序列)(重复语句序列)ENDM功能:功能:使汇编程序对重复体作重复汇编,以整数表使汇编程序对重复体作重复汇编,以整数表达式的值作为重复次数。达式的值作为重复次数。19本讲稿第十九页,共四十三页定重复汇编举例定重复汇编举例定义:定义:NUMCHAR=30HREPT 10 DB NUMCHAR NUMCHAR=NUMCHAR+1ENDM汇编后:汇编后:NUMCHAR=30H DB NUMCHAR NUMCHAR=NUMCHAR+1 DB NUMCHAR NUMCHAR=
13、NUMCHAR+1 :DB NUMCHAR NUMCHAR=NUMCHAR+1ENDM等价于:等价于:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H20本讲稿第二十页,共四十三页5.2.2 不定重复汇编不定重复汇编格式格式:IRP 形参,形参,(重复语句序列)(重复语句序列)ENDM 功能功能:使汇编程序对重复体作重复汇编,汇使汇编程序对重复体作重复汇编,汇编时,依次将编时,依次将参数表参数表中的参数取出代替中的参数取出代替形参,形参,直到参数用完为止。重复汇编的次数等于参直到参数用完为止。重复汇编的次数等于参数表中参数的个数。数表中参数的个数。21本讲稿
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 汇编 技术 精选 文档
限制150内