1 / 26
文档名称:

汇编语言课件第12章宏指令.ppt

格式:ppt   大小:566KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

汇编语言课件第12章宏指令.ppt

上传人:416612240 2019/9/5 文件大小:566 KB

下载得到文件列表

汇编语言课件第12章宏指令.ppt

相关文档

文档介绍

文档介绍::是能够独立完成某种功能的小程序段,是一系列汇编指令的集合。只要在源程序中定义一次,就可以在需要的任意地方直接引用,可以加快编程速度,查错速度。使用宏指令的好处是:简化源程序的编写,传递参数灵活,功能更强。(子程序)的比较宏和过程都可用来简化源程序,并可使程序多次对它们进行调用,从而使程序结构简洁清晰,符合结构化程序设计风格。因此,对于那些需重复使用的程序模块,既可用过程也可用宏来实现。宏和过程的主要区别在于:(1)宏操作可以直接传递和接收参数,它不需通过栈等其他媒介来进行,因此编程比较容易。而过程不能直接带有参数,当过程之间需要传递参数时,必须通过栈、寄存器或存储器来进行,所以相对于宏而言,它的编程要复杂一些。(2)宏调用只能简化源程序的书写,缩短源程序长度,它并没有缩短目标代码的长度,汇编程序处理宏指令时,是把宏体插入到宏调用处,所以目标程序占用内存空间并不因宏操作而减少。而过程(子程序)调用却能缩短目标程序的长度,因为过程在源程序的目标代码中只有一段,无论主程序调用多少次,除了增加CALL和RET指令的代码外,并不增加子程序段代码。(3)引入宏操作并不会在执行目标代码时增加额外的时间开销。相反,过程调用由于需要保护和恢复现场及断点,因而有额外的时间开销,会延长目标程序的执行时间。若在一个源程序中多次调用一段程序,则可用子程序,也可以用宏指令来简化源程序。用子程序的方法,汇编后产生的目标代码少,即目标程序占用的内存空间少,节约内存空间。但是,子程序在执行时,每调用一次都要先保护断点,通常在程序中还要保护现场。同样,在返回时,先要恢复现场,然后恢复断点(返回)。这些操作都额外增加了时间,因而执行时间长,速度慢。而宏指令恰好相反,它的目标程序长,占用的内存单元多,但在执行时不需要保护断点、现场以及恢复、返回等这些额外操作,因而执行时间短,速度快。适用场合:当要代替的程序段较短,速度是主要矛盾时,通常用宏指令。而当要代替的程序段较长,额外操作所附加的时间不明显,节省存储空间是主要矛盾时,通常用子程序。宏指令是机器的指令系统中没有的,但又可以作为一条指令使用。所以,从形式上看,宏指令扩充了机器的指令系统。、,也是用一个宏名字来代替源程序中经常需要用到的一个程序模块(代码段),宏定义语句格式与过程定义语句格式也相似。格式:宏名MACRO[形式参数表] ;宏体ENDM ;宏定义结束功能:定义一个宏。…说明:①宏名必须是惟一的,它代表着所定义的宏体的内容,在其后面的源程序中,可通过该名字来调用宏。②形式参数表是用逗号(或空格,或制表符)分隔的一个或多个形式参数。它是可选项。选用了形式参数时,所定义的宏称为带参数的宏。当调用宏时,需用对应的实际参数去取代,以实现向宏中传递信息。③宏体可以是汇编语言所允许的任意指令和伪指令语句序列,它决定了宏的功能。在宏体中还可以定义或调用另一个宏,这就是宏嵌套。④宏一经定义,就像为指令系统增加了新的指令一样,在程序中就可像指令一样通过宏名对它进行任意次的调用,故又称为宏指令或宏调用。要注意的是,宏定义必须放在第一条调用它的指令之前,一般都将它放在程序的开头。

最近更新