Debug使用以及机器指令和汇编指令编程_第1页
Debug使用以及机器指令和汇编指令编程_第2页
Debug使用以及机器指令和汇编指令编程_第3页
Debug使用以及机器指令和汇编指令编程_第4页
Debug使用以及机器指令和汇编指令编程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编工具Debug的使用, 以及用机器指令和汇编指令编程为了同学们学好汇编这么枯燥的低级语言, 今天特意为大家介绍Debug的使用.(1 什么是Debug?在金山词霸下的意思是 “调试”的意思. 其实Debug是DOS, Window内提供的程序调 试工具.(2 进入Debug第一步: 打开运行 第二步: 输入cmd第三步: 输入Debug(3 好多人说不知道在Debug下的命令都是什么? 其实很好知道. 但凡每个软件都有帮助的文档的其实进入Debug后输入” ?” 即可我在在里介绍几个常用的. 其余的自己摸索. R命令查看, 改变CPU寄存器的内容; (其实也很好记 R是register的缩

2、写. D命令查看内存中的内容. E命令是改写内存中的内容. U命令将内存的机器指令翻译成汇编指令. T命令执行一条机器指令. A命令以汇编指令的格式在内存中写入一条机器指令(3 我们一个一个介绍. 先介绍R指令查看当前各个寄存器的值. 还可以用R命令改变寄存器中的内容.若想修改一个寄存器的值.比如说AX. 是这样的. 输入” r ax” 后按下Enter键. 将出现”:” 作为输入提示. 在后面输入要修改为的内容.举例: 我想修该AX的值为9876.可以很明显的看见. AX开始为1111. 修改后的值为9876(4 D命令查看内存中的内容如果我们向知道内存10000H中的内容, 可以用”d 段

3、地址: 偏移地址”的格式来查看使用”d 段地址:偏移地址” Debug列出的是从指定的地址开始的128个单元.其实也就是从1000:0000 - 1000:007F (1007F-10000 = 7FH = 128可以看的出, 上面的图是分为三部分的. 中间的是用十六进制表示的内存单元的内存最左边的是每行的起始地址右边的是内存单元中数据对应的ASCII码字符如果我们想查找某区间的内存数据上面的是1000:0 1000:F之间的内存如果我们想查找某个内存单元的值我们查看的是10000H处的内存单元(5 E命令的使用可以使用E命令来改变内存中的内容. 比如, 我们要将1000:0 1000:9 单

4、元中的内容分别写入1, 2, 3, 4, 5, 6, 7, 8, 9 (6 A命令的使用我们用a命令输入汇编指令. 从1000:0 1000:F处停止输入.如果我们再次输入的话,直接输入a. 会自动的从上次输入的地方接着输入我们也可以用d命令查看1000:0 1000:F之间的机器指令B8 01 00 mov ax, 1BB 02 00 mov bx,2好了, 说了那么多都没用的. 下面我来带大家做一道题:例题: 使用Debug,将下面的程序段写入内存,逐条执行. 观察每条指令执行后的结果.汇编指令Mov ax, 4E20HAdd ax, 1416HMov bx, 2000HAdd ax, b

5、xMov bx, axAdd ax, bxMov ax, 001AHMov bx, 0026HAdd al, blAdd ah, blAdd bh, alMov ah,0Add al, blAdd al, 9CH第一步: 我们输入到Debug中(大家回想一下这里应该用什么指令?我们规定从1000:0处开始输入(a命令我们有U查看我们的汇编指令第二步: 我们开始执行(用t命令一步一步执行, p命令是执行多步上面的是最初的寄存器里面的值. 我们的第一条指令执行完后应该是ax=4E20的这步是执行add ax,1416. 那么就是ax的值加上1426放回到ax中. 4e20+1414 = 6236.

6、执行的是: mov bx,2000 执行的是: add ax,bx 6236H+2000H = 8236H执行的是: mov bx, ax执行的是: add ax, bx ax = ax+bx ax = 8236+8236 = 1046C这里注意了: 相加的结果本来是1046C,但是我们的寄存器是16位的,放不下20位.所以最高位丢掉 ax = 046C执行的是: movax, 001A执行的是: mov bx,0026执行的是: add al,bl al = al+bl = 1A+26 = 40H. 所以ax = 0040H(高位不变执行的是: add ah,bl ah = ah+bl = 00H+26 = 26 ,所以高位变为26,低位不变执行的是: mov bh,al bh = al+bh = 40+00 = 40. 高位变为40, 低位不变 bx = 4026执行的是: mov ah,00 ah = 0 . 就是说ax的高位变为0, 低位不变 ax =0040H执行的是: add al,bl al = al+bl 40+26 = 66 ax = 0066H执行的是: ad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论