合肥工业大学 计算机与信息学院
实验报告
课 程:汇编语言程序设计
专业班级:信息安全11-1
学 号:20112914
姓 名:王佳淼
实验一 Debug程序的使用
一. 实验目的
1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。
二. 实验内容
1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。 要求:
本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。
三. 实验过程和程序
1、启动DOS操作系统
2、运行DEBUG.COM程序(若当前盘为C) C:>DEBUG↙
– ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG命令) 3、用“A”命令编辑和汇编源程序 –A ↙
186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙ 186E:0116 ↙
4、用“U”命令反汇编验证源程序 –U CS:0100↙
186E:0100 A10002 MOV AX,[0200] 186E:0103 8B1E0202 MOV BX,[0202] 186E:0107 03060402 ADD AX,[0204] 186E:010B 131E0602 ADC BX,[0206] 186E:010F A30802 MOV [0208],AX 186E:0112 891E0A02 MOV [020A],BX 186E:0116 –
注意:
? 检查源程序是否有错误,若有则返回到第3步用“A 地址”命令进行修改,直
到程序无错误。
? DEBUG约定在其命令或源程序中所涉及到的数据均被看作十六进制数,其后
不用“H”说明。
? 在DEBUG下,源程序中不能使用“标号”、“变量”和一些伪指令。 ? 在DEBUG下,大小写不敏感。
5、程序未执行前,用“R”命令观察,相关寄存器的内容。
–R↙ 如:(AX)= 0000 ,(BX)= 0000 ,(SI)= 0000 , (DI)= 0000 ,(CS)= 1376 ,(IP)= 0100 。
6、在程序未执行前,用“D”命令观察DS:0200H,DS:0204H、DS:0208H单元的内容
–D 200 20B ↙
7、用“G”命令运行源程序 –G =100 0116 ↙
8、再用“D”命令观察DS:0200H~DS:020BH字节单元中的内容 –D 200 20B↙
9、用“T”单步操作命令对源程序单步执行,观察AX、BX、CS、IP寄存器内容的变
化,并与预计的结果相比较。 注意:
? D命令显示内存数据,注意观察多字节数据在内存中的存放方式。 ? 指令执行的时候,IP寄存器随着变化,注意观察。
开始 SI←200H DI←204H BX←208H AX← [SI] DX←[SI+2] AX←AX+[DI] DX←DX+[DI+2 ] [BX]←(AX) [BX+2]←(DX) 结束
汇编语言实验报告 20112914讲解



