1 / 72
文档名称:

汇编语言第08章子程序设计.ppt

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

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

分享

预览

汇编语言第08章子程序设计.ppt

上传人:zhongxinado 2019/6/7 文件大小:274 KB

下载得到文件列表

汇编语言第08章子程序设计.ppt

相关文档

文档介绍

文档介绍:(过程),往往会遇到多处使用相同功能的程序段,使用该程序段的唯一差别是对程序变量赋不同的值,例如计算:S=√2X+√3Y+√150计算上述函数需要多次使用开方运算,如果每次用到开方运算就编写一段开方程序,那末开方程序在程序中会多次出现,不仅书写麻烦,容易出错,编辑、汇编它时,也会花费较多时间。同时,由于冗长,占用内存也较多。如果把多次使用的功能程序编制为一个独立的程序段,每当用到这种功能时,就将控制转向它,完成功能后再返回到原来的程序,这就会大大减少编程工作量。:(1)简化了程序设计过程,减少了工作量,节省了时间;(2)源程序缩短,节省了机器汇编源程序的时间和存储目标代码的存储空间;(3)增加了源程序的可读性,便于调试维护;(4)有利于程序模块化、结构化和自顶向下的程序设计;(5)子程序一旦编制成功,在开发研制各种软件时都可利用,大大缩短了软件的开发周期。:设计出可以完成相对独立功能的程序段,并对汇编程序提供必要的信息,使得对该程序段汇编之后,在需要时可以被其他主程序调用,这一过程称为子程序的定义。已定义的子程序在什么时候被执行,执行多少次,都不是由子程序自身决定的。在主程序需要调用相应的子程序时,可以用调用子程序指令使得相应子程序被执行。在主程序需要利用子程序的执行来完成某种工作时,就可以使用调用子程序指令来调用相应的子程序;在子程序完成它应该完成的工作之后,应当用返回指令返回调用它的主程序。主程序::CALLSUBR::子程序SUBR:::::(过程)定义伪指令子程序定义伪指令所定义的子程序的一般格式:PNPROC[NEAR]/[FAR];说明过程开始:;过程体:PNENDP;(1)段内调用与段间调用(2):AME/REGNAME/MEMLABEL操作:(1)段内调用:SP←SP-2(SP+1,SP)←IPIP←AME或REGNAME或(MEMLABEL)(2)段间调用:SP←SP-2(SP+1,SP)←CSCS←AME或(MEMLABEL+2,MEMLABEL+3)SP←SP-2(SP+1,SP)←IPIP←AME或(MEMLABEL,MEMLABEL+1)受影响的寄存器::RET[VAL]操作:(1) 段内返回: IP←(SP+1,SP) SP←SP+2 SP←SP+VAL(如果选用了VAL)(2) 段间返回: IP←(SP+1,SP) SP←SP+2 CS←(SP+1,SP) SP←SP+2 SP←SP+VAL(如果选用了VAL)受影响的寄存器:没有,有可能在主程序中正被用来保存某种中间结果,这些寄存器的值在从子程序返回主程序后还要继续使用,这些寄存器的值或所需的标志位的值等信息称之为现场。显然,子程序执行前需要保护现场,返回时要恢复现场。保存现场与恢复现场的工作既可在调用程序中完成,也可在子程序中完成,程序设计时根据情况安排。如果子程序已经设计好了,而其中未保护主程序现场,那么调用程序在使用子程序之前应保护现场,从子程序返回后再恢复现场。通常在主程序中保护现场,则一定在主程序中恢复;在子程序中保护现场,则一定在子程序中恢复。这样可以增强主程序和子程序之间的相对独立性,减少相互依赖,使程序结构清楚,减少错误。