2011年计算机等级考试三级PC技术第二章要点(10)
创始人
2024-07-22 07:50:22
0

十、汇集语言程序设计的基本方法

(一)概述

编写汇编语言源程序的基本骤是:

(1)分析问题,建立数学模型;

(2)设计算法,绘制流程图;

(3)程序编写;

(4)上机调试。

(二)顺序结构程序设计

顺序结构程序是最简单的程序结构,它的执行顺序和程序中语句的排列顺序完全一致,会自上而下线性地顺序地进行,这种结构的汇编程序通常是比较简单的程序。在用汇编语言程序编写的程序中,存在着大量的顺序结构的程序。

(三)分支程序设计 1.分支程序的结构形式

分支程序的结构大体上有两种形式:两*分支结构和开关结构。

2.分支程序的设计方法

在汇编语言中,程序分支的实现是通过转移指令来完成的,即条件满足与否的判断和程序执行顺序的确定,都需要依靠转移指令。分支程序的基本设计方法很多,主要有三种:利用转移指令直接分支法、跳转表达法和逻辑尺法。

(四)循环程序设计1.循环程序结构

循环程序一般由循环准备(初始化)、循环处理(循环体)、循环控制与修改、循环结果处理等部分组成。

2.循环程序设计

(1)计数控制循环程序

计数控制的循环设计非常简单,其特点是循环次数已知,利用某个寄存器或存储单元作计数器,由计数器的值控制循环结束。计数的方法有两种:增量计数和减量计数。计数器置初值后,每循环一次,计数器的值按步长值进行加减,直到某一值时,循环结束。

(2)条件控制循环程序

当循环次数未知时,可采用条件控制的方法,编写条件控制循环程序。在程序设计中,应首先确定循环控制条件,每循环一次,都要对条件进行检查。若满足条件,则循环结束,否则继续循环,直到满足条件为止。(3)多重循环程序设计

多重循环程序是指循环体中仍然有循环程序,又称之为循环嵌套。

(五)子程序设计1.子程序一般以文件形式编写,并常以过程形式存放在代码段中。

子程序文件通常由子程序说明和子程序本体组成。子程序说明通常包括子程序功能描述(名称,性能,执行时间等)、所有寄存器和存储单元、子程序入口和出口参数及是否又调用其他子程序等。说明部分应简明、确切、使人一目了然。子程序的结构一般包括保存现场、依入口参数从指定位置取加工信息、加工处理、依出口参数指定位置送出处理结果、恢复现场和返回调用程序等部分。形式为:

子程序名 PROC

RET

子程序名 ENDS

即一般用过程定义语句将子程序定义为独立的程序段,使之具有NEAR属性或FAR属性,使得程序结构清晰,增加可读性。

2.子程序的调用和返回

主程序调用子程序使用指令CALL。根据CALL获得目标地址的方法,有四种调用方式:段内直接调用方式、段内间接调用方式、段间直接调用方式和段间间接调用方式。为了能正确返回,不管哪一种调用方式,都需要把断点(即CALL指令的下一条指令的地址)入栈保护。同时,CALL指令的类型必须与RET指令类型相匹配。

主程序调用程序方式分直接调用和间接调用两种类型,每种类型又分为段内调用和段间调用两种方式。

3.主程序和子程序间的信息交换

子程序中允许改变的数据叫参数。参数有入口参数和出口参数。主程序调用子程序之前必须向子程序提供一些参数,而子程序执行完毕后又要将执行结查提供给主程序使用。参数传递的方式一般有3种,即用寄存器传递参数、用参数表传递参数和用堆栈传递参数。不论采用哪种方式,调用程序和子程序都必须互相呼应。子程序需要在哪里取参数,主程序就应将参数送到哪里,并且要注意参数的先后顺序。

4.递归子程序和子程序嵌套

在子程序调用过程中,子程序调用该子程序本身称为递归调用。递归分直接递归和间接递归两种方式。直接递归子程序的结构为:

SBC PROC

CALL SBC

RET

SBC ENDP

间接递归于程序的格式:

SBC1 PROC

CALL SBC2

RET

SBC2 PROC

CALL SBC1

RET

设计递归子

程序的关键是防止出现死循环,注意脱离递归的出口条件。

 

【编辑推荐】

  1. 2011年计算机等级考试三级PC技术第二章要点(9)
  2. 2011年计算机等级考试三级PC技术第二章要点(8)
  3. 2011年计算机等级考试三级PC技术第二章要点(7)
  4. 更多等考资料请点击51CTO软考专题

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...