汇编语言实验报告(DEBUG命令)

合集下载

汇编实验报告(-)调试程序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字符显示,不可显示字符用点“.”表示。

实验一DEBUG命令实验

实验一DEBUG命令实验

实验⼀DEBUG命令实验实验⼀ DEBUG命令实验⼀.实验⽬的:掌握DEBUG 的基本命令及其功能⼆.实验内容:DEBUG是专门为汇编语⾔设计的⼀种调试⼯具,它通过步进,设置断点等⽅式为汇编语⾔程序员提供了⾮常有效的调试⼿段。

1、DEBUG程序的启动DEBUG的命令格式:[drive:][path] DEBUG [d:][p][filename][.ext][param...]其中:drive: 是指定DEBUG⽂件的磁盘驱动器标识符,DEBUG是外部DOS命令,所以必须把它从磁盘读⼊内存。

若未指定,DOS 将使⽤当前默认磁盘驱动器。

path: 是DOS查找DEBUG⽂件的⼀个⼦⽬录串表⽰的路径。

若未指定,DOS将使⽤当前⼯作⽬录。

d: 是DEBUG将要调试的⽂件所在的磁盘驱动器。

p: 是查找DEBUG将要调试的⽂件所需的⼦⽬录路径,若未指定,DOS使⽤当前⽬录。

filename[.ext] 是DEBUG将要调试的⽂件名。

param 是将被调试的程序(或⽂件)的命令⾏参数。

例如:在DOS提⽰符下,可键⼊命令:C>debugDEBUG所完成的初始化动作,假定⽂件名没有,启动DEBUG:段寄存器CS、DS、ES和SS置为DEBUG程序后的第⼀个段。

指令指针寄存器IP置为100H(程序段前缀PSP后的第⼀个语句)。

堆栈指针SP置为段末或/doc/1f7311358.html暂驻部分的结束地址(其中较⼩的那个地址)。

其余通⽤寄存器均置为0,标志寄存器置为下述状态。

NV UP EI PL NE NA PO NC如果在DOS提⽰符下,可键⼊命令,包含⽂件名:C>debug name.exe段寄存器DS和ES指向PSP。

寄存器BX和CX含有程序长度。

注意:字母不分⼤⼩写;只使⽤16进制数,不加H;分割符只在两个数值之间是必须的,命令和参数之间可有可⽆;键⼊回车键执⾏命令,Ctrl+Break或Ctrl+C中⽌命令的执⾏;如命令不符合DEBUG的规则,则提⽰“error”并使⽤“^”指⽰错误位置。

汇编实验报告--利用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为文件名。

实验一 利用 DEBUG 调试汇编语言程序段

实验一 利用 DEBUG 调试汇编语言程序段

实验名称实验一利用 DEBUG 调试汇编语言程序段一、实验目的1.熟悉 DEBUG 有关命令的使用方法;2.利用 DEBUG 掌握有关指令的功能;3.利用 DEBUG 运行简单的程序段。

二、实验要求1.仔细阅读有关 DEBUG 命令的内容,对有关命令,要求事先准备好使用的例子;三、实验环境DOS 操作系统四、实验内容1.进入和退出 DEBUG 程序;1)开始—运行点确定进入DOS命令窗口图1进入DOS命令窗口2)在命令窗口中输入 dubug 进入 debug 程序图2进入 debug 程序3)进入 debug 窗口后,输入 q 命令退出 debug图3退出 debug2.学会 DEBUG 中的1)D 命令(显示内存数据 D 段地址:偏移地址)例 1:-D100 ;显示 DS 段, 0100 开始的 128 个字节内容-D ;默认段寄存器为 DS,当前偏移地址(刚进入 debug 程序偏移地址为 0100H)图4默认显示 DS 段内容-D DS:100 ;显示 DS 段, 0100H 开始的 128 个字节内容图5显示 DS 段内容-D CS:200 ;显示 CS 段, 0200H 开始的 128 个字节内容图6显示 CS 段内容-D 200:100 ;显示 DS 段, 0200:0100H 开始的 128 个字节内容图7显示 DS段0200:0100H内容-D 200 ;显示 DS 段, 0200H开始的128个字节内容图8显示 DS段0200H开始的内容-D 100 L 10 ;显示 DS 段, 100H 开始的 100H 个字节内容图9显示 DS段100H开始的100H字节内容2)E 命令(修改指定内存)例 1:-E100 41 42 43 44 48 47 46 45-D 100,L08结果:073F:0100 41 42 43 44 48 47 46 45-e 100 修改内存内容-d 100,L08 查看刚才修改的内存内容图10 修改和查看DS段100H开始的80H字节内容例 2: -E 100073F:0100 41. 42 : 42 是操作员键入此命令是将原 100 号内存内容 41 修改为 42,用 D 命令可察看。

汇编语言程序设计实验DEBUG基本命令的使用

汇编语言程序设计实验DEBUG基本命令的使用
JMP RESTORE
ERROR:
MOV AH,9
LEA DX,WARN
INT 21H
JMP RESTINT 21H
CODES ENDS
END START
调试分析
运行截图
教师评阅:
年月日
评分
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
RESTORE:
MOV AH,9
LEA DX,HINT
INT 21H
MOV AH,10
LEA DX,STRING
INT 21H
MOV BL,STRING+1
MOV BH,0
LEA SI,STRING+2
MOV BYTE PTR [SI+BX],'$'
MOV CX,BX
MOV BL,2
CHECK:
CMP STRING[BX],'A'
JL ERROR
CMP STRING[BX],'Z'
JG ERROR
ADD BL,1
LOOP CHECK
MOV BL,STRING+1
MOV BH,0
MOV CX,BX
MOV BL,2
《微机原理与汇编语言程序设计》实验(上机)报告
班级·学号姓名实验日期任课教师
实验名称
实验一DEBUG基本命令的使用
验证型
实验目的及要求:
1. 掌握DEBUG的基本命令及功能;
实验内容:
1.编写一个小程序,从键盘接收一个大写字母,存放到指定内存单元BUF1,并转换成为对应的小写字符,存放到内存单元BUF2。上机编辑、汇编、连接并运行。

汇编实验二DEBUG调试实验

汇编实验二DEBUG调试实验

实验二应用DEBUG软件调试程序实验一、实验原理:Debug是DOS、Windows都提供的实模式程序的调试工具。

使用它可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。

常用的DEBUG命令使用练习。

我们要用到的Debug功能如下:R命令查看、改变CPU寄存器的内容;D命令查看内存中的内容;E命令改写内存中的内容;U命令将内存中的机器码指令翻译成汇编指令;T命令执行一条机器指令,单步跟踪命令;A命令以汇编指令的格式在内存中写入一条机器指令;P命令,单步执行命令。

二、实验目的:通过DEBUG命令使用练习,掌握汇编的调试工具的使用,进而能够熟练使用调试命令对汇编程序的调试,修改程序运行中的错误,完善程序。

三、实验步骤:1.进入Dos环境,输入DEBUG后即可进入DEBUG。

2.练习使用r,d,,u,t,p,a,q等调试命令,查看各命令的功能和命令输入后的内存变化;四、实验任务:(一)使用Debug,将给出的程序段调入内存,逐条执行(1)用R命令查看CPU寄存器的内容,实验结果如下:用R命令改变CPU寄存器的内容,实验结果如下:(2)命令格式:d ds:100G命令执行前(kk00在内存中的地址:逻辑地址是13B3和物理地址是0100)G命令全数运行后实验结果如下u命令执行(二)利用Debug的E命令更改内存中的数据内容,将“kkkk”改为1vRT(三)利用Debug的A命令将如下程序段实现汇编指令的写入,并执行,用R命令进行查看寄存器值MOV DX,2233HMOV AH,10MOV CX,0FHMOV SI,11HMOV AL,12HAND AL,0FHMOV AH,0(四)查看内存中的内容PC机主板上的ROM中写有一个生产日期,在内存FFF000H~FFFFFH中的某个单元中,找出该生产日期,并尝试改变。

五、实验小结:(本次实验的心得体会,遇到的问题,解决方法以及掌握了什么、自己的感想之类的)。

汇编实验

汇编实验

实验一DEBUG 命令的使用【实验目的】1.学习使用DEBUG程序的各种命令。

2.掌握用DEBUG调试自编程序的方法,为以后实验打下基础。

【实验内容】1、请自学并完成如下内容:(1)DEBUG的使用方法(1)(2)DEBUG的使用方法(2)2、用DEBUG调试、运行可执行程序。

1)进入DEBUG后,首先用命令R查看当前DS和IP寄存器内容,记录此值。

2)学习R,D,A,U,T,P,G命令的使用。

3)用命令A汇编下列指令,并判断指令正误并说明原因。

(1)LEA DI,[AX](2)MOV DS,2010(3)PUSH AL(4)MOV [BX],03.用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。

2000【预习要求】1、仔细阅读试验指导的“前言”、“试验环境与上机步骤”;2、自学“DEBUG使用简介”、“经典DEBUG”;2、计算下列表达式,并思考如何运行程序验证它们45H +70H =_____ ,OF =_____ ,CF =_____ ;F6H +2AH =_____ ,OF =_____ ,CF =_____ 。

【报告要求】1、每个实验内容的实验调式结果、试验分析以及试验问题回答,需有必要的屏幕截图。

2、回答思考题。

3、提交电子版试验报告。

4、雷同的实验报告将不分青红全部被判为0分。

【实验提示】1)DEBUG的进入⑴如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ↙,即可进入DEBUG环境,显示提示符“-”。

⑵如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名↙,即可进入DEBUG环境,显示提示符“-”。

2)程序的汇编与反汇编⑴源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符“-”下,键入汇编命令A ↙,并在显示“段寄存器地址:偏移地址”后面键入你自己编写的程序,每键入一条,按一次回车键。

实验一Debug命令的使用

实验一Debug命令的使用

实验一Debug命令的使用实验一Debug命令的使用一、实验说明1、 DEBUG简介DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。

在汇编语言程序调试中很常用。

DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。

DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。

DEBUG命令的使用注意问题:(1)字母不分大小写(2)只使用十六进制数,但没有带后缀字母“H”(3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。

(4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。

2、 Debug的调入和退出以Windows环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态,如:C:\Documents and Settings\mjy>然后输入命令:>Debug进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。

退出Debug的命令:Q3、 Debug常用命令(1)汇编命令A,格式为:- A [地址]功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。

若不指定地址,则系统从默认的地址开始存放。

按回车键退出汇编状态应用:用于调试一条指令或几条指令组成的一个程序段。

(2)显示和修改寄存器命令R,格式为:- R [寄存器名]功能:若指定寄存器,则显示指定的寄存器的内容,并可进行修改;若不要修改,则按Enter 健。

若未指定寄存器,则默认为显示所有寄存器的内容。

应用:常用于通过寄存器的值查看指令的执行结果。

(3)内存单元内容的命令E,格式为:- E 地址[内容表]功能:若指定内容表,则用内容表中的内容代替指定地址开始的存储单元的值;否则,从指定地址开始逐个单元显示其内容,并等待用户修改,按空格键则继续显示下一单元的值,按回车键结束。

汇编语言第1次实验报告:DEBUG命令及汇编编程工具的使用

汇编语言第1次实验报告:DEBUG命令及汇编编程工具的使用
2获取计算机只认识机器语言的直观感受;
3熟悉汇编语言编程工具的使用。
实验环境
1X86系列桌面系统;
2UltraEdit-32、TASM、TLINK、TD。
实验内容
1用r命令观察寄存器及各标志位:
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
四川大学计算机学院、软件学院
实验报告
学生姓名
夏超
学号
1143041054
班级
113040115
学生专业
计算机科学与技术
学院
计算机学院
课程名称
汇编语言程序设计(第1次实验)
实验时间
2012年10月9日
实验项目
DEBUG常用命令实践及编程初步
报告撰写时间
2012年10月9日
实验目的
1学习DEBUG常用命令,掌握观察寄存器和内存单元的方法;
DS=13AE ES=13AE SS=13AE CS=13AE IP=0100 NV UP EI PL NZ NA PO NC
用d命令观察内存
观察200h单元的内容15h及所在段的段基址13AEh;
计算该单元的物理地址:13CEh;
用不同的段基址和偏移量观察上述物理地址的内容:
13CE:00;
13BE:100;
>anyshow;
4用集成编程工具编译、连接和执行AnyShow.asm。
小结
这次实验课让我认识到计算机的一些很基础的知识,加深了对编译语言和编译原理的理解,也了解到了一些基本的编译语言的基本指令,提升了对编译语言的兴趣,对编译语言的实际用途有了更深的了解。

实验一汇编语言上机及Debug调试

实验一汇编语言上机及Debug调试

实验一汇编语言程序上机过程以及调试(1)一、预习内容1.工具软件MASM、LINK的使用2.常用DEBUG命令的使用: G,D,R,T,U,Q3.完整程序设计方法的格式。

二、目的要求1.掌握常用工具软件MASM、LINK的使用2.掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序3.掌握完整程序设计方法的格式,能正确书写数据段,代码段等。

三、实验内容比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。

DSEG SEGMENTstring1 db 'Move the cursor backward.'string2 db 'Move the cursor backward.'mess1 db 'Match.',13,10,'$'mess2 db 'No match.',13,10,'$'DSEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEG, es:DSEG,MAIN PROC FARstart: mov ax, dsegmov ds, axmov es, axlea si ,string1①cld②repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp: mov ah,09hint 21hmov ax, 4c00hint 21hMAIN ENDPCSEG ENDSend start实验步骤:1)用文字编辑工具(记事本或EDIT)将源程序输入完整后保存在d:\masm下,注意保存时将文件扩展名改为.asm(如test1.asm)。

2)屏幕左下角”开始”–“运行”输入cmd ,进入dos命令操作,先用d: 和cd mas m 命令改变路经,接着用”masm + 文件名” (如masm test1,这里文件名可以不带扩展名)对源文件进行汇编,产生.obj文件和.LST文件。

debug指令实验报告

debug指令实验报告

成绩评定教师签名嘉应学院计算机学院实验报告课程名称:汇编语言程序设计开课学期:2017-2018学年第1学期班级:指导老师:实验题目:Debug常用命令及80x86指令的使用学号:姓名:一、实验目的:通过实验掌握下列知识:1、DEBUG常用命令: A,U,D,E,R,T,G,Q。

2、80x86寄存器: AX/EAX,BX/EBX,CX/ECX,DX/EDX,FLAG,IP/EIP3、80x86常用指令: MOV/MOVSX/MOVZX,ADD/ADC,SUB/SBB,DAA 等。

二.实验内容1、DEBUG 命令使用2、808x86常用指令练习三、实验过程描述(一)、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。

2、用命令 E 18E4:100 'A' 将'A'的ASCII码填入内存。

3、用命令 D 18E4:100 观察内存中的16进制码及屏幕右边的ASCII字符。

4、用命令 E 18E4:100 41 重复上二项实验,观察结果并比较。

5、用命令 E 18E4:100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。

7、用R命令将AX,BX内容改写为1050H及23A8H。

(二)、808x86常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。

3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。

汇编实验一DEBUG

汇编实验一DEBUG

汇编语言程序设计Ⅰ—实验报告实验一 DEBUG的使用班级:姓名:学号:日期:实验题目一、实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。

2、掌握8086/8088的寻址方式及多字节数据的处理方法。

二、实验设备硬件环境:IBM-P及其兼容机软件环境:操作系统DOS3.0版本以上调试程序三、实验内容和要求实验内容:1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。

2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。

实验要求:本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。

四、实验步骤1、启动DOS操作系统2、运行程序(若当前盘为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],AX186E:0112 891E0A02 MOV [020A],BX186E:0116–注意:检查源程序是否有错误,若有则返回到第3 步用“A 地址”命令进行修改,直到程序无错误。

汇编语言实验报告(DEBUG命令)

汇编语言实验报告(DEBUG命令)

西安财经学院信息学院《汇编语言程序设计》 实验报告实验名 DEBUG 命令,指令练习 实验 403 实验日期 2013.4.16 一、实验目的及要求熟悉和掌握汇编语言的数据传送类指令、算术指令、逻辑指令、串处理指令、控制转移指令以及处理机控制与杂项操作指令,达到准确有效地运用。

二、实验环境硬件环境:一台微型计算机;软件环境:windows 7,debug 环境,masm 三、实验内容练习dos 环境下debug 命令;指令练习 四、实验过程: 1. 进入debug 环境姓名学号 10051704 班级 计本1004班 指导教师 张娟2.R命令查看寄存器内容的命令。

可以看出,数据寄存器的内容都为0,CS代码段寄存器内容为13BB,IP为0100。

3.RF命令查看标志位寄存器内容并可以进行修改,其中不包含TF,陷阱标志位。

4.D命令查看内存单元内容,此处从内存的13BB段的第0100个单元开始显示。

5.A命令写指令,此处未写。

6.U命令将内存单元的内容以汇编指令的形式表示出来。

7.E命令修改内存单元的内容命令。

这里修改1000的内容为12,并用D命令显示修改后的结果,为12。

8.数据传送类指令(1)MOV指令将1234赋值给累加器AX:指令写在0100开始的内存单元,占用3个字节,IP指向下一条指令的地址0103。

(2)POP指令将累加器AX中的值弹出AX中的值弹出,变为0000,SP堆栈指针由原来的FFEE自动加2后变为FFF0,IP指向下一条指令的内存单元0104。

9.算数指令(以下内容在实验室操作,地址与之前做的有差别)10.算数指令(1)加法指令ADD给累加器AX 的值加上1234h在0100地址写加法指令,执行单步操作,查看到AX的值由0000h变为1234h,IP 指向下一条指令的地址0103h。

(2)减法指令SUB将累加器AX 的值减去0200h,将结果保存到AX中执行单步操作,查看AX的值为1034h,IP指向下一条指令地址0106。

DEBUG实验报告

DEBUG实验报告

DEBUG实验报告篇一:汇编debug实验报告一、实验目的、学习查看CPU和内存命令II。

实验设备与环境主流pcwin7_x64dosboxstatuswindowdebug.exe三、实验内容和步骤(截图和必要的图表文字说明)(1)使用debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,cpu中相关寄存器中内容的变化。

机器代码组装说明b8204emovax、4e20h051614addax、1416hbb0020movbx、2000h01d8addax、bx89c3movbx、ax01d8addax、bxb81a0movax、001ahbb2600movbx、0026h00d8addal、bl00dcaddah、bl00c7addbh、alb400movah、000d8addal、bl049caddal、9ch-1--命令:功能:结果:movax,4e20addax,1416movbx,2000addax,bx将4e20h存入ax,将ax+1416h存入ax,a将2000h存如bx,将ax+bx的值存入ax,ax=4e20hx=6236hbx=2000hax=8236h-3-movbx,ax将ax的值存入bx,bx=8236haddax,bx将ax+bx的值存入ax,ax溢出,ax=046chmovax,001a将001ah存入ax,ax=001ahmovbx,0026将0026h存入bx,bx=0026haddal,bl将al+bl的值存入al,ah=00h,al=40h,ax=0040haddah,bl将ah+bl的值存入ah,ah=26h,al=40h,ax=2640haddbh,al将bh+al的值存入bh,bh=40h,bl=26h,bx=4026hmovah,0将0000h存入ah,ah=00h,al=40h,ax=0040h,addal,bl将al+bl的值存入al,ah=00h,al=66h,ax=0066haddal,9ch将al+9ch的值存入al,ah=00h,al=02h,ax=0002h,(2)将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。

汇编语言实验报告1

汇编语言实验报告1

汇编语言实验报告1贵州大学实验报告纸系别班级姓名学号课程名称微机原理与汇编语言设计成绩评定教师签名:实验时间2012年 12 月 23 日教师:马光喜实验一DEBUG程序的使用一、实验目的1.学习使用DEBUG程序的各种命令。

2.利用DEBUG学习3.了解计算机取指令、执行指令的工作过程。

4.掌握用DEBUG调试自编程序的方法。

二、实验内容DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。

1、DEBUG程序的启动DEBUG的命令格式:[drive:][path] DEBUG [d:][p][filename][.ext][param...]例如:在DOS提示符下,可键入命令:C>debugDEBUG所完成的初始化动作,假定文件名没有,启动DEBUG:段寄存器CS、DS、ES和SS置为DEBUG程序后的第一个段。

如果在DOS提示符下,可键入命令,包含文件名:C>debug name.exe段寄存器DS和ES指向PSP。

寄存器BX和CX含有程序长度。

2、DEBUG的主要命令(1)汇编命令A,格式为:-A[地址]该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。

贵州大学实验报告附 1 页(2)反汇编命令U,有两种格式:1)-U[地址]该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。

2)-U范围该命令对指定范围的内存单元进行反汇编。

(3)运行命令G,格式为:-G [=地址1][地址2[地址3。

]]其中地址1规定了运行起始地址,后面的若干地址均为断点地址。

(4)追踪命令T,有两种格式:1)逐条指令追踪:-T[=地址]该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。

2)多条指令追踪:-T[=地址][值]该命令从指定地址起执行n条命令后停下来,n由[值]确定。

汇编语言程序设计debug调试命令

汇编语言程序设计debug调试命令
内容。 (8) Q(退出): 退出DEBUG,该操作不保护文件。 -Q
标志位:
“1”
“0”
OF:溢出标志 —— OV溢出, NV没溢出
DF:方向标志 —— DN减量, UP增量
IF:中断允许标志 —— EI允许, DI禁止
SF:符号标志 —— NG负数, PL正数
ZF:“0”标志
—— ZR为“0”, NZ不为“0”
下次课预习内容:顺序结构程序设计
要求:1、实验指导书及实验报告上的预习内容 2、预习验收时要提供设计的源程序磁盘或笔写程序
-E CS:211 21 2A
;从CS:211H开始输入2个字节的内容
-E 110 ‘anything’
;输入从DS:110H开始的字符串
⑹ D(显示存储器的内容):
默认寄存器是DS,格式是:
-D段地址:偏移地址
;显示80H个字节的内容。
-D
显示从上一次结束处开始的80H个字节 的内容。
⑺ R(显示修改寄存器内容) -R ;显示所有寄存器内容。 -RDS ;显示并可修改DS的内容。 -RF ;显示并可修改标志寄存器
实验数据记录注意事项:
1、实验报告第三页:表格中标志位与计算机 自动给出的不是一一对应的,要求记录1/0
2、实验报告第四、五页:列出调试运行后的程序清单
因为行汇编不识别标号,所以:用行汇编运行的程
序中没有行号,转移指令处是绝对地址。
验收内容:
1、用T命令执行完程序最后一条指令处的界面:
-T =段地址:0
-G=段地址:偏移地址
-G
;从程序当前位置执行到
程序结束
-G =200 260
;从指定200H地址开始执行, 遇到断点

汇编语言实验debug

汇编语言实验debug

练习
(10)向内存从B8100H开始的单元中填写数据,如: -e b810:0000 01 02 03 04 05 05 06 注意:先填写不同的数据,观察产生的现象;再改变填写的的地址, 观察产生的现象。 (11)用汇编命令A输入如下指令: MOV AX,1 MOV BX,2 MOV CX,3 ADD AX,BX ADD AX,CX ADD AX,AX 用T跟踪观察寄存器内容的变化。 (12)上机练习课本P159第8题,并写出每个程序段执行后AL的内容及状态 标志位的值(提示:用A、R命令)
u范围从上一个u命令所显示地址后的第一个地址开始反汇编显示20h个字节内容起始地址从起始地址处开始显示20h个字节内容起始地址结束地址反汇编显示从起始地址到结束地址的内容例如
调试工具DEBUG的使用
一、上机目的 (1)学习如何在Windows的命令模式下启动 DEBUG。 (2)掌握DEBUG的常用基本命令。 (3)学习如何使用DEBUG查看CPU和内存以及 进行跟踪调试。
(1)-t 执行CS:IP指向的一条指令并显示各寄存器状态 (2)-t <指令条数> -t 3 执行CS:IP开始的连续的3条指令并显示各寄存器状态 (3)-t <=起始地址> <指令条数> -t =052A 5 该指令会连续执行从052A开始的5条指令
练习
(1)用R命令修改IP的值,并查看此时CS:IP的指向,存放 的机器码以及对用的汇编指令; (2)用R命令修改CS的值,并查看此时CS:IP的指向,存放 的机器码以及对用的汇编指令; (3)使用D命令,查看内存10000H处的内容; (4)使用D命令,查看1000:0~1000:8中的内容,并修改 这9个字节的内容为1、2、3、4、5、6、7、8、9 (5)采用三种不同的段地址和偏移地址查看同一物理地址

汇编实验报告

汇编实验报告

《汇编程序设计》实验报告班级网络工程3班姓名院系计算机科学学院学号指导教师郭荣佐计算机科学学院目录实验一Debug命令的使用一,实验目的及要求1,汇编语言调试环境Debug的使用,重点掌握常用命令(A R D E T)的使用,其他指令在以后的学习中逐步掌握。

2,利用Debug命令,调试采用不同寻址方式的指令的执行结果,从实践中加深对寻址方式和MOV指令的理解。

二,实验内容1,Debug程序的调入和退出2,Debug常用调试命令的使用3,MOV.XCHG.XLAT指令的调试三,实验步骤(一)、DOS常用命令练习:1.查看目录下所有的文件:2.键入 CD进入上级目录,再查看的结果:3.用COPY复制一个文件:4.用RENAME重命名一个文件:4.用DEL删除一个文件:(二)、DEBUG练习1,输入代码2,分步执行代码3,显示内存4,修改0100处的指令5,修改2000单元的值四,扩展题1,MOV指令的调试2,XCHG指令的调试3,XLAT指令的调试五、18条指令1。

.2.比较命令3.显示命令D:4.修改命令E:5‘填充内存指令F:6执行命令G:7.十六进制算求算运算指令H:8.断口输入命令I:9.读盘命令L:10.内存搬家命令M:11.命名待读/写文件命令N:12.段口输出命令O:13.结束debug返回DOS命令Q14.显示修改寄存器命令R15.搜索指定寄存器内容命令S16.执行并显示系统环境命令T 17.反汇编命令U18.写盘命令W实验二、基本汇编指令的使用一、实验目的及要求1.继续熟悉汇编语言调试环境Debug的使用,掌握常用调试命令。

2.用基本指令编写的程序段,并在Debug环境中调试,从实践中加深对基本汇编语言指令的执行过程的理解。

3.实验前要做好充分准备,包括汇编程序段清单、调试步骤、调试方法,以及对程序结果的分析等二、实验内容1单步调试一下程序段,给出每条指令执行后AL的值,以及CF、ZF、SF、OF 的状态。

实验一 DEBUG命令实验

实验一  DEBUG命令实验

实验一DEBUG命令实验一、实验目的1、熟悉常用debug命令的使用方法和功能,为今后调试程序做准备。

2、熟悉8086内部寄存器的作用和8086的内存组织结构。

二、实验内容:1.进入文件:操作:开始----运行------cm d↙-----debug↙屏幕显示debug提示符“-“在该提示符下可以输入各种debug命令。

在debug状态下默认十六进制。

2.查看内存单元内容命令:D格式:—D地址↙—D地址范围↙(即首地址末地址)例如:—D 1000:2000↙显示128个字节内容—D 2000↙显示128个字节内容2000是偏移地址—D 200 300↙显示100个字节内容200,300是偏移地址3.修改内存单元命令:E格式:—E 地址↙A: 逐个修改内存单元内容,按空格键下移,回车键结束。

—E 地址内容清单↙例如:—E DS:100↙(:1234_2345↙然后查看下)—D DS:100↙B: 用清单中的内容替换指定地址开始的内存单元内容。

例如:—E 200 “abcdef”↙(然后用D命令查看下)4.填充内存单元内容命令:F格式:—F 地址范围内容清单↙—F 起始地址L 字节个数清单↙用清单中的值填写指定范围内的存储单元。

字节个数应为十六进制数。

例如:—F 18E4:0100 0105“123456”↙—F 200 L 10 “A”↙5.显示和修改寄存器内容命令:R格式:①—R↙显示cpu内部所有寄存器内容和标志位状态。

②—R寄存器名↙显示和修改某个指定寄存器内容。

例如:—R AX↙③—RF↙显示和修改标志位状态。

6.内存比较命令:C格式: —C 源数据块首地址L 长度目的数据块首地址↙功能:比较两个数据块的内容。

例如:—C 100 L 20 200↙若两个数据块的内容相同,则不显示任何信息,若不同,则显示出不同字节单元的内容及其地址。

7.十六进制运算命令:H格式:—H 数据1 数据2↙功能:计算两个十六进制数的和,差。

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

西安财经学院信息学院
《汇编语言程序设计》 实验报告
实验名 DEBUG 命令,指令练习 实验 403 实验日期 2013.4.16 一、实验目的及要求
熟悉和掌握汇编语言的数据传送类指令、算术指令、逻辑指令、串处理指令、控制转移指令以及处理机控制与杂项操作指令,达到准确有效地运用。

二、实验环境
硬件环境:一台微型计算机;
软件环境:windows 7,debug 环境,masm 三、实验内容
练习dos 环境下debug 命令;指令练习 四、实验过程: 1. 进入debug 环境
姓名
学号 10051704 班级 计本1004班 指导教师 张娟
2.R命令
查看寄存器内容的命令。

可以看出,数据寄存器的内容都为0,CS代码段寄存器内容为13BB,IP为
0100。

3.RF命令
查看标志位寄存器内容并可以进行修改,其中不包含TF,陷阱标志位。

4.D命令
查看内存单元内容,此处从内存的13BB段的第0100个单元开始显示。

5.A命令
写指令,此处未写。

6.U命令
将内存单元的内容以汇编指令的形式表示出来。

7.E命令
修改内存单元的内容命令。

这里修改1000的内容为12,并用D命令显示修改后的结果,为12。

8.数据传送类指令
(1)MOV指令
将1234赋值给累加器AX:
指令写在0100开始的内存单元,占用3个字节,IP指向下一条指令的地址0103。

(2)POP指令
将累加器AX中的值弹出
AX中的值弹出,变为0000,SP堆栈指针由原来的FFEE自动加2后变为FFF0,
IP指向下一条指令的内存单元0104。

9.算数指令(以下内容在实验室操作,地址与之前做的有差别)
10.算数指令
(1)加法指令ADD
给累加器AX 的值加上1234h
在0100地址写加法指令,执行单步操作,查看到AX的值由0000h变为1234h,IP 指向下一条指令的地址0103h。

(2)减法指令SUB
将累加器AX 的值减去0200h,将结果保存到AX中
执行单步操作,查看AX的值为1034h,IP指向下一条指令地址0106。

(3)乘法指令MUL
将9BH赋值给AL ,26H赋值给BL,再将AL与BL的值相乘赋值给AL
原来的AX=1034h,BL=00H,赋值后,AX=109BH,BL=26H,单步执行有符号乘法后,AX=F102,IP指向下一条指令地址010C,OF由NV变为OV,证明有溢出,进位标志CF由NC变为CY,证明最高有效位有进位。

(4)除法指令DIV
给AX赋值7D90H,给BX赋值1000H,用AX除以BX,将结果保存到AX中:
执行前两步单步操作后,AX=7d90h,BX=1000h,执行单步除法操作后AX=0007H,未发生溢出,所以OF还是原来的NV。

MOV指令占3个字节,除法指令DIV占用2个字节,所以IP指向下一条指令0108。

(5)十进制调整指令DAA
给AX、BX分别赋值0079H和0089H,将它们的值进行相加操作ADD,机器将默认它们进行十六进制加法,所以结果为0102H,但本次我们进行的是BCD码的加法,所以进行DAA十进制调整指令,正确结果应为0108H。

11.逻辑指令
(1)异或指令XOR
在原来的基础上将AX的第7的二进制值变反,其他位不变
AX的值原来为0108H,第7位变反,因为数值与1异或相反,与0异或不变,则用AX的值与0008H异或,得到正确的值。

12.串处理指令
(1)字符串传送指令MOVSB
五、实验体会
通过本次的实验,我不仅练习了和掌握了debug的各种命令,还对数据传送类指令、算术指令、逻辑指令、串处理指令有了一定的掌握,在实验过程中遇到过一些错误,通过请教同学和查书都能解决,所以,同时也培养了我解决问题的能力。

相关文档
最新文档