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的余数
解: | ||||
DATA1 | SEGMENT | |||
X | DD ? | |||
Y | DD ? | |||
Z | DW ? | |||
A | DW ? | |||
B | DW ? | |||
… | ||||
DATA1 | ENDS | |||
CODE1 | SEGMENT | |||
… | ||||
MOV | AX, X | |||
MOV | DX, X+2 | ;用(DX:AX)来保存32位变量X的数值 | ||
SUB | AX,Y | |||
SBB | DX, Y+2 | ;(DX:AX)-(Y+2:Y) | ||
ADD | AX, 24D | |||
ADC | DX, 0 | ;(DX:AX)+24 | ||
IDIV | Z | |||
MOV | A, AX | |||
MOV | B, DX | |||
… | ||||
CODE1 | ENDS |
在编程序时,常常需要交换二变量之值。假设需要交换值的变量名为:var1和var2,临时增加的变量名为temp。常用的算法如下:
temp = var1
var1 = var2
var2 = temp