- 4
- 0
- 约1.64万字
- 约 50页
- 2019-05-28 发布于湖北
- 举报
微机原理软件实验报告
学院: _信息与通信工程学院 _
班 级:
姓 名:
学 号:
微机原理软件实验· 报告
实验一 DEBUG 的使用
一、实验目的
1. 掌握汇编程序的编辑、编译、连接和执行的全过程;
2. 学习和掌握用 DEBUG 调试程序的方法。
二、实验内容
1. 用编辑软件,输入以下汇编语言源程序:
DAT SEGMENT
A DB 20 ;( 自定)
B DB 15 ;( 自定)
Y DB 3 DUP(0)
Z DB 0,0
DAT ENDS
STA SEGMENT STACK
DW 50 DUP(?)
STA ENDS
COD SEGMENT
ASSUME CS:COD,DS:DA T
STAR PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DA T
MOV DS,AX
MOV AX,STA
MOV SS,AX
MOV AL,A
MOV Z,AL
MOV Z+1,AL
第 1 页
微机原理软件实验· 报告
CALL SUB1
MOV AL,B
MOV Z,AL
MOV Z+1,AL
CALL SUB1
MOV AL,A
MOV Z,AL
MOV AL,B
MOV Z+1,AL
CALL SUB1
ADD WORD PTR Y ,AX
ADC BYTE PTR[Y+2],0
RET
STAR ENDP
SUB1 PROC
MOV AL,Z
MOV AH,Z+1
MUL AH
ADD WORD PTR Y ,AX
ADC BYTE PTR[Y+2],0
RET
SUB1 ENDP
COD ENDS
END STAR
2. 用 DEBUG 将可执行文件调入,并进行调试。
1) 用 D 命令观察数据区在内存中的具体内容,记录单元 A 和 B 的具体
地址。
2) 用 U 命令对目标代码反汇编,观察反汇编后的结果。注意发现源程序
的起始位置,并记录这个起始地址。
3) 用 T 命令作单步跟踪调试。比较每条指令执行后的结果和原来的理解
是否一致,得出程序运行的结果:它们是写在什么单元 ,具体内容是什
第 2 页
微机原理软件实验· 报告
么;并判断结果是否正确。在子程序 SUB1 的入口处设一断点,用 G
命令执行程序。在断点处观察堆栈的内容,比较堆栈的内容和程序返
回地址是否一致。
4) 用 E 命令修改单元 A,B 的内容,重新执行程序,并记录结果。
5) 用 M 命令和 A 命令对程序进行修改:将主程序中最后两条指令
(ADD 和 ADC) 修改为一条 CALL SUB1 指令,重新执行程序。
6) 退出 DEBUG。
3. 重新使用编辑软件,把源程序最后一句中的 STAR 去掉。再次生成可
执行文件,并用 DEBUG 调入内存。当使用 U 命令时,显示的结果与
前一次(未加 STAR) 的结果有何不同?
三、预习思考
1. 熟悉常用的 DEBUG 命令。
答:常用的 DEBUG 命令如下图表所示。
2. 阅读并分析程序的功能。
答:程序完成的功能是计算两个数的完全平方和,即计算
2 2 2
a b ab 。
第 3 页
微机原理软件实验· 报告
3. 若 SS=2000H,SP=FFFFH,向堆栈中压入 4 字节数据后,如何用 D 命
令显示压入堆栈的内?
答:使用的命令是: -D 2000:FFFB,即使用段基址加偏移量查看。
四、实验过程
以下由实验截图展现具体的实验过程,截图进行了详细标注,便于阅读。
上图为编译、链接形成可执行文件的过程。
第 4 页
微机原理软件实验· 报告
上图展现了进行反编译然后使用 D 命令查看数据段中 A、B 值的过程。
上图使用 E 命令对数据段数据 A 和 B 进行了修改,修改后用 D 命令进行
了查看。
第 5 页
微机原理软件实验· 报告
上图演示了如何设置断点。在 SUB1 出设置一断点,可以看到程序执行到
CALL 0003F 时中断,各寄存器的值均有显示。
下图为调用子程序 SUB1,然后子程序结束,返回主程序前寄存器的值。
可以看到,压入堆栈的 IP 值弹出,CS:IP已经指向了下一条语句的地址。
下图中操作实现的功能是将 ADD 和 ADC 两条语句替换为 CALL 语句,
通过 A 命令可以直接修改程序指令,通过插入 NOP 指令使 CPU 空闲。也可
第 6 页
微机原理软件实验· 报告
以通过 M 命令拷贝 CALL SUB1 的机器代码到目的地址,但操作容易出错,
原因是源地址和目标地址指令长度不一致。
当重新使用编辑软件,把源程序最后一句中的 STAR 去掉。再次生成可执
行文件,再次 DEBUG 时。当使用 U 命令时,结果如下图所示。可以看到,
没有 END STAR 语句,编译器将不知道代码段的入口地址是多少
您可能关注的文档
最近下载
- 国际期刊科技论文写作与发表.PDF VIP
- 科技英语写作讲义.pdf VIP
- 《苹果手机删除的照片如何恢复?苹果最近删除照片恢复.docx VIP
- 水平井完井工艺技术要求,SY_T6-2016.pdf VIP
- SY/T 6270-2017 石油天然气钻采设备固井、压裂管汇的使用与维护.pdf VIP
- 部编版一年级语文下册第六单元测试卷.docx VIP
- 德州职业技术学院单招职业技能测试参考试题库(含答案).docx VIP
- SolidWorks-全套入门教程PPT课件.pptx VIP
- 2025年加州驾照常考题库及答案.doc VIP
- SYT5695-2017 钻井液用降黏剂 两性离子聚合物.pdf VIP
原创力文档

文档评论(0)