汇编语言debug的使用方法

转自 http://blog.sina.com.cn/s/blog_6004d60d0101kkdx.html


进入Windows操作系统,输入cmd回车
输入debug 回车,这样就进入了 debug模式

1: 输入 -r 查看或者修改寄存器,可以修改CS IP来指向要执行汇编的内存地址
   -r 回车 查看
   -r ax 回车 修改 ax的值
   -r cs 回车  修改 cs的值
   -r ip 回车 修改 ip的值

 

2: 输入-D 查看内存中的信息

   -d 1000:0000 查看段地址为1000H ,偏移地址为0开始的内存信息

   -d 1000:0000 00ff 就是查看 1000:0000 到1000:00ff的内存信息

   查看主板生产日期

  -d fff0:0000 00ff 可以看到右下角的 08/14/08 格式月/日/年, 08年8月14号生产的主板

    这里的生产日期是只读的,无法修改,通过-e修改表面上看是改过了,下次打开后又恢复之前数据了

    如果直接用 -d 0100 则会显示 DS:0100处的内存信息,也就是显示段地址为ds,便宜地址为0100的内存信息。

    -d ds:0100  也可以这么使用

3:输入-E修改内存中位置的信息

   -e 1000:0000 1a 00 09 10 a1 61 这样就可以修改对应段地址为1000H ,偏移地址为0开始的内存信息

   -e 1000:0000 'a+b' 这样就会在内存1000:0000处写入61H(a的ASICC码) 1000:0001处+ 1000:0002 62

4:输入-u查看指定位置对应的汇编指令

   -u 1000:0000 查看该处的汇编指令

   -u cs:0000 查看段地址为cs处的汇编指令

5: 输入-t 执行指令

   -t 执行CS:IP所指向的第一个指令,如果要执行自己写入内存的指令,应该先通过-r来改变CS IP的值,然后再执行 -t 执行

   -t 指令默认执行第一条指令后停止。但是当遇到修改SS的指令时,会把紧接的下一条指令也执行了。

6:输入-a 输入汇编指令

   -a 1000:0000 回车

这样就可以直接在1000:0000处输入汇编指令了,注意再输入完之后,输入一个空格,表示输入完毕,输入完毕后,通过-r修改CS ip来指向对应的内存地址,然后就可以通过-t逐行执行了,每执行一次通过-r来看对应的寄存器的变化。

  -a 回车 直接输入汇编指令,默认会在cs:ip处输入,所以直接用-a 回车输入汇编指令,然后用-t执行那么执行的就是刚刚输入的汇编指令,这样可以用来调试汇编指令

 

7:输入-g 直接跳转到哪步执行

   用-t是需要一步一步执行,但是往往遇到loop循环时候,次数很多,必须要用-g跳到指定行执行

   -g 0019 直接跳到便宜地址为0019h处执行

 

 

 最后用DEBUG加载.exe文件

  用RadASM编写好asm文件(新建选择masm编译器,dos)编写好后用编译、链接、运行,此时生成了对应的exe文件。比如在:D:\RadASM\Masm\Projects\test\test.exe

  再用命令 debug D:\RadASM\Masm\Projects\test\test.exe 回车

  -u 查看对应test.exe里的汇编指令 -t执行 -g 跳转到哪个偏移地址执行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值