DEBUG调试程序的应用实验的报告.doc

合集下载

汇编实验报告(-)调试程序DEBUG的使用

汇编实验报告(-)调试程序DEBUG的使用

汇编实验报告(-)调试程序DEBUG的使用《汇编语言程序设计》实验报告实验一调试程序DEBUG 的使用一、实验目的通过实验掌握下列知识:1、DEBUG命令:A,T,D,F,G;2、数据在内存中的存放方式和内存操作数的几种寻址方式;3、汇编指令:INC,DEC,LOOP,INT 3的应用;4、汇编语言伪指令:BYTE PTR和WORD PTR的应用。

二、内容及步骤1.DEBUG 命令使用表 1.1 DEBUG命令****命令的使用中注意:****①字母不分大小写;②②只使用16 进制数,没有后缀字母;③分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符;④每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行;⑤命令如果不符合Debug 的规则,则将以“error”提示,并用“^”指示错误位置。

许多命令的参数是主存逻辑地址,形式是“段基地址: 偏移地址”。

其中,段基地址可以是段寄存器或数值;偏移地址是数值。

如果不输入段地址,则采用默认值,可以是缺省段寄存器值。

如果没有提供偏移地址,则通常就是当前偏移地址。

1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境,显示提示符 '- '。

2、用命令 F 200 220 'AB' 将'AB'的两个ASCII码循环填入内存。

注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。

3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。

图1-1 Fill、Dump命令调用对主存操作的命令还支持地址范围这种参数,它的形式是:“开始地址结束地址”(结束地址不能具有段地址),或者是:“开始地址L 字节长度”。

D(Dump)命令显示主存单元的内容,它的格式如下(分号后的部分用于解释命令功能,不是命令本身):D [地址] ;显示当前或指定开始地址的主存内容D [范围] ;显示指定范围的主存内容图1-2 D命令调用左边部分是主存逻辑地址,中间是连续16 个字节的主存内容(16进制数,以字节为单位),右边部分是这16个字节内容的ASCII字符显示,不可显示字符用点“.”表示。

【最新2018】debug实验报告-实用word文档 (7页)

【最新2018】debug实验报告-实用word文档 (7页)
(2) 将下面3条指令写入从201X:0开始的内存单元中,利用这3条指令计算2的8次方。
mov ax,1 add ax,ax
jmp 201X:0003
- 4 -
- 5 -
篇二:DEBUG 实验 报告
微机实验报告
学院:物信学院
班级:电信一
学号:112207301122
姓名:杨义
一.实验目的:
1. 熟练的掌握debug的常用命令,学会用debug来调试程序。 2. 深入了解数据在储存器中的存取方法,了解堆栈中数据的压入与弹出方法。
STA SEGMENT STACK STARENDP
DW Байду номын сангаас0 DUP(?)SUB1PROC
STA ENDS MOV AL,Z
COD SEGMENT MOV AH,Z+1
ASSUME CS:COD,DS:DAT MUL
AH
STARPROC FAR ADD WORD PTR Y,AX PUSH DS ADC BYTE PTR[Y+2],0 XOR AX,AX RET
PUSH AXSUB1ENDP
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
== 本文为word格式,下载后可方便编辑和修改! ==
debug实验报告
篇一:汇编 DEBUG 实验报告
一、 实验目的、
学习查看CPU及存储器命令
二、 实验设备及环境
主流PC Win7_x64
DOSBox Status Window DEBUG.EXE
- 3 -
mov bx,ax将ax的值存入bx, bx=8236h add ax,bx 将ax+bx的值存入ax,ax溢出, ax=046ch mov ax,001a将001ah存入ax, ax=001ah mov bx,0026 将0026h存入bx, bx=0026h add al,bl 将al+bl的值存入al,ah=00h,al=40h,ax=0040h add ah,bl 将ah+bl的值存入ah,ah=26h,al=40h,ax=2640h add bh,al 将bh+al的值存入bh,bh=40h,bl=26h,bx=4026h mov ah,0 将0000h存入ah, ah=00h,al=40h,ax=0040h, add al,bl 将al+bl的值存入al,ah=00h,al=66h,ax=0066h add al,9ch将al+9ch的值存入al,ah=00h,al=02h,ax=0002h,

debug实验报告

debug实验报告

debug实验报告Debug实验报告引言:在软件开发和编程过程中,调试(Debug)是一项非常重要的任务。

通过调试,我们可以找到程序中的错误和问题,并进行修复。

本实验报告旨在探讨调试的重要性、调试的方法和技巧,以及调试过程中可能遇到的挑战和解决方案。

一、调试的重要性调试是软件开发过程中不可或缺的一环。

它有助于提高程序的质量和稳定性,确保程序能够按照预期的方式运行。

调试可以帮助开发人员快速定位和修复错误,提高开发效率。

同时,调试也是学习和提升编程技能的重要手段,通过调试,我们可以深入了解程序的运行机制和各种问题的解决方法。

二、调试的方法和技巧1. 使用调试器工具:调试器工具是程序员的得力助手,可以帮助我们逐行执行代码、查看变量的值和程序的执行流程。

常用的调试器工具有GDB(GNU Debugger)、Xcode等。

通过使用调试器工具,我们可以更加直观地观察程序的执行过程,快速定位错误所在。

2. 打印调试信息:在程序中适当地插入打印语句,输出关键变量的值和程序的执行状态,可以帮助我们了解程序的执行流程,找到错误的发生位置。

在调试完成后,记得删除或注释掉这些打印语句,以免影响程序的性能。

3. 缩小调试范围:当程序出现问题时,可以通过逐步缩小调试范围的方式,找出引发问题的具体代码。

可以先注释掉一部分代码,验证程序是否正常运行,然后逐步恢复注释,直到找到引发问题的代码段。

4. 使用断言和异常处理:在程序中合理地使用断言和异常处理机制,可以在错误发生时及时中断程序的执行,并输出相关的错误信息。

这样可以帮助我们快速定位错误,提高调试效率。

三、调试过程中的挑战和解决方案1. 复现问题:有时,程序在某些特定条件下才会出现问题。

在调试过程中,我们需要尽可能还原出问题的场景,以便更好地分析和解决问题。

可以通过调整输入数据、环境变量等方式,尽量复现问题。

2. 多线程调试:当程序涉及多线程时,调试过程会变得更加复杂。

由于多线程的并发执行,错误可能会难以复现和定位。

debug的使用实验报告

debug的使用实验报告

debug的使用实验报告
《Debug的使用实验报告》
在软件开发过程中,debug是一个非常重要的步骤,它可以帮助开发者找到并
修复代码中的错误。

在本次实验中,我们将探讨debug的使用方法以及其在软
件开发中的重要性。

首先,我们需要明确debug的定义。

Debug是一种通过检查、测试和纠正软件
中的错误来确保其正常运行的过程。

在实际应用中,debug通常涉及使用调试
器工具来逐步执行代码并观察其行为,以便找出问题所在。

在本次实验中,我们使用了一个简单的Java程序作为例子来演示debug的使用。

该程序包含了一些常见的错误,如语法错误、逻辑错误和运行时错误。

通过使
用调试器工具,我们逐步执行程序并观察其行为,以便找出并修复这些错误。

在实验过程中,我们发现debug的使用能够极大地提高代码的质量和稳定性。

通过逐步执行程序并观察其行为,我们可以更容易地找出并修复代码中的错误,从而减少了在后期测试阶段发现问题的可能性。

此外,debug还可以帮助我们
更好地理解程序的运行逻辑,从而提高了代码的可读性和可维护性。

总的来说,通过本次实验,我们深刻认识到了debug在软件开发中的重要性。

它不仅可以帮助我们找出并修复代码中的错误,还可以提高代码的质量和稳定性。

因此,在日常的软件开发过程中,我们应该充分利用debug工具,以确保
我们的程序能够正常运行并具有良好的性能。

熟悉、使用DEBUG调试工具实验报告

熟悉、使用DEBUG调试工具实验报告

实验目的:借助DEBUG程序发现汇编语言程序的错误并加以改正实验过程:一,在debug环境下建立和汇编程序(1)进入debugC:\debug 回车(2)输入程序并汇编-A 100 回车0AF0:0100 mov dl,38 回车0AF0:0102 mov ah,2 回车0AF0:0104 int 21h 回车0AF0:0106 int 20h 回车0AF0:0108 回车(3)运行程序-g=1008Program terminated normally如果想分析该程序的指令,可使用反汇编命令U(4)反汇编-u 100,108 回车0AF0:0100 B238 MOV DL,30AF0:0102 B402 MOV AH,00AF0:0104 CD21 INT 210AF0:0106 CD20 INT 200AF0:0108 56 PUSH SI(5)将机器指令程序送到起始地址为200h的单元-e 200 b2,38,b4,02,cd,21,cd,20,56-g=2008Program terminated normally-二,常用debug命令(1)显示,修改寄存器内容显示所有寄存器内容格式:-r 回车功能:以十六进制形式显示cpu内部个寄存器的值;以符号形式显示标志寄存器的各标志位(除tf外)的值;并将CS:IP所指的内存内容反汇编成一条指令,可视为将要执行的指令。

如:-r 回车AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0AF0 ES=0AF0 SS=0AF0 CS=0AF0 IP=0200 NV UP EI PL NZ NA PO NC0AF0:0200 B238 MOV DL,38知:cs=0AF0h,IP=0100h修改寄存器格式:-r 寄存器名回车-r dsDS 0AF:0AE0-rds的内容由原来的0af0h修改为0ae0h修改标志值格式:-rf例:-rfNV UP EI PL NZ NA PO NC -ov ng 回车将of,sf的值分别修改为1。

汇编第一次实验报告

汇编第一次实验报告

课程名称:汇编语言程序设计实验名称:DEBUG调试程序的使用姓名:胡彬彬专业:计算机科学与技术班级:计算机14级2班学号:1404010210计算机科学与技术学院实验教学中心2016 年 4 月12 日实验项目名称:DEBUG调试程序的使用一、实验目的1.熟悉 DEBUG 调试程序中的常用命令。

2.学会在 DEBUG 下调试运行汇编语言源程序。

二、实验内容1.熟悉DEBUG常用命令的使用: A、U、D、E、R、G、T、L、W、Q常用命令。

2.在DEBUG下编写汇编语言程序,实现多字节(5个字节)十进制加法。

三、实验用设备仪器及材料硬件:计算机软件:DEBUG调试软件四、实验原理及代码-A010013E0:0100 MOV BX,013013E0:0103 MOV SI,014013E0:0106 MOV CX,513E0:0109 MOV AL,[BX]13E0:010B ADD AL,[SI]13E0:010D DAA13E0:010E MOV [BX+20],AL13E0:0111 INC BX13E0:0112 INC SI13E0:0113 LOOP 010913E0:0115五、实验操作步骤1.在【开始菜单】\【程序附件】\【命令提示符】下,进入 DOS环境。

或在【开始菜单】\【运行】下,直接键入cmd进入。

2.在DOS目录下启动DEBUG。

3.熟悉DEBUG常用命令,详细记录每一步所用的命令及查看结果的方法和具体结果。

4.在DEBUG下编写程序,实现多字节十进制加法实验。

六、实验结果分析。

实验一Debug程序的使用

实验一Debug程序的使用

湖北科技学院计算机科学与技术学院《微机接口技术》实验报告学号: 124221031 姓名:李亮亮实验题目: Debug程序的使用实验报告指导老师:范建军实验日期: 2014.11.21一、实验目的1.学习使用DEBUG调试命令。

2.学习用DEBUG调试简单程序。

3.通过程序验证码制及其对标志位的影响。

4.通过调试熟悉和掌握个寄存器的作用与特点。

二、实验内容用DEBUG调试简单程序。

三、实验仪器微机一台四、实验步骤1.由DOS进入DEBUG调试环境。

(1)C:>DEBUG 将调试程序装入内存注意:当机器控制权由DOS成功地转移给调试程序后,将显示“-”号,它是DEBUG 的状态提示符,表示可以接受调试子命令了。

(2)-R显示CPU中各寄存器当前初始内容,请记录下列各项:AX=0000BX=0000CX=0000DX=0000BP=0000SI=0000DI=0000 DS=073F ES=073F SS=073F SP=00FD CS=073F IP=0100如图所示:FLAG寄存器中的8个标志位状态值是:OF DF IF SF ZF AF PF CF0 0 1 0 0 0 0 0说明:1)此时,调试工作区的四个段值相同,指向同一起点,表明公用一个64KB空间;2)SS:SP指向堆栈顶单元,SP为FFFE或FFEE,正好是本段的最高可用地址,表明堆栈自动使用最高地址,栈区由底向上生长;3)CS:IP为约定的调试工作区地点(IP=0100),可由此装入待调试程序代码,或汇编键入的程序小段,工作区由低址往下使用;4)DEBUG用符号给出标志寄存器中8个标志位的当前状态,其含义如下表所示。

标志位含义‘1’的对应符号‘0’的对应符号OF溢出OV有NV无DF方向DN递减UP递增IF中断EI允许DI禁止SF符号NG负PL正ZF全零ZR零NZ非零AF辅助进位AC有NA无PF奇偶性PE偶PO奇CF进位CY有NC无(3)结束程序,返回DOS。

汇编实验报告--利用DEBUG调试汇编语言程序段

汇编实验报告--利用DEBUG调试汇编语言程序段

实验一利用DEBUG调试汇编语言程序段学生姓名:何茂杰学号:2010305104 专业班级:10级计算机本科一班指导老师:文远熔实验日期:实验成绩:一、实验目的1.熟悉DEBUG有关命令的使用方法;2.利用DEBUG掌握有关指令的功能;3.利用DEBUG运行简单的程序段。

二、实验内容1.学会使用debug的A, U, T, D, E等命令。

2.编写一个程序计算Y=(X*U+V)/1000,X、Y、U、V(均为16位有符号二进制数)的存放地址自己确定。

分别使用两种以上的寻址方式对X、Y、U、V寻址。

三、实验环境PC微机DOS操作系统或Windows 操作系统四、实验要求1.仔细阅读有关DEBUG命令的内容,对有关命令,要求事先准备好使用的例子;2.学会使用debug的A, U, T, D, E等命令。

五、主要实验步骤(一)学会使用DEBUG中的简单命令:1.打开DOS,开始——运行——cmd。

2.进入DEBUG,在DOS下输入DEBUG,直接进入。

3.在DEBUG中输入D,查看D命令结果,输入D 1000,查看指定地址的数据。

4.在DEBUG中输入E100,修改地址100的数据,再输入D100,查看修改后的结果。

5.在DEBUG中输入R,查看当前寄存器的内容。

6.在DEBUG中输入A,输入以下代码:mov ax,1234mov [1000],ax输入T显示第一条命令运行结果,再次输入T,显示第二条命令运行结果,输入d1000,验证命令运行结果。

7.在DEBUG中输入A,输入以下代码:mov ax,1234mov [1000],ax输入G [=起始地址] [结束地址]↓,再输入D1000,验证命令运行结果。

8.在DEBUG中输入U [起始地址] [结束地址],从[起始地址]开始进行反汇编。

9.在DEBUG中输入Q,推出DEBUG程序。

(二)用DEBUG验证乘法、除法、加法、减法等功能:1.验证加法和带进位加,使用A命令,在DEBUG中键入以下代码:mov ax,f111mov bx,f222mov cx,2mov dx,3add ax,bxadc cx,dx使用G命令查看结果2.验证减法和带借位减法,使用A命令,在DEBUG中键入以下代码:mov ax,2mov bx,3mov cx,5mov dx,2sub ax,bxsbb cx,dx使用G命令查看结果3.验证乘法和除法,使用A命令,在DEBUG中键入以下代码:乘法:mov al,b4mov bl,11mul bl使用G命令查看结果除法:mov ax,400mov bl,b4div bl使用G命令查看结果六、实验数据及处理结果反汇编:执行情况:七、思考题启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?答:进入DOS,输入DEBUG xxx.exe,其中xxx为文件名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子电气工程学院学生实验报告
专业级 1 班 2 组姓名学号
课程名DEBUG 调试程序的应用指导教师成绩
一,实验预习
实验序号1实验题目DEBUG调试程序的应用预习日期
要求: 1.实验目的; 2,实验原理; 3,画出实验原理图; 4 实验设备; 5,预习内容(该实验完成的内容);6,记录表格设计
一实验目的
1、了解 DEBUG调试程序常用命令的基本格式、主要功能和使用方法。

2、熟悉进入或退出DEBUG调试程序运行界面的步骤。

3、掌握用DEBUG调试程序进行程序编辑、调试、运行、结果检查的基本方法。

4、进一步汇编语言上机环境及基本操作
二实验原理
1,启动 DEBUG程序,在 DEBUG环境下建立和汇编程序2,输入程序并汇编 A
2,_A 100
169C(CS):0100(ip) MOV DL, 33 ;DEBUG默认 16 进制数
169C: 0102 MOV AH,2 ;dos 的 2 号功能调用
169C: 0104 INT 2l ;功能调用
169C: 0106 INT(中断)20 ;中断
169C: 0108 ;回车结束程序的输入
3.运行程序_G=0100(全速运行)得到 3
4,用反汇编命令_U。

然后分析该程序的指令:33 的 ascll 的值为 3, MOV 是将原操
作数送到DL 中( DL 为目标操作数)。

5,将机器指令程序送到起始地址为200H 的若干单元
6,执行机器指令程序_G=0200得到 3
7,执行 T 命令,实现单步运行。

8,执行 D 命令查看存储单元的原值。

E 是修改内存, R 显示修改内存命令。

四实验设备
微型计算机一台
三、实验内容及步骤:
1、启动 DEBUG程序,进入DOS界面“运行”-“cmd ’)
这时屏幕上会出现“_”提示符,等待键入DEBUG命令。

“ _”号是进入 DEBUG的提示符,在该提示符下可键入任意DEBUG命令。

现在用 A 命令输入程序如下:
②.输入程序并汇编
_A 100
169C: 0100 MOV DL,33 ; DEBUG默认 16 进制数字符 3 的 ASCII码送 DL
169C: 0102 MOV AH,2 ;使用 DOS 的 2 号功能调用
169C: 0104 INT 2l ;进入功能调用,输出‘3’
169C:0106 INT 20 ;BIOS中断服务,程序正常结束。

“INT 20H”也可改
为“ INT 3”,表示程序执行到此暂停。

169C: 0108 ;回车结束程序的输入
至此程序已输入完毕,并汇编成机器指令。

现在用G 命令运行程序如下:
③.运行程序
_G=0100
3
Program terminated normally
如果现在想分析一下该程序的指令,可以用反汇编命令U 作如下操作:
④.反汇编
_U 100, 108
169C: 0100 B233 MOV DL,33
169C: 0102 B402 MOV AH, 02
169C: 0104 CD21 INT 21
169C: 0106 CD20 INT 20
169C: 0108
⑤.将机器指令程序送到起始地址为200H 的若干单元
_E 0200 B2, 33, B4, 02, CD, 21,CD, 20
⑥.执行机器指令程序
_G=0200
3
Program terminated normally
(2) . 在内存 DS:1200H 开始的存储单元中建立一个大写字母区。

①.手工编写程序,实现在内存DS: 1200H 开始的存储单元中建立一个大写字母区。

②.进入DEBUG,用 A 命令输入程序并汇编。

—A 100
20D0: 0100 MOV CX,1A ;DEBUG默认 16 进制数
20D0: 0103 MOV BX, 1200
20D0: 0106 MOV AL, 41
20D0: 0108 MOV [BX],AL ;由此处可知符号地址 LP的偏移地址为 0108 20D0: 010A INC AL
20D0: 010C INC BX
20D0: 010D LOOP 0108 ;LP 用偏移地址 0108 代替
20D0: 010F INT 3
20D0: 0110;回车结束程序的输入
③.用 D 命令先查看存储单元的原值
—D1200
④.用 G 命令运行程序
—G=01
回车后,屏幕上出现当前所有寄存器和标志位的值,并出现DEBUG的提示符。

4、退出 DEBUG
在 DEBUG命令提示符“ _”下键入 Q 命令,即可结束DEBUG的运行,返回DOS操作系统。

四,实验心得
通过本次实验,了解DEBUG 调试程序常用命令的基本格式、主要功能和使用方法。


悉进入或退出DEBUG调试程序运行界面的步骤。

掌握用DEBUG调试程序进行程序编辑、调试、运行、结果检查的基本方法。

进一步汇编语言上机环境及基本操作。

感觉它比其他高级
语言确实要复杂,但是能更一步体会计算机是如何操作的!通过对debug 的运用,我们了
解到了很多关于电脑方面的知识,也知道了debug 的强大功能。

我们应多加练习,以便熟
悉的掌握这方面的知识。

相关文档
最新文档