一. 实验内容
熟悉分支结构设计与调试
题目要求:设有字无符号数X、Y,试编制求Z=|X-Y|
流程图:
二.实验步骤
1.将MASM文件夹复制到D:盘根目录下
2.将编好的代码复制到MASM文件夹中,扩展名改为’.asm’
3.搭建DOSBox-汇编环境
4.mount c: d:\wmasm 回车后键入C:,回车
5.对源文件进行汇编
c:\masm xff1221.asm回车
连续输入三个回车(若提示有错误返回源文件修改并重复此步骤)
6.对目标文件进行链接
c:\link xff1221.obj回车
连续键入三个回车
7.运行程序
c:\xff1221.exe回车
8.调试程序
进入调试软件Emu8086 v3.05
打开文件xff1221.exe
点击运行,即可查看各寄存器值
三.运行结果
四.总结
1.实验过程中遇到的问题及解决办法;
在本此实验过程中,执行程序屏幕无输出,如果想知道最终结果,只能通过debug来进行,由代码段得知,最终计算结果保存在AX中,打开调试工具,观察AX的值为78(十六进制),换算为十进制为120,满足最终计算结果(X=250,Y=370),计算正确。
2.对设计及调试过程的心得体会。
代码录入过程要仔细,检查也要仔细,否则在汇编过程中反复出现问题耽误时间。
五.附录:源代码
DATA SEGMENT
X DW 250
Y DW 370
Z DW 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,X;AX=X=250
CMP AX,Y;AX-Y?0
JL FU;小于转移到FU
SUB AX,Y;大于等于,AX=AX-Y=X-Y
MOV Z,AX;Z=AX
RET
FU:
MOV AX,Y;AX=Y
SUB AX,X;AX=AX-X=Y-X
MOV Z,AX
RET
MAIN ENDP
CODE ENDS
END START