首页 理论教育 顺序程序设计实例

顺序程序设计实例

时间:2022-02-28 理论教育 版权反馈
【摘要】: 已知Z=(X+Y)-(W+Z),其中X,Y,Z,W均为用压缩BCD码表示的数,写出程序。 利用查表法计算平方值。已知0~9的平方值连续存在以TAB开始的存储区域中,求BUF单元内容X的平方值,并放在BUF1单元中。假定0≤X≤9且为整数。

4.2.2 顺序程序设计实例

【例4-1】 已知Z=(X+Y)-(W+Z),其中X,Y,Z,W均为用压缩BCD码表示的数,写出程序。

分析 这是一种典型的直线程序,在这里要注意是BCD数相加,要进行十进制调整。具体程序如下:

CODE SEGMENT

ASSUME CS:CODE

START:MOV AL,Z

MOV BL,W

ADD AL,BL

DAA;十进制调整

MOV BL,AL;BL=(W+Z)

MOV AL,X

MOV DL,Y

ADD AL,DL;AL=(X+Y)

DAA;十进制调整

SUB AL,BL;AL=(X+Y)-(Z+W)

DAS;十进制调整

MOV Z,AL;结果送Z

MOV AH,4CH;返回DOS

INT 21H

CODE ENDS

END START

【例4-2】 利用查表法计算平方值。已知0~9的平方值连续存在以TAB开始的存储区域中,求BUF单元内容X的平方值,并放在BUF1单元中。假定0≤X≤9且为整数。

分析:建立平方表,通过查表完成。

DATA SEGMENT

BUF DB X

BUF1 DB ?

TAB DB 0,1,4,9,16,25,36,49,64,81;0~9的平方表

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX;为DS送初值

LEA BX,TAB;取TAB表的偏移地址

MOV AH,0

MOV AL,BUF

ADD BX,AX

MOV AL,[BX];取第X项的值

MOV BUF1,AL;结果送BUF1单元

MOV AH,4CH;返回DOS

INT 21H

CODE ENDS

END START

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈