1 / 34
文档名称:

第章 子程序设计(强烈推荐).ppt

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

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

分享

预览

第章 子程序设计(强烈推荐).ppt

上传人:gyzhluyin 2015/11/3 文件大小:0 KB

下载得到文件列表

第章 子程序设计(强烈推荐).ppt

相关文档

文档介绍

文档介绍:第六章子程序设计
§
、子程序
:完成某一总体功能或任务编制的程序,叫~。
(过程):仅能完成部分功能又可被多次调用的程序,叫~。
主程序和子程序的关系是相对的。主程序调用子程序的过程,称调用子程序(转子),用CALL指令实现。
子程序执行完后,应返回主程序的调用处,继续执行主程序,返回主程序(返主),用RET指令实现。

1 .简化程序设计过程,节省时间。
2. 缩短程序长度,节省空间。
3. 增加程序可读性,便于修改、调试。
4. 方便程序的模块化、结构化和自顶向下的程序设计。
§
一个完整的子程序由以下部分组成。

为了使编制的子程序具有一定的通用性,以便于调用,在子程序设计时,要建立子程序的说明文件(含:子程序名、功能、输入参数、输出参数、占用寄存器、示例等)
Ex:有一子程序说明文件如下
; 子程序名:DTOB
; 功能:完成将两位十进制数(BCD码)转换成二进制数
;输入参数:AL寄存器中存放要转换的十进制数
;输出参数:CL寄存器中存放转换后的二进制数
;所占用寄存器:BX
;示例:输入时 AL=01010110B
; 输出时 CL=00111000B

因为主、子程序分开编写,因此使用寄存器有可能冲突。
一般在子程序一开始保护子程序要占用的寄存器内容,子程序执行返回指令前再恢复这些被保护的寄存器的内容。
保护现场/恢复现场既可在主程序中完成,也可在子程序中完成,但通常在主(子)程序中保护现场,就一定在主(子)程序中恢复。
保护、恢复现场的方法:
、出栈恢复。
Ex: sub1 proc near
push ax
push bx
push cx
push dx

pop dx
pop cx
pop bx
pop ax
Ret
Sub1 endp
保护现场
恢复现场
,恢复现场再用数据传送指令,从指定的内存单元取回到对应的寄存器中。
Ex: buffer dw 10 dup(?)

sub1 proc near
lea di,buffer
mov [di],ax
mov [di+2],bx
mov [di+4],cx
mov [di+6],dx

lea si,buffer
mov ax,[Si]
mov bx,[Si+2]
mov cx,[Si+4]
mov dx,[Si+6]
ret
sub1 endp

子程序的调用CALL----在主程序中
子程序的返回 RET ----在子程序末尾
Call sub1
…..
Sub1 proc

ret
主程序
子程序
调用
返回
1. 子程序的调用
格式:CALL <子程序名>/<过程名>
根据调用程序和子程序是否在同一逻辑段,CALL指令分为段内、段间调用。
调用形式有:段内直接调用、段内间接调用、段间直接调用、段间间接调用。
(1) 段内直接调用
格式:Call DST
操作:(SP) (SP)-2
((SP)+1,(SP)) (IP)//下一条指令的地址,子程序的返回地址入栈
(IP) (IP)+D16//转移至子程序的入口地址
Ex: 1000:2540 call sub_proc
1000:2543 …
1000:3000 sub_proc
段内直接调用的一般表示方法:
CALL near ptr <标号>
或 call <标号>
将2543H压入栈,新的IP为3000H
(2) 段内间接调用
格式:Call DST
操作:(SP) (SP)-2
((SP)+1,(SP)) (IP)//下一条指令的地址,子程序的返回地址入栈
(IP) (EA) //EA可以是reg或mem中的内容.
EX: call word ptr [bx]
call si
call word ptr es:[si]
段内间接调用的一般表示方法:
CALL WORD ptr <标号>
或 call reg
(3)段间直接调用
格式:Call DST
操作:(SP) (SP)-2
((SP)+1,(SP)) (CS)
(SP) (SP)-2
((SP)+1,(SP)) (IP)//保护断点
(IP) 偏移地址//指令的第二、三字节(子程序的入口地址)
(CS) 段地址//指令的第四、五字节
EX: c1 segment

1000:2540 call far

最近更新

非侵入式BCI信号增强技术 35页

肛门炎症病理机制 36页

高端产品成本控制 36页

绿色制造技术在环保设备制造业的发展趋势分析.. 22页

绿色建筑市场分析 35页

2025年宁县招教考试备考题库及答案解析(夺冠.. 31页

肝豆状核变性临床治疗指南 37页

联苯结构与性能关系的理论研究 29页

绿色运维服务市场拓展 35页

老龄化趋势预测 31页

网络延迟优化分析 37页

肌肉肿瘤氧化应激与基因组变异关联研究 37页

辅具适配服务信息化建设 40页

2025年宜宾医药健康职业学院马克思主义基本原.. 12页

结构优化与材料创新 36页

2026年龙年龙凤胎宝宝起名字 4页

2025年宝鸡职业技术学院单招综合素质考试题库.. 45页

肾气丸对改善慢性肾脏疾病患者生活质量的研究.. 25页

高效能源存储技术-第1篇 37页

网络安全法律法规-第36篇 37页

2025年山东华宇工学院单招职业适应性测试题库.. 44页

2025年山西体育职业学院马克思主义基本原理概.. 13页

2025年山西省财政税务专科学校马克思主义基本.. 12页

2025年山西金融职业学院单招职业倾向性考试题.. 45页

2025年布尔津县招教考试备考题库及答案解析(.. 31页

2025年平远县幼儿园教师招教考试备考题库含答.. 30页

2025年广东新华教育学院马克思主义基本原理概.. 12页

2025年广东社会科学大学马克思主义基本原理概.. 12页

2025年广州工程技术职业学院马克思主义基本原.. 12页

2025年广州航海学院马克思主义基本原理概论期.. 12页