经典汇编语言教程:第7章 子程序和库

第7章 子程序和库

子程序是程序设计所常见的基本概念,汇编语言也提供了编写子程序的方法。

本章主要介绍子程序的定义、调用和返回、子程序的参数传递等知识。此后,还将讲解如何构造自己的子程序库。

7.1 子程序的定义

如果某程序段在源程序内反复出现,那么,就可把该程序段定义为子程序。这样可以缩短源程序长度、节省目标程序的存储空间,也可提高程序的可维护性和共享性。

定义子程序的一般格式如下:
子程序名PROC [NEAR | FAR]
;子程序体
子程序名ENDP

对子程序定义的具体规定如下:

◆、“子程序名”必须是一个合法的标识符,并前后二者要一致;
◆、PROC和ENDP必须是成对出现的关键字,它们分别表示子程序定义开始和结束;
◆、子程序的类型有近(NEAR)、远(FAR)之分,其缺省的类型是近类型;

◆、如果一个子程序要被另一段的程序调用,那么,其类型应定义为FAR,否则,其类型可以是NEAR。显然,NEAR类型的子程序只能被与其同段的程序所调用;

◆、子程序至少要有一条返回指令,也可有多条返回指令。返回指令是子程序的出口语句,但它不一定是子程序的最后一条语句;

◆、子程序名有三个属性:段值、偏移量和类型。其段值和偏移量对应于子程序的入口地址,其类型就是该子程序的类型。

编写子程序除了要考虑实现子程序功能的方法外,还要养成书写子程序说明信息的好习惯。其说明信息一般包括以下几方面内容:

◆、功能描述
◆、入口和出口参数
★、所用寄存器;可选项,最好采用寄存器的保护和恢复方法,使之使用透明化
★、所用额外存储单元;可选项,可以减少为子程序定义自己的局部变量
★、子程序的所采用的算法;可选项,如果算法简单,可以不写
★、调用时的注意事项;可选项,尽量避免除入口参数外还有其它的要求
★、子程序的编写者;可选项,为将来的维护提供信息
★、子程序的编写日期;可选项,用于确定程序是否是最新版本

这些说明性信息虽然不是子程序功能的一部分,但其他程序员可通过它们对该子程序的整体信息有一个较清晰认识,为准确地调用它们提供直接的帮助,与此同时,也为实现子程序的共享提供了必要的资料。

上页:上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号