实验一 调试程序DEBUG的使用方法
实验一 熟悉使用调试工具软件DEBUG
实验一熟悉使用调试工具软件DEBUG实验一熟悉使用调试工具软件debug实验一熟悉调试工具软件调试编写汇编语言时,如果源程序中存在语法或格式上的错误,在汇编和链接过程中都可以被发现并得以纠正。
但是如果在源程序中存在逻辑错误时,就只能通过调试来纠正了。
常用的调试工作软件是debug。
debug提供了修改寄存器和内存单元内容的命令,可以方便地修改寄存器及内存单元的内容,为调试和修改程序带来的方便。
1.调试启动在windows环境下,点击开始栏里的运行窗,输入debug。
2、debug的主要命令这里只介绍几个常用的调试命令。
有关其他命令,请参阅相关文献。
1)r命令R命令用于查看和修改寄存器的值。
在提示符“-”下输入命令r,debug将会显示出当前所有寄存器和标志位的状态。
在r后输入相关寄存器名称,以修改相关寄存器值。
2) D命令d命令作用:显示内存区域的内容。
在提示“-”时执行命令d,以观察当前存储单元的内容。
用命令d显示内存区域的内容时,最左边是内存的起始地址,中间以十六进制的形式显示内存值,最右边是以ascii码的形式显示内存值。
每行最多显示16个字节的内容。
命令D可以接受或忽略参数。
当调试启动时,将DS的值设置为X。
当省略该参数时,命令d的显示内容从X:100开始,每次显示128字节。
将来在没有参数的情况下执行命令d时,debug将根据最后一个位置继续显示。
带参数时debug能够显示指定地址范围的内容。
带参数的方式有三种:方式一:d[起始位置]。
debug从起始位置开始显示128个字节的内容。
在提示符“-”下执行命令d1af5:100。
观看命令执行结果。
模式二:D[开始位置][结束位置]。
调试从开始位置开始,并一直显示到结束位置。
在提示“-”时执行DDS:1001ff命令。
观察命令执行结果。
方法3:D[起始位置][l长度],长度由l参数标记。
Debug显示从起始位置开始的指定长度的内容。
在提示“-”时执行DDS:100l10命令。
汇编实验报告(-)调试程序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 的使用
【实验环境】
PC, Dos系统下debug
【实验目的】
学习和掌握用DEBUG调试程序的方法.
【实验内容】
以微机原理p124页第19题为例,熟悉debug基本操作【完成情况】
1、打开debug界面
2、输入程序
3、开始调试程序,第一步AX变为2280h
程序进行至add cx,ax后,cx为2180H,进行至adc ax,08后,ax为000fH
程序进行至neg bx后,bx为0008H
程序进行至mul dl后,ax为0018H
程序运行至or ax,0ff00H后,ax为0ff18H
程序运行至idiv bx后,ax为0ffe3H
4、退出debug
【实验总结】
本次实验通过对第19题进行实验操作,以寄存器数值变化作为验证,因寄存器实验操作所得数据与对程序进行理论推导所得数据相同,由此完成了对debug工具操作的熟悉,达到了实验目的。
刚开始时由于对指令不熟悉造成了许多麻烦,还需要更进一步的熟悉基本指令。
此外,为了进一步的熟悉,我还做了ftp微机软件实验的第一个,熟悉的debug的使用。
一边对未来的汇编语言调试更加熟悉和得心应手。
实验一、DEBUG的使用方法
实验一、DEBUG的使用DEBUG是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
一、DEBUG程序的调用在Windows XP中启动DEBUG程序,可单击“开始”按钮,依次选择“所有程序”、“附件”、“命令提示符”,在DOS的提示符下,键入DEBUG并按回车键。
或者单击“开始”按钮,选择“运行”,在打开的“运行”对话框中输入“DEBUG”并按回车键。
在DEBUG程序调入后,将出现提示符-,此时就可用DEBUG命令来调试程序。
二、DEBUG的主要命令1、显示存储单元的命令D(DUMP),格式为:_D[address]或_D[range]例如,按指定范围显示存储单元内容的方法为:-d100 12018E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G... 18E4:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ..;..h..M PQVW.718E4:0120 8B其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,·表示不可显示的字符。
这里没有指定段地址,D命令自动显示DS段的内容。
如果只指定首地址,则显示从首地址开始的80个字节的内容。
如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。
2、修改存储单元内容的命令有两种。
·输入命令E,有两种格式如下:第一种格式可以用给定的内容表来替代指定范围的存储单元内容。
命令格式为:-E address [list]例如,-E DS:100 F3 'XYZ'8D其中F3,'X','Y','Z'和8D各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。
实验一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的使用及程序调试方法一.实验目的1、掌握常用DEBUG命令以及调试简单程序。
2、掌握常用汇编指令的功能及其书写格式。
3、掌握在DUBUG下进行简单程序设计并调试。
二.实验环境微型计算机一台DOS或WINDOWS操作系统,MASM开发套件。
三.实验原理DEBUG是专门为汇编语言设计的调试工具软件,它通过单步、设置断点等方式,为使用者提供了非常有效的调试手段。
在DEBUG 下所有输入的数据都是十六进制,所以不需要后面加H。
并且不区分大、小写字母。
1、直接启动DEBUG程序如在C盘的根目录下,启动的方法是:C:\>DEBUG_这时屏幕上会出现“_”提示符,等待键入DEBUG命令。
2、启动DEBUG程序的同时装入被调试文件命令格式如下:C:\>DEBUG [d:][PATH]filename[.EXT][d:][PATH]是被调试文件所在盘及其路径,filename是被调试文件的文件名,[.EXT]是被调试文件的扩展名。
3、DEBUG的主要命令(1)检查和修改寄存器内容的命令R,它有三种方式:1)显示CPU内部所有寄存器内容和标志位状态,格式为:-RR命令显示中标志位状态的含义如下表所示:标志名置位复位溢出Overflow(是/否)OV NV 方向Direction(减量/增量)DN UP 中断Interrupt(允许/屏蔽)EI DI 符号Sign(负/正)NG PL 零Zero(是/否)ZR NZ 辅助进位Auxiliary Carry(是/否)AC NA 奇偶Parity(偶/奇)PE PO 进位Carry(是/否)CY NC2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如输入:-R AX系统将响应如下:AX F1F4:表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,输入修改后内容,如:-R BXBX 0369:059F则BX内容由0369改为059F3)显示和修改标志位状态,命令格式为:-RF系统将给出响应,如OV DN EI NG ZR AC PE CY-这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。
实验一 利用 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的使用1.1 实验目的(1)学习如何在Windows的命令模式下启动DEBUG。
(2)掌握DEBUG的常用基本命令。
(3)学习如何使用DEBUG查看CPU和内存以及进行跟踪调试。
1.2 实验设备及软件环境装有DOS系统及MASM6.X的微机一台。
1.3 预备知识1 什么是DEBUG?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。
使用它,可以查看CPU各种寄存器的内容、内存的情况和在机器码级跟踪程序的运行。
2 常用的Debug命令及其含义3 启动DEBUG(1)打开Windows命令窗口选择“开始”→“运行”→输入“cmd”命令(2)启动DEBUG在命令窗口中启动DEBUG,将显示连接符“-”,这时可输入各种DEBUG命令。
(3)关于使用命令的几点说明:●在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行;●命令是单个字母,命令和参数的大小写可混合输入●可用F1、F2、F3、Ins、De l、→等编辑键来编辑本行命令●当命令出现语法错误时,将在出错位置显示“^Error”●在DEBUG中使用的数都是以十六进制来表示的1.4 实验内容1 R命令作用:查看、改变CPU寄存器的内容(1)显示所有寄存器之中的内容:输入R我们重点关注AX、BX、CX、DX、CS及IP寄存器的内容,其他寄存器SP、BP、SI、DI、ES、SS及标志寄存器先不予理会。
此外,并列出了CS:IP所指向的内存单元处所存放的机器码,并将它翻译为汇编指令。
(2)改变寄存器中的内容:输入R AX在提示符“:”后输入1111,即可将AX的值设置为1111。
在输入R命令,查看修改后的寄存器值。
练习:(1)用R命令修改IP的值,并查看此时CS:IP的指向,存放的机器码以及对用的汇编指令;(2)用R命令修改CS的值,并查看此时CS:IP的指向,存放的机器码以及对用的汇编指令;2 D命令作用:查看指定范围内的内存中的内容(1)直接输入D命令DEBUG将输出3部分内容,查看执行结果。
实验一熟悉使用调试工具软件DEBUG
实验一熟悉使用调试工具软件DEBUG引言调试是软件开发过程中不可或缺的一部分。
通过调试工具软件DEBUG,我们可以查找和修复程序中的错误、检查变量的值、跟踪代码的执行路径等等。
本实验旨在帮助学生熟悉DEBUG的基本功能和使用方法。
一、实验目标1.熟悉DEBUG软件的界面和基本功能;2.学会使用DEBUG软件进行程序的调试和跟踪;3.掌握DEBUG软件中的断点设置和单步执行等功能。
二、实验环境1. 操作系统:Windows 10;2.调试工具软件:DEBUG。
三、实验步骤[DEBUG软件界面截图](1)Registers窗口显示寄存器的内容,包括通用寄存器、段寄存器等;(2)Disassembly窗口显示汇编指令的内容;(3)Dump窗口显示内存中的内容;(1)r:显示寄存器的内容;(2)u:显示当前汇编指令的地址和指令;(3)d:显示内存中的内容。
通过执行这些指令,我们可以查看和了解程序的运行状态和内存存储的内容。
(1)g:运行程序;(2)t:执行一条指令,并显示执行结果;(3)p:执行一行汇编代码,并显示执行结果。
通过执行这些指令,我们可以跟踪程序的执行路径和变量的值。
6. 在Disassembly窗口中,双击一条汇编指令可以设置断点。
设置断点后,程序执行到断点处会自动停止。
在调试过程中,我们可以查看断点前后的变量值,检查程序是否按照预期执行。
(1)bp:查看断点列表;(2)bl:清除断点列表中的断点;(3)bd:删除一个断点。
通过执行这些指令,我们可以管理和控制断点,实现更精细的调试过程。
8. 在DEBUG软件界面中,点击工具栏上的“跟踪”按钮,可以选中“Trace over”、“Trace into”和“Animate”等选项。
这些选项分别表示在执行过程中是否显示详细过程、是否跳过函数调用、是否动画演示执行过程等。
通过选择不同的选项,我们可以根据需要自定义调试过程。
四、实验总结通过本次实验,我们了解了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 查看CPU和内存,用机器指令和汇编指令编程1. 预备知识:Debug的使用我们以后所有的实验中,都将用到Debug程序,首先学习一下它的主要用法。
(1)什么是Debug?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。
使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。
(2) 我们用到的Debug功能。
●用Debug的R命令查看、改变CPU寄存器的内容;●用Debug的D命令查看内存中的内容;●用Debug的E命令改写内存中的内容;●用Debug的U命令将内存中的机器指令翻译成汇编指令;●用Debug的T命令执行一条机器指令;●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。
Debug的命令比较多,共有20多个,但这6个命令是和汇编学习密切相关的。
(3) 进入Debug。
Debug是在DOS方式下使用的程序。
我们在进入Debug前,应先进入到DOS方式。
用以下方式可以进入DOS。
①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。
②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。
下面说明在Windows中进入Debug的一种方法。
选择【开始】菜单中的【运行】命令,如图1所示,打开【运行】对话框,如图2所示,在文本框中输入“command”后,单击【确定】按钮。
图2 在文本框中输入“command”图1 选择【运行】命令进入DOS方式后,如果显示为窗口方式,可以按下Alt+Enter键将窗口变为全屏方式。
然后运行Debug程序,如图3所示。
图3 运行Debug程序(4)用R命令查看、改变CPU寄存器的内容。
我们已经知道了AX、BX、CX、DX、CS、IP这6个寄存器,现在看一下它们之中的内容,如图4所示。
其他寄存器如SP、BP、SI、DI、DS、ES、SS、标志寄存器等我们先不予理会。
实验一 DEBUG的使用
源程序:MOV AL,30H
MOV BL,26H
ADD AL,BL
PUSH AX
POP DX
MOV AH,02H
INT常用指令练习
1、传送指令
1)用A命令在内存100H处键入下列内容:
0AF4:0108 int 21
0AF4:010Amov dl,43
0AF4:010Cint 21
0AF4:010E int 20
0AF4:0110
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AF4 ES=0AF4 SS=0AF4 CS=0AF4 IP=0100 NV UP EI PL NZ NA PO NC
:0206 CD20 INT 20H ;结束
步骤:a.用E命令将目标代码写入内存CS:0200H~0207H
—E DS:200 B2,33,B4,02,CD,21,CD,20
b.用G命令从200H开始执行。
—G=CS:200
屏幕显示:
3
Program terminated normally.
—
c.用U命令反汇编
(2)用键盘,将AX,BX,CX,DX及DS,ES清0。
2.简单程序的执行:
(1)用E命令输入一段程序并执行,其源程序,目标代码及地址分配如下:
CS:0200 B233 MOV DL,33H ;将十六进制数‘33’存入DL中
:0202 B402 MOV AH,02H ;DOS2号功能调用
:0204 CD21 INT 21H ;屏幕显示DL内容
实验1debug的使用
实验1debug的使用实验一DEBUG的使用一、实验目的:1. 熟悉DEBUG的功能,掌握其常用命令格式并能熟练使用。
2. 使用DEBUG,观察PC机执行汇编指令的过程,掌握寄存器的名称与内存单元地址的形成。
二、实验要求:1. 遵守规章制度,爱护实验室设备。
2、熟悉Debug各个命令的用法。
3、熟悉寄存器的名称以及物理地址的形成。
4、写出实验报告。
三、实验内容:实验1、 DEBUG常用指令操作进入Debug环境,完成下列步骤。
1、用R命令查看寄存器的值,将AX的值修改为1,BX的值修改为100 (十进制)。
2、用D命令查看内存00200H开始的128个单元的内容。
用E 命令将内存00200H和00202H处的内容分别改为1、2 。
3、用E命令将”I am a student!!”写入内存00200H处。
用D 命令查看是否写入成功。
4、用A 命令向内存00210H处写入汇编指令MOV AX,1234MOV BX,0158ADD AX, BX5、使用U命令反汇编,并用T命令执行上述指令,查看执行后的结果,3条指令执行后AX的值为多少?6、直接在内存中将指令“MOV BX,0158”改为“ADD BX,0158”,其他指令不变。
然后用G命令执行这3条指令,查看AX的值为多少?实验2、理解逻辑地址与物理地址的关系使用Debug命令设置下列寄存器及存储器的内容(DS)=2000H, (BX)=0100H, (SI)=0002H,(20100)=12H, (20101)=34H, (20102)=56H, (20103)=78H,(21200)=2AH, (21201)=4CH, (21202)=B7H, (21203)=65H.,并用命令查看设置是否成功。
实验3、理解指令的执行过程将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方mov ax, 1add ax, axjmp 2000:003分析jmp指令的功能和执行过程。
Debug调试工具的使用
实验一 Debug 调试工具的使用专业班级学号姓名实验学时实验类型实验地点实验时间指导老师高虎实验成绩年月日1.1 实验目的1)掌握debug工具的启动和debug中的一些基本命令的使用;2)使用debug命令对内存、磁盘、或文件进行操作;3)能用debug工具对内存中、磁盘上和文件中的数据进行分析;1.2 实验仪器与环境PC机一台,配置:Intel Pentium4 CPU、256MB以上内存、DOS或Windows操作系统,debug调试工具。
1.3 实验内容与步骤启动debug 的方法:从【开始】菜单中进入到【运行】,在命令行中键入“cmd“,点击【确定】,在Dos 命令提示符后键入“debug”,然后回车,则进入到debug 的调试环境,用debug 打开某个文件进入调试环境的方法是,在debug 命令后键入这个文件的全路径和文件名。
显示寄存器命令:格式:r(检查和修改寄存器内的命令)使用方法:在debug 操作提示符后键入r,然后回车即可。
退出debug 环境的命令:格式:q使用方法:在debug 操作提示符后键入q,然后回车即可。
汇编命令:格式:A 地址,(从指定起始地址单元开始存放写入的汇编语言的指定语句)使用方法:在debug 的操作提示符后键入 a 和内存地址,然后回车即可,然后我们可以把一些汇编命令直接输入到相应的内存单元中。
比较命令:格式:c 范围地址使用方法:在debug 的操作提示符后键入 c 和内存范围及要比较的第二块内存单元的地址。
显示命令:格式:d 地址或 d 范围例如:我们先在c 盘的根目录下创建一个a.txt 文件,文件内容如下图1所示:则我们可以用debug 打开这个文件,命令序列如下:C:\>debug c:\a.txt.d ds:100 200得到的结果会如下图所示图 2 debug a.txt 文件1.4实验思考通过参考试验指导书,询问同学基本上完成了本次试验的相关要求,达到了试验的相关目的,掌握debug工具的启动和debug中的一些基本命令的使用;更加熟悉的使用debug命令对内存、磁盘、或文件进行操作以及能用debug工具对内存中、磁盘上和文件中的数据进行分析。
实验一 DEBUG调试程序的使用
实验一DEBUG调试程序的使用实验一、实验目的1.熟悉 DEBUG 调试程序中的常用命令。
2.学会在 DEBUG 下调试运行汇编语言源程序。
二、实验内容1.熟悉DEBUG常用命令的使用: A、U、D、E、R、G、T、L、W、Q常用命令。
2.在DEBUG下编写汇编语言程序,实现多字节(5个字节)十进制加法。
三、实验用设备仪器及材料硬件:计算机软件:DEBUG调试软件四.实验方法和步骤1.在开始菜单\命令提示符下,进入DOS环境。
2.在DOS目录下启动DEBUG。
3.熟悉DEBUG常用命令,详细记录每一步所用的命令及查看结果的方法和具体结果。
4.在DEBUG下编写程序,实现多字节十进制加法实验。
五.实验提示DEBUG常用命令A:编辑和汇编源程序。
格式:-A 地址U:反汇编验证源程序。
格式:-U 地址R:观察或修改寄存器的内容。
D:显示存储单元的内容。
格式:-D 地址E:修改存储单元的内容。
格式1:-E 地址格式2:-E 地址单元数据单元数据……G:设置断点运行源程序。
格式:-G=首地址末地址T:单步执行程序。
执行结束后显示 AX、BX、CS、IP 寄存器内容的变化,并显示下一条要执行的指令的地址和内容。
格式:-T=地址或者-T=地址值N:文件命名。
格式:-N *.comL:将某个文件或特定磁盘扇区的内容加载到内存。
格式:-L 地址W:将程序写到磁盘。
如果不指定 address,Debug 程序将从 CS:100 开始。
在写盘操作之前要用R命令修改bx,cx的内容(存放写的字节数)。
Q:退出本次实验的内容均在 DEBUG 下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。
实验一利用debug调试程序调试程序段
实用标准实验一利用DEBUG调试程序调试程序段1.实验目的(1)熟悉DEBUG有关命令的使用方法。
(2)利用DEBUG掌握有关指令的功能。
(3)利用DEBUG运行简单的程序段。
2.实验容、实验步骤(1)进入和退出DEBUG程序。
进入DEBUG程序,Windows中在命令提示符下进入DEBUG如图:退出DEBUG如图:(2)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U命令、N命令、W命令等,也应试一下。
?R命令:1)显示所有寄存器容:格式:-R↙功能:以十六进制形式显示CPU部各寄存器的值:以符号形式标志寄存器各标志位(除TF外)的值,并将CS:IP所指的存容反汇编成一条指令,可视为将要执行的指令。
从显示可知,CS=11A7H, IP=0000H.2)修改寄存器格式:-R 寄存器名↙功能:DEBUG首先显示指定寄存器的当前值,并在下一行首给出提示“:”,等待用户输入新值,若直接回车相当于不个忙寄存器的值。
由显示可知,用E命令修改,再查看可发现数据已经被改了。
3)修改标志值格式:-RF↙功能:先用符号显示当前各标志位的值,并在末尾给出提示符“-”,然后等待用户以符号形式输入新的标志值,对输入的次序没有要求,各标志值之间也可没有空格;若直接在“-”之后回车,则保留原标志值。
由显示可知,相应的标志值改变了。
?A命令格式:-A 存地址↙执行汇编命令A后,相应的指令对应的机器码将会依次存放在指定的存单元中,并提示下一地址。
?U命令格式:-U 存块↙由显示可知,反汇编命令U从指定的存地址开始对存块进行反汇编,并分三列显示反汇编的结果。
?N命令格式:-N【e】【PATH】文件名.扩展名↙?W命令L 命令格式:-W/L 存地址由显示可知,命令N为命令W和命令L指定文件,而命令W把指定存块的容写入命令N指定文件中,命令L则将其文件装入存地址中。
?T命令1)单步执行格式:-T=存地址↙由显示可知,T命令将存地址的段地址和偏移地址修改CS和IP,然后执行由CS:IP指向的存单元处的一条指令,显示各寄存器的值,并反编下一条指令,然后返回DEBUG状态。
实验一DEBUG程序调试实验
实验一 DEBUG程序的使用一﹑实验目的:1.学习使用DEBUG程序的各种命令,熟悉宏汇编编程环境。
2.掌握用DEBUG调试自编程序的方法,为以后实验打下基础。
3.通过实验掌握下列知识:①8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG②BCD码,ASCII码及用16进制数表示二进制码的方法。
③8088寄存器: AX,BX,CX,DX,标志寄存器F,IP。
二、微机原理上机步骤:1.进入系统C:\>CD MASM (回车)2.编辑汇编语言源程序C:\MASM>edit 文件名.asm(回车)3.汇编源程序:C:\MASM>masm 文件名.asm(回车)4.连接目标程序:C:\MASM>link 文件名.obj(回车)5.运行可执行程序:C:\MASM>文件名(回车)注意:红色字符为系统提示符。
若C盘没有MASM文件夹,则建立该文件夹。
6.重复以上2~5步,直至显示正确结果为止,记录下正确程序,做实验报告。
三﹑实验内容:1.掌握DEBUG程序的各种命令,重点是A,R,D,E,U,T,P,G,F,H命令的使用。
2.DEBUG 命令使用:①打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。
②用命令 F100 10F 'A' 将'A'的ASCII码填入内存。
③用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。
④用命令 F110 11F 41 重复上二项实验,观察结果并比较。
⑤用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?⑥用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH⑦用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
实验一调试程序DEBUG的使用实验报告
实验一调试程序D E B U G的使用实验报告标准化管理部编码-[99968T-6889628-J68568-1689N]南昌理工学院实验报告二O一二年月日课程名称:微机原理与接口技术实验名称:调试程序DEBUG的使用班级:姓名:同组人:指导教师评定:签名:【一、实验名称】调试程序DEBUG的使用【二、实验目的】1.掌握汇编程序的编辑,编译,连接和执行的全过程;2.学习和掌握用DEBUG调试程序的方法。
【三、实验内容和原理】1.用编辑软件,输入以下汇编语言源程序:DATSEGMENTADB20;(自定)BDB15;(自定)YDB3DUP(0)ZDB0,0DATENDS STASEGMENTSTACKDW50DUP(?) STAENDS CODSEGMENT ASSUMECS:COD,DS:DAT STARPROCFAR PUSHDSXORAX,AXPUSHAXMOVAX,DAT MOVDS,AXMOVAX,STA MOVSS,AXMOVAL,AMOVZ,AL MOVZ+1,AL CALLSUB1MOVAL,BMOVZ,ALMOVZ+1,AL CALLSUB1 MOVAL,AMOVZ,ALMOVAL,BMOVZ+1,AL CALLSUB1 ADDWORDPTRY,AX ADCBYTEPTR[Y+2],0 RETSTARENDPSUB1PROC MOVAL,Z MOVAH,Z+1MULAH ADDWORDPTRY,AX ADCBYTEPTR[Y+2],0 RETSUB1ENDP CODENDS ENDSTAR2.通过编译,连接形成可执行文件;3.用DEBUG将可执行文件调入,并进行调试;(1)用D命令观察数据区在内存中的具体内容,记录单元A和B的具体地址;(2)用U命令对目标代码反汇编,观察反汇编后的结果.注意发现源程序的起始位置,并记录这个起始地址;(3)用T命令作单步跟踪调试.比较每条指令执行后的结果和原来的理解是否一致.得出程序运行的结果:它们是写在什么单元,具体内容是什么,并判断结果是否正确;(4)在子程序SUB1的入口处设一断点,用G命令执行程序,在断点处观察堆栈的内容,比较堆栈的内容和程序返回地址是否一致;(5)用E命令修改单元A,B的内容,重新执行程序,并记录结果;(6)用M命令和A命令对程序进行修改:将主程序中最后两条指令(ADD和ADC)修改为一条CALLSUB1指令,重新执行程序;(7)退出DEBUG;4.重新使用编辑软件,把源程序最后一句中的STAR去掉.再次生成可执行文件,并用DEBUG调入内存.当使用U命令时,显示的结果与前一次(未加STAR)的结果有何不同?【四、实验条件】微型计算机一台,软件MASM【五、实验过程】根据实验内容,按步骤完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验内容:编制程序
实现从键盘输入有符号十进制数子程序
子程序从键盘输入一个有符号十进制数
负数用"-"引导
正数直接输入或者用"+"引导
在主程序中给出输入的数的个数为10
输入的数存储到以array开始的10个字空间中
要求完成程序编制及调试
并用DEBUG观察运行结果
实验报告内容
实验题目:
实验目的:
实验内容:
程序清单
实验四 键盘控制发音程序
实验目的:通过编程对PC机中的8253和8255进行控制
db 100 dup(0)
stack ends
code segment 'code'
assume cs:code,ds:data,ss:stack
start proc far
push dx
mov ax,0
push ax
2):用D命令观察程序运行之前DS:0000处开始前20字节的内容并作记录
3: 用G命令从程序开始处运行到程序结束前一条指令
再用D命令观察DS:0000处开始的前20字节的内容
并作记录
并据此说明程序对数据段中的数据进行了哪些操作
改变按键后
计算机扬声器将按照新的频率发声
连续按不同的键
将一直能改变发音频率
直到按回车键退出该程序
实验报告内容
实验题目:
实验目的:
实验内容:
问题回答:所编制的汇编语言程序是如何对8253和8255进行控制的?各选择了什么工作方式?
并用DEBUG调试
观察运行的结果
实验报告内容
实验题目:
实验目的:
实验内容:
Байду номын сангаас
程序清单(可另附页):
实验三 汇编语言程序设计方法(二)
实验目的:通过本实验室学生掌握和理解采用寄存器传递参数的子程序设计方法
mov ax,data
mov ds,ax
lea bx,array1
lea si,array2
mov cx,count
again:mov al,[bx]
add al,al
mov [si],al
inc si
附:Lab1 源程序
data segment
array1 db 00,11,22,33,44,55,66,77,88,99
array2 db 10 dup(0)
count equ 10
data ends
stack segment stack
值得拥有的资料
是来自平时学习积累总结的
有问题的地方肯定有的
还请大家批评指正!
实验一 调试程序DEBUG的使用方法
实验目的:通过对DEBUG调试程序的使用
熟悉用DEBUG调试汇编语言程序的方法
加深对汇编语言指令、机器码、寻址方式等基本内容的理解
4:程序运行后DS:1000开始处前20字节内容
5:该程序完成的功能是什么?
实验二 汇编语言程序设计及方法(一)
实验目的:通过对汇编语言程序的设计和调试
使学生掌握一般程序设计的方法进一步加深对汇编语言的理解
实验内容:编制汇编语言程序
为后续程序编制和调试打下基础
实验内容:
1:参考教材
熟悉DEBUG的使用方法
运行各种命令
观察运行后的况
2:用DEBUG调试程序调试汇编语言例子lab1.exe程序(程序见后面)
1):用U命令对lab1.exe文件进行反汇编
比较源程序lab1.asm和反汇编后的指令代码
inc bx
loop again
nop
nop
ret
start endp
code ends
end
实验报告内容
1:实验题目
2:实验内容
3:程序运行前DS:0000开始处前20字节内容
程序清单
微机原理实验指导书
光电子工程系教研室
2003年
实现把存储在array开始地址中的16个字数据中的第1
2
3
6
7
13个数做乘以2操作
把第4
5
8
9
10
11
12
14
15
16个数做乘以4的操作
把转换后的结果依次存放在以block开始的16个字存储单元中(提示:采用逻辑尺的方法实现)
程序编制完成后
用MASM5.0编译连接
来进一步加深对定时器/计数器的理解和掌握
同时学使用汇编语言对机器硬件的控制方法
实验内容:设计程序
实现发音控制程序
要求程序开始运行后
等待按键盘
键盘的1
2
3
4
5
6
7
8分别对应发声频率262Hz,294Hz,330Hz,349Hz,392Hz,440Hz,494Hz,523Hz