单击此处编辑母版文本样式第二级第三级第四级第五级单击此处编辑母版标题样式第六章 子程序结构§6.1 子程序的设计方法§6.2 嵌套与递归子程序§6.3 子程序举例§6.4 DOS系统功能调用§6.1 子程序的设计方法一子程序指令二子程序的调用与返回三现场的保护与恢复四子程序参数的传递一子程序指令子程序是完成特定功能的一段程序当主程序(调用程序)需要执行这个功能时采用CALL调用指令转移到该子程序
在程序设计中我们会发现一些多次无规律重复的程序段或语句序列解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构以便在需要时调用在汇编语言中子程序又称过程调用子程序的程序称为主调程序或主程序
13302023ch63302023开始810ch6 mov axstack mov ss ax mov spoffset tos Mov bx offset ary Push bx Mov bx offset count Push bx Mov bx offset sum
13302023ch63302023开始810ch6 mov axstack mov ss ax mov spoffset tos Mov bx offset ary Push bx Mov bx offset count Push bx Mov bx offset sum
第六章 子程序结构子程序又称为过程,它相当于高级语言中的过程和函数。为什么需要子程序?程序段共享模块化设计简化功能和结构形式相同的程序段在程序中多次使用设计,简化程序设计,节省存储空间使用子程序的优点:1 节省存储空间2 减少程序设计时间 本章的主要内容61 子程序的设计方法62 嵌套与递归子程序63 子程序举例64 DOS系统功能调用61子程序的设计方法611 过程(子程序)定义是伪操作,只告诉
过程定义伪操作 子程序的调用和返回 保护与恢复寄存器 子程序的参数传送 增强功能的过程定义伪操作 子程序的参数传送((0×16)1) × 160a) × 160f显示回车换行
第六章2. 调 用…………CALL SUB1……格 式间接寻址例:CALL DWORD PTR [BX] 段间 :子程序说明BTASCPROCPUSHAX保存AXMOVAL0CMPCX8比较8位数JNEL1直接转换16位数MOVDHDL8位数转换送DHL1:ROLDX1DX最高位移入CFRCLAL1CF移入AL最低位ADDAL30HMOV[DI]ALINCDILOOPL1POPAXRET
第六章 分支结构程序 分支结构程序的引出 转移指令 分支结构程序设计作业 分支结构程序的引出 例如火车站用计算机计算托运行李的托运费当旅客行李重量小于或等于20kg时收费元kg当行李重量超过20kg时 20kg以内部分元kg超出部分收费元kg这个处理过程可归纳为下面数学表达式: w
第六章 子程序结构? 过程定义伪操作? 子程序的调用与返回? 保存与恢复寄存器? 子程序的参数传送? 子程序的嵌套与递归主要内容:1过程定义伪操作子程序调用:隐含使用堆栈保存返回地址callnear ptrsubp (1)保存返回地址 (2)转子程序callfarptrsubp(1)保存返回地址 (2)转子程序子程序返回:ret2子程序的调用与返回3保存与恢复寄存器subt proc far pu
第六章 子程序结构? 过程定义伪操作? 子程序的调用与返回? 保存与恢复寄存器? 子程序的参数传送? 子程序的嵌套与递归主要内容:1过程定义伪操作子程序调用:隐含使用堆栈保存返回地址callnear ptrsubp (1)保存返回地址 (2)转子程序callfarptrsubp(1)保存返回地址 (2)转子程序子程序返回:ret2子程序的调用与返回3保存与恢复寄存器subt proc far pu
违法有害信息,请在下方选择原因提交举报