daan

更新时间:2023-03-09 18:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

汇编语言程序设计 实验(一 )

DEBUG下简单编程与调试

学号 姓名 成绩 实 验 报 告

一、 实验目的

1. 掌握计算机的数据表示、数据寻址方式 2. 熟练掌握DEBUG的命令与使用 3. 掌握DEBUG下的编程与调试方法 4. 探索计算机硬件与底层的奥秘 二、 实验仪器与主要器件

1. 系统计算机一台 2. Windows XP操作系统 3. Debug软件 4. Internet网络 三、 实验预习

1. Debug的20条指令(含?)有哪些,并写出对应英文含义

2. debug指令的range和list各是什么意思,举例说明 四、 实验准备

1. 开机进入Windows XP系统,,点击开始-》运行-》command.com-》debug 2. ALT+Enter进入全屏模式

注意,每个实验内容后应用Q命令退出,重新进入Debug。

ALT+TAB与Windows窗口切换。

3.标志寄存器

15 14 13 12 11 10 9 8 7 6 5 4 3 1 1 1 1 1 0 0 0 0 0 0 0 0 2 0 1 1 0 0 OF DF IF TF SF ZF AF PF CF

OF:OV/NV DF:DN/UP IF:EI/DI SF:NG/PL ZF:ZR/NZ AF:AC/NA PF:PE/PO CF:CY/NC

五、 实验1:DEBUG指令使用

1. 查看内存0:0开始的两个DW类型数据,使用指令:___________,数据分别为:________,________ 2. 查看内存40:6C的DD类型数据,隔10秒钟再查看一次,多做几次,平均每秒钟增加: __20h______ 3. 计算1234H与5678H的和与差,使用指令:___________,和为:________,差为:________ 4. 修改内存F000:0为‘1234567890ABCDEF’, 使用指令:____________________________________________,

或指令:______f 1000:0,f ‘1234567890ABCDEF’_____________________________________________,修改后F000:0开始的16个字节为

___________________________________________________________________________________________ 5. 在内存F000段查找‘123456789’, 使用指令:_____________________________________________, 6. 将内存B800段的前4K,用61H,41H填充,使用指令:________________________________,屏幕发生了

第 1 页 (共 3 页)

实验一:DEBUG下简单编程与调试 学号: 姓名:

什么变化________蓝底红色小写a_____________________________________________________________。 7. 计算机开机时(CS=FFFF IP=0)执行的前三条指令为:_________________________________________, _____________________________,________________________________,

六、 实验2:程序调试与跟踪

1.输入指令 MOV AH,2A // INT 21 //INT 20后,记录如下内容

程序运行前:INT 21 后下一条指令的地址为:_____________________。内存0:84开始的两个DW类型数据为 _____________,____________。CS寄存器为:_________,IP:__________,SP:__________________。 2.INT 21执行后,寄存器(10进制)CX为:__0________,DH为:__0_____,DL为:____0___,AL为:_____0_____。 3.重新调试程序,单步跟踪进入 INT 21指令后,CS寄存器为:_________,IP:__________,SP:__________________。 压入堆栈中的数据(DW)依次为__________,__________,__________。

4.输入指令MOV AX, 7896H // ADD AL, AH// ADD AL, 0F2H// ADC AX, 1234H. 记录每条指令执行后AX、OF、CF、ZF、SF、PF、AF的值分别为:

_________,___,___,___,___,___,___;_________,___,___,___,___,___,___; _________,___,___,___,___,___,___;_________,___,___,___,___,___,___;

七、 实验3:编程与调试与运行

1. 将程序MOV DX,0109// MOV AH,09// INT 21// INT 20//DB‘Hello!$’输入计算机,并保存为文件

hello.com。请按顺序写出所执行的DEBUG指令__a___,___g_____,___n_______,___l______. 退出debug运行此文件,查看文件大小______________________。

用C语言编写此实现功能程序,记录C语言形成的执行文件的大小为_______________。

2. 编写程序输入一串字符到内存1000H,并记录定义的缓冲区在输入“12345678abcdef”后的各字节内容

八、 思考题:

1. DEBUG下的变量怎么表示?

2. DEBUG下编程有什么缺点?

3. 在DEBUG下编写并调试程序,实现从键盘输入一串数据,并倒序存放后,再显示输出。请调试完毕,和本报告一起发到老师邮箱,打印后再贴在作业本上作为一次作业。

哈尔滨工业大学计算机科学与技术学院 第 2 页 (共 3 页)

实验一:DEBUG下简单编程与调试 学号: 姓名:

哈尔滨工业大学计算机科学与技术学院 第 3 页 (共 3 页)

本文来源:https://www.bwwdw.com/article/oe8a.html

微信扫码分享

《daan.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top