实验3.1调试工具Debug的使用及基本指令的用法
32位微机原理与接口技术实验报告
姓名王学杰专业计算机应用技术班级1362班
课程32位微机原理实验项目调试工具Debug的使用及基本指令用法
【实验目的】
①掌握Debug调试工具的的使用方法
②调试8086的各种指令用法
【实验设备】
PC机一台或者QTH-2008PC实验设备一套
【实验内容】
⑴ Debug的使用
①Debug的进入和退出
在DOS提示符下键入:DEBUG ↙(表示回车)Debug执行,屏幕显示提示符“-”,说明计算机当前处于DEBUG的管理之下,可接受、并执行DEBUG令。
② 修改CPU 内部的各寄存器 观察各寄存器的内容
显示并修改AX的内容
将AX的内容改为1234H
显示并修改标志寄存器的内容
将标志寄存器的OF置为OV:DF置为DN
③观察和修改内存单元的内容
④输入程序
⑤单步执行程序
⑥反汇编程序
⑦执行一段程序。
实验一 熟悉使用调试工具软件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调试工具的熟悉
实验1 DEBUG的使用及程序调试方法一、实验目的通过本实验使学生掌握调试工具DEBUG的使用方法、理解汇编指令、存储单元和寄存器等有关概念,能对简单的汇编语言程序进行调试。
二、实验原理DEBUG是DOS、WINDOWS都提供的实模式(8086方式)程序的调试工具,在DOS 方式下工作。
使用它可以读写、传送、查看CPU各种寄存器中的内容、显示内存单元的内容、设置程序起始执行地址或断点、机器码级跟踪程序的运行。
用DEBUG编程简单、方便和直观,可以直接查看程序的执行情况,便于熟悉和理解指令,掌握基本编程技巧。
DEBUG只使用十六进制表示数据(十六进制后面不加H),且对字母的大小写不敏感。
常用到的DEBUG功能:✧用DEBUG的R命令查看、改变CPU寄存器的内容✧用DEBUG的D命令查看内存中的内容✧用DEBUG的E命令修改内存中的内容✧用DEBUG的U命令将内存中的机器指令翻译成汇编指令✧用DEBUG的T命令执行一条机器指令✧用DEBUG的A命令以汇编指令的格式在内存中写入一条机器指令三、实验内容(1)学习调试工具DEBUG的使用方法,熟悉DEBUG常用命令的功能和用法。
(2)利用DEBUG调试简单的汇编语言程序,体会汇编指令的功能、寄存器的作用、存储单元地址与内容的概念和作用,以及程序的执行。
四、实验方法与步骤1.DEBUG的进入与退出DEBUG是在DOS方式下使用的程序。
在进入DEBUG前,应先以从WINDOWS 2000/XP中进入DOS方式(进入的是虚拟8086模式的DOS)。
方法:选择【开始】菜单中的【运行】命令,打开【运行】对话框,在文本框中输入“cmd”后,单击【确定】按钮或按下键盘上的【Enter】键。
在命令提示符后输入”debug”后按下键盘上的【Enter】键。
2. 显示寄存器命令 R功能:用于查看和改变CPU寄存器的内容格式:R [<寄存器>]说明:当R命令后面不指定寄存器时,显示所有寄存器的内容例1-1 显示所有寄存器的内容-rAX=0200 BX=0000 CX=0000 DX=0041 SP=FFEE BP=0000 SI=0000 DI=0000 DS=138A ES=138A SS=138A CS=138A IP=0100 NV UP EI PL NZ NA PO NC 138A:0100 B241 MOV DL,41例1-2 修改寄存器的内容-r axAX 0200100-rAX=0100 BX=0000 CX=0000 DX=0041 SP=FFEE BP=0000 SI=0000 DI=0000DS=138A ES=138A SS=138A CS=138A IP=0100 NV UP EI PL NZ NA PO NC 138A:0100 B241 MOV DL,41例1-3 用RF命令可以显示和修改标志寄存器FR中的标志位,无论修改哪一位标志位,只需要键入该标志位的表示符号(如表1.1所示),并且标志位值的键入顺序可任意。
汇编语言实验_Debug命令的使用
实验一Debug命令的使用一、知识点1、DEBUG简介DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。
在汇编语言程序调试中很常用。
DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。
DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。
DEBUG命令的使用注意问题:(1)字母不分大小写(2)只使用十六进制数,但没有带后缀字母“H”(3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。
(4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。
2、Debug的调入和退出以WIN2000环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态:C:\Documents and Settings\lfy>然后输入命令:>Debug进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。
退出Debug的命令:Q3、Debug常用命令(1)汇编命令A,格式为:- A [地址]功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。
若不指定地址,则系统从默认的地址开始存放。
按回车键退出汇编状态应用:用于调试一条指令或几条指令组成的一个程序段。
(2)显示和修改寄存器命令R,格式为:- R [寄存器名]功能:若指定寄存器,则显示指定的寄存器的内容,并可进行修改;若不要修改,则按Enter 健。
若未指定寄存器,则默认为显示所有寄存器的内容。
应用:常用于通过寄存器的值查看指令的执行结果。
(3)内存单元内容的命令E,格式为:- E 地址[内容表]功能:若指定内容表,则用内容表中的内容代替指定地址开始的存储单元的值;否则,从指定地址开始逐个单元显示其内容,并等待用户修改,按空格键则继续显示下一单元的值,按回车键结束。
DEBUG的使用及调试方法
DEBUG的使用及调试方法1、实验目的和要求:掌握DEBUG下的主要命令如:U、T、D、E、R、A、G、Q命令等。
掌握调试方法,理解CS:IP的作用,要求能在DEBUG下编写简单程序。
2. DEBUG的功能DEBUG是专门为汇编语言设计的调试工具,它通过单步、设置断点等方式,为使用者提供了非常有效的调试手段。
在DEBUG下所有输入的数据都是十六进制,所以不需要后面加H。
并且不区分大、小写字母。
3. DEBUG的调用在DOS下有两种方式调用DEBUG:(1)把执行(调试)文件装入存储器中,格式为:C>DEBUG 文件名.EXE(2)先调用DEBUG,然后用N、L命令把执行(调试)文件装入存储器。
格式为:C>DEBUG-N 文件名.EXE-L4. DEBUG的主要命令(1) U(反汇编):将机器指令进行反汇编,默认的寄存器是CS:IP,从指定地址开始反汇编32个字节,它的格式是:-U[ START-ADDR]-U[ START—ADDR END—ADDR]-U 100 ;汇编开始于CS:100-U 100 150 ;反汇编从100H 到150H的内容。
⑵T(跟踪):以单步方式执行程序。
-T ;执行一条指令。
-T 10 ;执行下面10H(16)条指令。
-T=3 2 ;从指定IP=0003开始,执行下面2条指令.(3)A (把符号指令汇编成机器码):-A 100 ;从指定地址100H开始汇编,结果写入内存。
-A ;不指定地址,则从上次A命令开始汇编。
在A命令下不能使用字段名,A命令只识别指令和DB、DW的伪指令。
⑷G (运行可执行程序):-G 200 ;从程序当前地址执行到200H结束-G ;从程序当前位置执行到程序结束-G =200 260 ;从指定(200H)或当前地址开始执行,遇到断点(260H)停止,显示寄存器和标志寄存器的内容。
⑸E(检查修改内存单元内容):默认寄存器是DS,格式是:-E[ ADDRESS] [表]-E 105 13 3A 21 ;从DS:105H开始输入3个字节的内容-E CS:211 21 2A ;从CS:211H开始输入2个字节的内容-E 110 ‘anything’;输入从DS:110H开始的字符串-E 12C ;检查修改DS:12C的内容该操作等待从键盘的输入一个或多个十六进制值的字节,字节之间用空格隔开。
汇编语言程序设计实验DEBUG基本命令的使用
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的使用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部分内容,查看执行结果。
实习一 调试工具的使用方法训练
实习一调试工具的使用方法训练1.实验目的掌握调试工具DEBUG的使用方法,理解汇编指令、存储单元和寄存器等有关概念,能够对简单的汇编语言程序进行调试。
2.实验内容(1)学习调试工具DEBUG的使用方法,熟悉DEBUG常用命令的功能和用法。
(2)利用DEBUG调试简单的汇编语言程序,体会汇编指令的功能、寄存器的作用、存储单元地址与内容的概念和作用、以及程序的执行过程。
3.实验要求(1)掌握DEBUG的常用命令和基本的程序调试方法(2)熟悉和掌握指令系统常用指令的功能和用法,能熟练运用DEBUG调试工具调试简单的程序,并初步掌握使用DOS系统功能调用的方法。
4.重点与难点存储器和寄存器的概念、各寄存器的用途、常用指令的功能和用法、用DEBUG调试程序的方法。
5.实验结果验收熟练运用DEBUG调试工具完成实习要求的程序设计和调试6.实验指导6.1 调试工具DEBUG简介DEBUG是DOS操作系统为汇编语言程序设计者和系统管理员提供的一个通用调试工具,利用DEBUG可以读写、传送、比较、查找和显示存储器单元内容,设置程序起始执行地址或断点,执行程序或分段执行程序,跟踪程序执行,显示处理器状态,汇编或反汇编程序等。
用DEBUG编程简单、方便和直观,可以直接查看程序执行情况,便于熟悉和理解指令,掌握基本编程技巧。
DEBUG只使用十六进制表示数据(十六进制数后不加“H”),屏幕的显示数据形式如下:1400:0100 24 65 6E 64 73 0D 0A 20-20 63 6F 64 65 20 20 24 *ends..code * 1400:0110 73 65 67 6D 65 6E 74 0D-0A 20 20 20 20 20 20 24 segment.. * 1400:0170 24 61 78 2c 30 0D 0A 09-20 20 20 20 70 75 73 68 *ax,0push屏幕每行显示内容分为三部分,一行共显示十六个字节单元的内容。
DEBUG的基本命令使用
实验一 DEBUG的基本命令使用实验名称:利用DEBUG验证寻址方式实验目的:掌握DEBUG的常用指令(R,D,E,A,U,T 指令)的使用方法,理解不同寻址方式的特点实验内容:在DEBUG中利用A命令输入以下汇编指令,并用U命令显示,利用T 命令单步跟踪指令的执行过程,利用R或者D命令观察相关寄存器或者内存单元内容的变化(相关过程和结果要体现在实验报告上)。
(1)立即寻址MOV AX,1MOV BL,02HMOV BH,34H-a13AE:0100 mov ax,113AE:0103 mov bl,0213AE:0105 mov bh,3413AE:0107-rAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0100 NV UP EI PL NZ NA PO NC13AE:0100 B80100 MOV AX,0001-tAX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0103 NV UP EI PL NZ NA PO NC13AE:0103 B302 MOV BL,02-tAX=0001 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0105 NV UP EI PL NZ NA PO NC13AE:0105 B734 MOV BH,34-tAX=0001 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0107 NV UP EI PL NZ NA PO NC13AE:0107 0000 ADD [BX+SI],AL DS:3402=00(2)寄存器寻址在验证完(1)后,执行mov ax,bx-a13AE:0107 mov ax,bx13AE:0109-tAX=3402 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0109 NV UP EI PL NZ NA PO NC13AE:0109 0000 ADD [BX+SI],AL DS:3402=00 -rAX=3402 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0109 NV UP EI PL NZ NA PO NC13AE:0109 0000 ADD [BX+SI],AL DS:3402=00(3)直接寻址用e命令向DS:1000处写入1234H,用D命令DS:1000处内容,然后执行mov AX,[1000H]-e 13a8:1000 34 12-d 13a8:1000 100113A8:1000 34 12 4.-a13AE:0109 mov ax,[1000]13AE:010C-tAX=0000 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=010C NV UP EI PL NZ NA PO NC13AE:010C 0000 ADD [BX+SI],AL DS:3402=00 -rAX=0000 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=010C NV UP EI PL NZ NA PO NC13AE:010C 0000 ADD [BX+SI],AL DS:3402=00(4)寄存器间接寻址用E命令向DS:1000处改写5678H,用D命令观察DS:1000处内容,然后执行-e13a8:1000 78 56-d 13a8:1000 100113A8:1000 78 56 xV-a13AE:010C mov si,100013AE:010F mov ax,[si]13AE:0111-tAX=0000 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=010F NV UP EI PL NZ NA PO NC13AE:010F 8B04 MOV AX,[SI] DS:1000=0000 -tAX=0000 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0111 NV UP EI PL NZ NA PO NC13AE:0111 0000 ADD [BX+SI],AL DS:4402=00 -rAX=0000 BX=3402 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0111 NV UP EI PL NZ NA PO NC13AE:0111 0000 ADD [BX+SI],AL DS:4402=00(5)变址寻址执行Mov BX,1000hMov AX,[BX+1]观察指令执行后AX,BX内容,以及[BX+1]内存单元处数据-a13AE:0111 mov bx,100013AE:0114 mov ax,[bx+1]13AE:0117-tAX=0000 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0114 NV UP EI PL NZ NA PO NC13AE:0114 8B4701 MOV AX,[BX+01] DS:1001=0000 -tAX=0000 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0117 NV UP EI PL NZ NA PO NC13AE:0117 0000 ADD [BX+SI],AL DS:2000=00 -rAX=0000 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=0117 NV UP EI PL NZ NA PO NC13AE:0117 0000 ADD [BX+SI],AL DS:2000=00 -d 1001 100213AE:1000 00 00 ..(6)变址加基址寻址用E命令向DS:1000~1004处写入0AB90H,03412H,然后执行Mov BX,1000hMov SI,1Mov AX,[BX+SI]Mov CX,[BX+SI+1]-e 1000 12-e 1001 34-e 1002 90-e 1003 ab-a13AE:0117 mov bx,100013AE:011A mov si,113AE:011D mov ax,[bx+si]13AE:011F mov cx,[bx+si+1]13AE:0122-tAX=0000 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1000 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=011A NV UP EI PL NZ NA PO NC13AE:011A BE0100 MOV SI,0001-tAX=0000 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0001 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=011D NV UP EI PL NZ NA PO NC13AE:011D 8B00 MOV AX,[BX+SI] DS:1001=9034 -tAX=9034 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0001 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=011F NV UP EI PL NZ NA PO NC13AE:011F 8B4801 MOV CX,[BX+SI+01] DS:1002=AB90 -rAX=9034 BX=1000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0001 DI=0000DS=13AE ES=13AE SS=13AE CS=13AE IP=011F NV UP EI PL NZ NA PO NC13AE:011F 8B4801 MOV CX,[BX+SI+01] DS:1002=AB90。
实验一 掌握DEBUG 的基本命令及其功能
实验一掌握DEBUG 基本命令及其功能实验作业截止日2015年3月14日(星期六)23:59:59 【上篇】查看CPU和内存,用机器指令和汇编指令编程一.实验目的:掌握DEBUG 的基本命令及其功能掌握win7 win8 使用DEBUG功能二.实验内容:1. 预备知识:Debug的使用(1) 什么是Debug?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。
使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。
(2) 我们用到的Debug功能●用Debug的R命令查看、改变CPU寄存器的内容;●用Debug的D命令查看内存中的内容;●用Debug的E命令改写内存中的内容;●用Debug的U命令将内存中的机器指令翻译成汇编指令;●用Debug的T命令执行一条机器指令;●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。
(3) 进入DebugDebug是在DOS方式下使用的程序。
我们在进入Debug前,应先进入到DOS方式。
用以下方式可以进入DOS:①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。
②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。
(4) 用R命令查看、改变CPU寄存器的内容1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名若要修改一个寄存器中的值,比如AX中的值,可用R命令后加寄存器名来进行,输入“r ax”后按Enter键,将出现“:”作为输入提示,在后面输入要写入的数据后按Enter键,即完成了对AX中内容的修改。
若想看一下修改的结果,可再用R命令查看(5) 用Debug的D命令查看内存中的内容1)格式:-d 段地址:偏移地址,Debug将列出从指定内存单元开始的128个内存单元的内容。
使用D命令,Debug将输出3部分内容,如图2.34所示。
