- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一DEBUG命令及其操作
实验一 DEBUG命令及其操作
一、实验目的
熟练掌握debug的常用命令,学会用debug命令汇编和调试程序。
深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。
掌握各种寻址方法以及简单指令的执行过程。
二、实验要求
实验前先预习附录1的内容,写出完成各实验内容的汇编程序清单。
本实验要求在PC机上进行。
本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序。
三、实验内容
实验内容1:学习用DEBUG调试工具进行源程序的输入、汇编、调试和执行。
打开计算机,将系统切换到MS-DOS方式下,键入DEBUG后回车,将出现debug的提示符“-”。
在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的内容:
-a100
1272:0100(表示此时代码段的段地址为1272,偏移地址为0100,不同的计算机所产生的段地址可能有所不同)
这表示在地址1272:0100处,DEBUG等待用户键入程序助记符,下面键入程序:
1272:0100 mov dl,1
1272:0102 mov ah,2
1272:0104 int 21
1272:0106 int 20
1272:0108
-
在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。
-g
?
Program terminated normally
用”d”命令查看内存单元当前段中0100H ~ 010fH的内容:
-d100,10f
1272:0100 B2 01 B4 02 CD 21 CD 20-00 00 00 00 00 00 00 00 .....!. ........
在0100H~0107H这8个单元内,为上述4条指令的机器码。例如B201为mov dl,1指令的机器码。右边的区域是组成程序的ASCII码等价字符,圆点表示不可显示字符。
下面用反汇编命令来查看一下所键入的程序。”U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。键入:
-u100,107
1272:0100 B201 MOV DL,01
1272:0102 B402 MOV AH,02
1272:0104 CD21 INT 21
1272:0106 CD20 INT 20
屏幕上不仅可看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。
现在修改存储单元0101H的内容,看看显示情况有何变化。
-e101
1272:0101 01.41
-g
A
Program terminated normally
执行程序后显示的结果发生了变化,这是因为DOS 的2号功能调用是在屏幕上显示dl中保存的ASCII码所对应的字符,这部分内容请参看教材101页。
将程序命名为,并存盘。在debug的n命令后紧接着输入文件名及扩展名:
-
-rbx
BX 0000
:
-rcx
CX 0000
:8
-w
Writing 00008 bytes
因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。
用Q命令退出DEBUG程序。
实验内容1报告要求:
写出上述每一步执行的目的;
小结debug常用命令及使用体会
实验内容2
设AX=3000H,BX=5000H,通过堆栈实现将AX和BX的内容进行交换。用DEBUG进行程序的汇编与调试。
提示:AX和BX的值可用debug主的r命令将其送入相应寄存器中,也可用MOV指令完成。
实验内容2报告要求:
写出完成上述功能的程序段;
单步执行,并记录寄存器AX, BX及堆栈指针SP的变化。
实验内容3
设DS=当前段地址,BX=0300H,SI=0002H。用DEBUG的e命令将内存单元0300H~0304H装入0AH,0BH,0CH,0DH,0EH。键入下列程序,单步执行。
程序清单如下:
MOV BX,0300
MOV SI, 0002
MOV AX,BX
MOV AX,0304
MOV AX,[0304]
MOV AX,[BX]
MOV AX,0001[BX]
MOV AX,[BX][SI]
MOV AX,0001[BX][SI]
实验内容3报告要求:
写出源操作数的寻址方式;
单步执行,并记录相关寄存器及存储单元的内容
实验内容4
设AX=0002H,编写程序将AX的内容乘10,要求用移位的方法完成。
提示:左移指令要用SHL,而不能使用SAL
实验内容4
文档评论(0)