实验一 DEBUG的使用(合工大汇编实验)

实验一 DEBUG的使用

(一)实验目的
1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。
2、掌握8086/8088的寻址方式及多字节数据的处理方法。
(二)实验设备
硬件环境:IBM-PC及其兼容机
软件环境:操作系统DOS3.0版本以上
调试程序DEBUG
(三)实验内容和要求
实验内容:
1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。
2、分别用直接寻址方式和寄存器间接
寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。
实验要求:
本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。
(四)预习要求
1、复习DOS启动方式和DOS有关命令的使用;
2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能;
3、复习寻址方式和相关的数据传送指令及算术运算指令。
(五)实验步骤
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)= ,(BX)= ,(SI)= ,
(DI)= ,(CS)= ,(IP)= 。
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寄存器随着变化,注意观察。
(六)实验结果分析
1、程序运行结果:(AX)= ,(BX)=
DS:0208H四字节单元的内容:
2、试用寄存器间接寻址方式编写程序段,完成上述程序段的功能。(参考下列程序流程图)

在这里插入图片描述
(七)、附加题目:

  1. 从DS:0000H开始的5个16位带符号数分别记为x,y,z,v,w,用E命令初始化为:540,1,-1,1080,0, 试求w=(v-(x*y+z-540))/x
  2. 完成BX中1的个数的统计。
  3. 用串操作指令将DS:0000开始20个字节初始化为:0CCH。并将这20个字节的内容复制到其后的20个字节里。

(八)、程序运行截图

3、
在这里插入图片描述

4、
在这里插入图片描述
5、
在这里插入图片描述
6、
在这里插入图片描述
7、
在这里插入图片描述
8、
在这里插入图片描述

9、
在这里插入图片描述

六、

1、
在这里插入图片描述
2、
在这里插入图片描述
附加题、
1、
在这里插入图片描述
在这里插入图片描述
2、在这里插入图片描述
3、
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值