屏幕显示程序-微型计算机技术
1、 实验内容或题目
调试程序DEBUG的主要命令
DEBUG程序是专门为汇编语音设计的一种调试工具
1)DEBUG程序的调用
在DOS下,键入命令
C>DEBUG[驱动器][路径][文件名]
在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令
2)常用DEBUG命令
(1) 显示内存单元内容的命令D,格式为
-D
(2) 修改内存单元内容的命令E,格式为
-E
(3)检查和修改寄存器内容的命令R,格式为
-R
(4)运行命令G,格式为
-G
(5)汇编命令A,格式为
-A
(6)反汇编命令U,格式
-U
(7)推出DEBUG命令Q,该命令格式为
-Q
2、实验目的与要求
(1) 熟悉文本编辑程序的使用方法,以建立汇编语言源程序。
(2) 初步掌握源程序中语法错误的检查方法。
(3) 熟悉汇编语言的汇编、连接和运行过程。
(4) 熟悉DOS有关命令
(5) 掌握DEBUG的使用方法
3、 实验步骤与源程序
⑴ 实验步骤
1)用DEBUG命令汇编和运行源程序,在屏幕上显示数字0~9:
2) 用DEBUG的A命令输入程序,先启动DEBUG软件,在提示符“-”下键入DEBUG命令,CS:100表示程序从程序段偏移地址为100H的单元开始。具体的操作方法见源程序:
3) 用反汇编命令验证输入程序的正确性,操作命令如下:
-U CS:100
此后,可以在屏幕上看到所输入的程序。
4)用G命令连续执行程序,操作过程及结果如下:
-G=100(回车)
0,1,2,3,4,5,6,7,8,9,0,……..
可以用CTRL+C结束程序运行。
5}可以利用上面结束的A CS:100命令将程序输入内存,当然执行T命令,单步运行程序。具体的操作方法如下:
-T=100(回车)
AX=1234 BX=0000 CX=0000 DX=0000 SP=0028 SI=0000 DI=0000
DS=106B ES=106B SS=106B CX=106B IP=0103 NV UP EI PL NZ PO NC
106B:0103 BB2143 MOV BX,4321 ④
① ② ③
其中:T=100(回车)命令表示从CS:100H单元开始执行一条指令,这里执行MOV AX,1234H指令,查看寄存器AX=1234H,③②①分别为下一条将要执行的指令、该指令的机器码及所在的地址,④为寄存器FLAGS的状态,各标志位状态的符号说明见表
数值 状态标志
OF DF IF SF ZF AF PF CF
0 NV UP DI PL NZ NA PO NV
1 OV DN EI NG ZR AC PE CY
-T(回车)
AX=1234 BX=4321 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=106B ES=106B SS=106B CX=106B IP=0106 NV UP EI PL NZ PO NC
106B:0106 89C1 MOV CX,AX
其中:T(回车)命令表示从当前CS:IP开始执行一条命令,即106B:0103H处的MOV BX,4321H指令,执行结果BX=4321H.
以后,逐一执行T命令,查看相关寄存器内容的变化。注意:指令未涉及操作的其他寄存器的内容可能因计算机的配制不同而异,但不影响指令的执行结果。欲推出DEBUG时,可使用Q命令。操作方法如下:
Q(回车)
C:\DOS>
⑵ 源代码
C:\DOS>DEBUG(回车)
-A CS:100(回车)
0DC8:0100 MOV BL,30
0DC8:0102 MOV AL,BL
0DC8:0104 INC BL
0DC8:0106 CMP BL,3A
0DC8:0109 JA 0100
0DC8:010B MOV DL,AL
0DC8:010D MOV AH,02
0DC8:010F INT 21
0DC8:0111 MOV DL,2C
0DC8:0113 MOV AH,02
0DC8:0115 INT 21
0DC8:0117 MOV CX,FFFF
0DC8:011A LOOP 011A
0DC8:011C JMP 0102
0DC8:011E (回车)
-
4、 测试数据与实验结果(可以抓图粘贴)
图1注:程序出现错误。错误原因:反复循环不需要MOV。将该语句改为:136C:011A LOOP 011A
图2注:该图为正确的源程序图
图3注:用反汇编命令-U CS:100验证输入程序的正确性,在屏幕上看到所输入的程序
图4注:用G命令 -G=100(回车)连续执行程序,操作过程及结果如下:
图5注:用CTRL+C结束程序运行后显示
图6注:执行T命令,单步运行程序,CS:100H单元开始执行一条指令
图7注:从当前CS:IP开始执行一条命令。逐一执行T命令,查看相关寄存器内容的变化
5、 结果分析与实验体会
此次实验是微型计算机的第一次实验课。本次实验的内容是用DEBUG命令汇编和运行,在屏幕上显示数字0~9,属于验证性质。内容涉及汇编,汇编语言我们在以前的雪其中有学习过。在本次的实验中,给出的源程序有错误,需要我们进行修改。在编译过程中,我发现当编至136C:011A MOV LOOP 011A处程序出错,经过检验,发现反复循环显示语句并不需要有MOV操作,去掉MOV,所以将此条语句改为:136C:011A LOOP 011A,程序便可继续编译。然后用返汇编命令验证输入程序的正确性,在屏幕上能看到所输入的程序。接着,用-G=100(回车)连续执行程序,屏幕上出现了数字0—9的反复循环。用CTRL+C结束程序运行。执行T命令,单步运行程序,便能看到寄存器相关状态。
实验完成得比较顺利,实验并不困难,基于我们以前学习过汇编语言加之这个学期学习的微型计算机这门课程,源程序可以理解。作为一名学计算机专业的学生,学习微型计算机原理这门课程是非常必要的。做实验能使我们将课堂上的理论知识化为实际的实践动手能力,学校对做实验的重视也是希望培养我们的实际操作能力,而不是纯粹的书本知识。为了更好的学习了这门课程,我们应该多花些时间和精力学习好这门课程,对我们的计算机学习是相当有帮助的。215