当前位置: 首页 > 文档资料 > 汇编语言教程 >

6.2 程序的基本结构

优质
小牛编辑
135浏览
2023-12-01

6.2 程序的基本结构

在学习高级语言程序设计时,我们知道了程序的三大主要结构:顺序结构、分支结构和循环结构。在汇编语言的源程序也同样有此三大结构,所不同的是它们的表现形式不同。用高级语言编写程序时,由于不使用“转移语句”而使这三种结构清晰明了。

但在汇编语言的源程序中,很难不使用“转移语句”(除非是一些只有简单功能的程序),有时甚至会有各种各样的“转移语句”。由于存在这些转移语句,就使得:汇编语言源程序的基本结构显得不太明确。如果源程序的编写者思维混乱,编写出来的源程序在结构上就会显得杂乱无章,反之,如果编写者条理清晰,安排的操作井然有序,那么,编写出来的程序在结构上就会一目了然。

总之,不论是高级语言的源程序,还是汇编语言的源程序,其程序的三大基本结构也还是万变不离其宗的。

6.2.1 顺序结构

顺序结构是最简单的程序结构,程序的执行顺序就是指令的编写顺序,所以,安排指令的先后次序就显得至关重要。另外,在编程序时,还要妥善保存已得到的处理结果,为后面的进一步处理直接提供前面的处理结果,从而避免不必要的重复操作。

例6.3 编写程序段,完成下面公式的计算(其中:变量X和Y是32位有符号数,变量A,B和Z是16位有符号数)。

A←(X-Y+24)/Z的商,B←(X-Y+24)/Z的余数

解:
DATA1SEGMENT
XDD ?
YDD ?
ZDW ?
ADW ?
BDW ?
DATA1ENDS
CODE1SEGMENT
MOVAX, X
MOVDX, X+2;用(DX:AX)来保存32位变量X的数值
SUBAX,Y
SBBDX, Y+2;(DX:AX)-(Y+2:Y)
ADDAX, 24D
ADCDX, 0;(DX:AX)+24
IDIVZ
MOVA, AX
MOVB, DX
CODE1ENDS

在编程序时,常常需要交换二变量之值。假设需要交换值的变量名为:var1和var2,临时增加的变量名为temp。常用的算法如下:

temp = var1
var1 = var2
var2 = temp