1 / 156
文档名称:

子程序解析.pptx

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

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

分享

预览

子程序解析.pptx

上传人:wz_198613 2020/1/3 文件大小:512 KB

下载得到文件列表

子程序解析.pptx

文档介绍

文档介绍:1汇编语言程序设计 简明教程2第五章 子程序 参数的传递 嵌套和递归子程序 多模块程序设计 汇编语言与C语言混合编程 DOS和BIOS调用****题五3子程序(Subroutine): 把程序需要完成的任务分解为若干个“子任务”,每个“子任务”由一段相对独立的程序完成,称为“子程序”。调用子程序的程序称为“主程序”或者“主调程序”。子程序也称为“过程”(Procedure),在高级语言里还称作“函数”(Function)。4子程序结构程序的优点:,提高了程序的可阅读性和可维护性。,由于程序规模较小,降低了调试难度。,提高程序的“可重用性”,提高了软件开发效率。5图5-1子程序的调用和返回6近程子程序:只能被同一个代码段里的程序调用的子程序。由于主程序和子程序处于同一个代码段,调用和返回时只需要改变IP寄存器的值,CS寄存器的值保持不变。近程子程序的入口地址用16位段内偏移地址表示。7远程子程序:能够被不同代码段的程序调用,也能被同一代码段的程序调用的子程序。调用这样的子程序时,需要同时改变CS和IP寄存器的值,返回时,需要从堆栈里弹出32位的返回地址送入IP,CS寄存器。远程子程序的入口地址用16位段基址和16位段内偏移地址表示。 (Call,调用)指令段内直接调用 格式:CALL 子程序名操作:SP←SP-2,SS:[SP]←IP(保存16位返回地址) IP←子程序入口的偏移地址例如:CALL PROC1段内间接调用 格式:CALL REG16/MEM16操作:SP←SP-2,SS:[SP]←IP(保护16位返回地址) IP←REG16/:调用名为“PROC1”的近程子程序。(1) CALL PROC1(2) LEA CX, PROC1 CALL CX (3)ADDR_PROC1DWPROC1 ;子程序偏移地址放入存储器字变量…… CALL ADDR_PROC1 ;调用近程子程序PROC1(4) …… LEA BX,ADDR_PROC1 CALL WORDPTR[BX] ;调用近程子程序PROC1