第六章子程序设计.ppt
《第六章子程序设计.ppt》由会员分享,可在线阅读,更多相关《第六章子程序设计.ppt(28页珍藏版)》请在第壹文秘上搜索。
1、2023-3-30汇编语言程序设计教程1第第6章章 子程序设计子程序设计 6.1 子程序的定义与调用6.2 子程序的参数传递方法6.3 子程序的嵌套与递归2023-3-30汇编语言程序设计教程2子程序子程序 在程序设计过程中,经常会遇到一些功能结构相同,仅是某些值不同的程序段在程序中多次出现,这样的重复编写既繁琐又费时。 为此,在设计程序时,将可以多次调用、能完成特定操作功能的程序段编写成独立的程序模块称为子程序。 调用这些子程序的程序称为主程序。 一个子程序应具备重复性、通用性、可浮动性、可递归性和可重入性。 主程序调用子程序通过调用指令CALL来实现。子程序返回主程序的功能由返回指令RET
2、实现。子程序调用时要注意保护现场,子程序返回时要及时恢复现场。2023-3-30汇编语言程序设计教程36.1 子程序的定义与调用子程序的定义与调用6.1.1 子程序的定义6.1.2 子程序的调用2023-3-30汇编语言程序设计教程4子程序定义与调用的结构子程序定义与调用的结构 2023-3-30汇编语言程序设计教程5子程序的适应范围子程序的适应范围 多次重复使用的程序段; 具有通用性的程序段; 模块化程序结构中的子模块; 具有特殊功能的程序段; 中断服务程序。2023-3-30汇编语言程序设计教程6采用子程序结构的优点采用子程序结构的优点 简化了程序设计过程,使程序设计时间大量节省。 缩短了
3、程序的长度,节省了计算机汇编源程序的时间和程序的存储空间。 增加了程序的可读性,便于对程序的修改和调试。 方便了程序的模块化、结构化和自顶向下的程序设计。2023-3-30汇编语言程序设计教程7子程序的定义子程序的定义 子程序是用过程定义伪指令PROC和ENDP来定义的,还应指出过程的类型属性,因此,子程序也可称为过程。 在PROC和ENDP之间是为完成某一特定功能的一连串指令,其最后一条指令是返回指令RET。 2023-3-30汇编语言程序设计教程8子程序定义格式子程序定义格式 过程名 PROC NEAR或FAR 过程体语句RET过程名 ENDP其中,“过程名”是子程序入口的符号地址,NEA
4、R或FAR是过程的类型属性,它指出对该过程的调用是段内的调用还是段间调用。NEAR用于段内调用,而FAR用于段间调用。2023-3-30汇编语言程序设计教程9过程属性的确定原则过程属性的确定原则 调用程序和过程若在同一代码段中,则使用NEAR属性。 调用程序和过程若不在同一代码段中,则使用FAR属性。 主程序应定义为FAR属性。因为程序的主过程被看作是DOS调用的一个子程序,而DOS对主过程的调用和返回都是FAR属性。2023-3-30汇编语言程序设计教程10子程序的调用格式子程序的调用格式 子程序的调用和返回是由CALL和RET指令完成。 子程序的正确调用和正确返回是执行子程序的基本保证。C
5、ALL指令的格式为:CALL 过程名 为了使子程序正确地执行,除了正确选择过程的属性外,正确使用堆栈也是非常重要的。 2023-3-30汇编语言程序设计教程11例:段内直接调用,显示PCODE SEGMENT ASSUME CS:CODESTART:CALL DISP MOV AH, 4CH INT 21HDISP: MOV DL, P MOV AH, 2 INT 21H RETCODE ENDS END STARTDISP PROC MOV DL, P MOV AH, 2 INT 21H RETDISP ENDP2023-3-30汇编语言程序设计教程12例:段内间接调用,显示PCODE SE
6、GMENT ASSUME CS:CODESTART:MOV OFFSET DISP CALL BX MOV AH, 4CH INT 21HDISP: MOV DL, P MOV AH, 2 INT 21H RETCODE ENDS END START2023-3-30汇编语言程序设计教程13例:段间直接调用,显示PCODE1 SEGMENT ASSUME CS: CODE1START: CALL FAR PTR DISP MOV AH, 4CH INT 21HDODE1 ENDSCODE2 SEGMENT ASSUME CS:CODE2DISP PROC FAR MOV DL, P MOV A
7、H, 2 INT 21H RETDISP ENDPCODE2 ENDS END START2023-3-30汇编语言程序设计教程14例:段间间接调用DATA SEGMENTNUM DW 1CAADDR DW OFFSET SUBRT0 DW SEG SUBRT0 DW OFFSET SUBRT1 DW SEG SUBRT1 DW OFFSET SUBRT2 DW SEG SUBRT02DATA ENDSCODE SEGMENT ASSUME CS: CODESTART: MOV BX,NUM ADD BX,BX ADD BX,BX MOV SI,OFFSET CAADDR CALL FAR T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 章子 程序设计
