SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
PUBLIC XH, XL, YH, YL, ZH, ZL ;设置全局变量
DATA SEGMENT
XL DW ? ;X低位
XH DW ? ;X高位
YL DW ? ;Y低位
YH DW ? ;Y高位
ZL DW ? ;Z低位
ZH DW ? ;Z高位
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV AX, XL
ADD AX, YL ;X低位加Y低位
MOV ZL, AX ;低位和存到Z的低位
MOV AX, XH
ADC AX, YH ;高位带进位加
MOV ZH, AX ;存高位结果
JMP START ;在此行设置断点,以观察变量值
CODE ENDS
END START
实验步骤
(1)编写程序,经编译、链接无误后装入系统。
(2)程序装载完成后,点击‘变量区’标签将观察窗切换
到变量监视窗口。
(3)点击,将变量XH,XL,YH,YL,ZH,ZL添加
到变量监视窗中,然后修改XH,XL,YH,YL的值,如图2.13
所示,修改XH为0015,XL为65A0,YH为0021,YL为
B79E。
(4)在JMP START语句行设置断点,然后运行程序。
(5)当程序遇到断点后停止运行,查看变量监视窗口,计
算结果ZH为0037,ZL为1D3E。
(6)修改XH,XL,YH和YL的值,再次运行程序,观察
实验结果,反复测试几组数据,验证程序的功能。
图2.13 变量监视窗口
2. 十进制的BCD码减法运算
计算X-Y=Z,其中X、Y、Z为BCD码。实验程序参考例程。
实验程序清单(例程文件名为A3-2.ASM)
SSTACK SEGMENT STACK
DW 64 DUP(?)