1 / 115
文档名称:

汇编语言程序设计-第六章_子程序设计.ppt

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

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

分享

预览

汇编语言程序设计-第六章_子程序设计.ppt

上传人:3346389411 2012/5/8 文件大小:0 KB

下载得到文件列表

汇编语言程序设计-第六章_子程序设计.ppt

文档介绍

文档介绍:第六章子程序设计
任课教师:陶雪丽
xueli_xl@
11/12/2017
1
河南师范大学计算机与信息技术学院
本章内容提要
子程序设计

子程序的嵌套

子程序举例

11/12/2017
2
河南师范大学计算机与信息技术学院
子程序设计
1
过程定义伪操作
2
子程序的调用和返回
3
保存与恢复寄存器
4
子程序的参数传递
5
增强功能的过程定义伪操作
11/12/2017
3
河南师范大学计算机与信息技术学院
子程序
把功能相对独立的程序段单独编写和调试,作为一个相对独立的模块供程序使用,就形成子程序。
子程序可以实现源程序的模块化,可简化源程序结构,可以提高编程效率。
子程序设计要利用过程定义伪指。
参数传递是子程序设计的重点和难点
子程序可以嵌套;
一定条件下,还可以递归和重入
11/12/2017
4
河南师范大学计算机与信息技术学院
模块化程序设计
模块化程序设计方法是按照各部分程序所实现的不同功能把程序划分成多个模块,各个模块在明确各自的功能和相互间的连接约定后,就可以分别编制和调试程序,最后再把它们连接起来,形成一个大程序。
这是一种很好的程序设计方法。
子程序结构就是模块化程序设计的基础。
11/12/2017
5
河南师范大学计算机与信息技术学院
过程定义伪操作
格式:
过程名 proc [near|far]
...
过程名 endp
过程名(子程序名)为符合语法的标识符,是子程序入口的符号地址。
属性:
NEAR属性(段内近调用)的过程只能被相同代码段的其他程序调用。
FAR属性(段间远调用)的过程可以被相同或不同代码段的程序调用。
11/12/2017
6
河南师范大学计算机与信息技术学院
过程定义伪操作
80x86的汇编程序用PROC伪操作的类型属性来确定CALL和RET指令的属性。
对简化段定义格式,在TINY、PACT、FLAT模式下,过程的缺省属性为near;在MEDIUM、LARGE和HUGE存储模式下,过程的缺省属性为far。
对完整段定义格式,过程的缺省属性为near。
用户可以在过程定义时用near或far改变缺省属性。
11/12/2017
7
河南师范大学计算机与信息技术学院
子程序的调用和返回
过程的正确执行是由子程序的正确调用和正确返回保证的。
80x86的CALL和RET指令完成的就是调用和返回的功能。
为了保证正确性:
要正确选择PROC的属性;
注意子程序运行期间的堆栈状态。
执行CALL指令时,要使返回地址入栈;
执行RET指令时,要使返回地址出栈。
11/12/2017
8
河南师范大学计算机与信息技术学院
保存与恢复寄存器
子程序中一般要使用寄存器,除了要带参数返回结果的寄存器(返回参数)外,希望过程的执行不改变其他寄存器的内容。
如果子程序中要使用寄存器,而又不希望改变其原有内容,常用的方法:在子程序开始部分,把将要修改内容的寄存器顺序压栈,在过程最后返回调用程序(又称主程序)之前,再将这些寄存器内容逆序弹出。
常见格式如下所示:
无参数传递的子程序:回车换行
11/12/2017
9
河南师范大学计算机与信息技术学院
保存与恢复寄存器
SUBT PROC NERA
push ax ;保护寄存器:顺序压入堆栈
push bx ;ax/bx/cx仅是示例
push cx
…;过程体
pop cx ;恢复寄存器:逆序弹出堆栈
pop bx
pop ax
ret ;过程返回
SUBT ENDP ;过程结束
11/12/2017
10
河南师范大学计算机与信息技术学院

最近更新

2025年筠连县幼儿园教师招教考试备考题库附答.. 30页

2025年芜湖航空职业学院马克思主义基本原理概.. 12页

小学历史与文化知识竞赛题库100道【名师系列】.. 37页

2025年西充县幼儿园教师招教考试备考题库及答.. 31页

2025年西安思源学院马克思主义基本原理概论期.. 13页

新安全生产法知识竞赛试题库参考答案 44页

新安全生产法知识竞赛试题库含完整答案(有一.. 44页

新安全生产法知识竞赛试题库附完整答案(各地.. 44页

2025年邢台医学高等专科学校单招职业适应性测.. 45页

2025年郑州电子商务职业学院单招职业技能考试.. 46页

2025年重庆理工职业学院马克思主义基本原理概.. 13页

2026年主管中药师考试备考题100道含答案(b卷.. 38页

2026年中医住培带教师资理论考核题库100道及参.. 39页

2026年中医住培带教师资理论考核题库100道附完.. 39页

2026年四川机电职业技术学院单招职业适应性测.. 44页

2026年主管中药师考试备考题100道含答案【轻巧.. 38页

2026年主管中药师考试备考题100道附答案【实用.. 38页

2026年医学微生物学习题集含答案(培优b卷) 41页

2026年医学微生物学习题集附答案【综合题】 41页

2026年宪法知识竞赛试题库100道及参考答案(能.. 41页

2026年网络安全知识竞赛题库(历年真题) 40页

新安全生产法知识竞赛试题库【全优】 43页

新安全生产法知识竞赛试题库带答案(完整版).. 44页

最新全国政法队伍教育整顿知识竞赛试题库及1套.. 40页

小学历史与文化知识竞赛题库100道附答案(黄金.. 37页

新安全生产法知识竞赛试题库及答案【精选题】.. 43页

最新煤气操作证考试题100道附参考答案(预热题.. 39页

最新煤气操作证考试题100道有答案 38页

2025交通运输部所属事业单位第七批统一招聘10.. 18页

2026年江西交通职业技术学院单招职业倾向性考.. 37页