预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

班级:计算机类1105班学号:3110307518姓名:裴和平实验二DEBUG使用实验 实验二DEBUG使用实验 一、实验目的 1.掌握DEBUG常用命令的使用。 2.进一步了解80X86的存储结构和寄存器。 3.进一步理解有关指令的功能与应用。 二、实验内容 1.(1)用R命令检查和修改寄存器内容并记录。 寄存器内容AX1234BXABCDSI0000CS13A0DS13A0 (2)用D命令显示内存单元内容并记录。 地址内容08A0:0000H0000000000000000-000000000000000008A0:0001H0000000000000000-000000000000000008A0:0002H0000000000000000-00000000000000001000:1200H7220202020205220-5B726567697374651000:2000H6B2111445C211144-7D227E43FF217643 (3)调试程序: MOVSI,0 MOVAX,[SI] INCSI INCSI ADDAX,[SI] MOVBX,AX INT20H 记录结果: 运行前: DS=13B6,(运行前预设的两个数据,不要用系统默认的数据,记录时注意字类型数据的存储结构)字单元(DS:0000H)=1234,字单元(DS:0002H)=5678。 运行后: AX=68AC,BX=68AC。 (4)求BUF单元开始的3个BCD码数之和,并将结果存入SUM单元。(编写程序) 程序: DATASEGMENT BUFDB34H,27H,13H SUMDB? DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOVAX,DATA MOVDS,AX LEASI,BUF MOVAL,[SI] INCSI ADDAL,[SI] INCSI ADDAL,[SI] DAA MOVSUM,AL MOVCL,4 SHRAL,CL ADDAL,30H MOVDL,AL MOVAH,2 INT21H MOVAL,SUM ANDAL,0FH ADDAL,30H MOVDL,AL MOVAH,2 INT21H MOVAH,4CH INT21H CODEENDS ENDSTART 实验数据记录: 数据地址 (段地址:偏移地址)第一组第二组数据11442:000034H38H数据21442:000127H49H数据31442:000213H56H运算结果1442:000374H37H标志CFNCCY 数据修改后 第一组数据:结果74恰好是三个BCD压缩码34H,27H,13H的和 第二数据:我特地特意取了较大的BCD压缩码,但是得出的结果很有问题。SUM的个位好像是三个数据个位通过十六进制相加,十位是十进制相加;本来我以为是我应该把SUM定义成字的,但是代码段的修改确实不好修改:SUM定义成字节时得出的结果不能显示出进位位;修改成字后,黑窗口运行结果就只显示成了一个问号,这个之后得再请教老师。 三、实验总结 开始的练习操作还是很简单的,只是对DEBUG的使用进行熟练操作,但是到最后求BCD压缩码和的编写代码却有点问题,但也正是这一题让我不断的操作,从而对DEBUG的使用更清楚,操作更熟练;深深的感觉自己得再找些汇编题目做做,像实验这种基本的题目我编写程序都费了好大的劲。