《汇编语言》学习笔记2——DEBUG

DEBUG主要命令

1.  R    查看和修改寄存器

    D    查看内存单元

    E    修改内存单元

    U    反汇编,将机器指令变为汇编指令

    T/P   单步执行

    G    连续执行程序

    A    输入汇编指令

    Q    退出

2.DOS 命令

  cd \      退到根目录C>下

  dir        显示文件列表

  cd  目录名   进到目录

  cd ..      退回上级目录

  e:       进到e盘

  cls      清屏

  type 文件的绝对路径    显示文本文件内容(type  c:\hp\a.asm)

  1.R命令

    直接键入R    将显示CPU所有的寄存器和标志位

    修改寄存器:  在R后跟寄存器名,则显示寄存器内容,在冒号后可键入新的值,即修改成功,用R命令查看

             

    其中,IP指令寄存器的值为0100H,表示将要执行的指令在代码段的0100H单元中,该指令单元的逻辑地址应该由CS:IP构成,即0AE3:0100H

    反汇编就是讲二进制的机器指令显示成汇编指令。有三部分组成:0AE3:0100表示该指令所在单元的逻辑地址,42表示该指令的机器码,INC DX作用将DX自加1

  2.D命令——查看内存单元

   格式:  D  段地址:起始偏移地址[结尾偏移地址]

    

    左边一列为逻辑单元。

    中间部分为存储单元的内容,每行为16个字节单元,中间的小横线用于区分前8个单元和后8个单元

    右边部分显示出内存单元中的ASCII码表时的字符,无法显示的用小点表示

    图中第一行单元的偏移地址从0000H~000FH,第二行单元的偏移地址为0010H~001FH,下面的依次类推。

    图中可看出数据段的段地址为DS,值为0AE3H,0号单元的内容为CDH,依次类推15号的单元内容为03H。第二行0010H(16号)单元内容为47H,它是大写字母G的ASCII码,在最右边显示了G,表示该单元的值47H诀兼做ASCII码

  3.E命令——修改内存单元

    格式:E  起始位置  修改值  修改值....

      

     若E后面直接跟偏移地址,则修改当前数据段下偏移地址所指向单元值,还可以用E命令修改其他段的存单元的内容

          E  10    修改当前数据段10H号单元内容

          E  ES:100  修改傅家塅100H号单元内容

  4.U命令——反汇编

    将汇编语言源程序经过汇编(编译)后生成的二进制的机器指令代码,用U指令变为助记符形式的汇编指令,称为反汇编。

      

      多次键入U,可连续显示后面的程序部分。

      U后跟偏移地址  则从该地址开始反汇编【U  0  从代码段0号单元开始反汇编】

      特别注意:图中显示的不是用户编写的程序,因为在输入debug是为加上   用户程序名.exe。这段程序代码可能是系统代码段中的保存信息或无效的代码。

  5.A命令——输入汇编指令

      在debug中,用A命令可以输入汇编指令,系统自动调用将键入的汇编指令翻译成机器代码,并相继地存放在从指定地址开始的存储区中。由于debug下的数值默认为16进制,则先将10进制转为16进制

      

  6.T/P命令——单步执行

    输入完指令后,应该执行此命令。

    T命令可以一条一条地执行指令。T命令还可以连续执行多条命令:T  执行次数  (- T  3  执行3次)。也可以设置开始地址和执行次数:T   =开始地址    次数(-T  =0100   3  从0100H开始连续执行3条指令)

    P命令的作用与T命令相同,当遇到中断指令INT n和调试指令CALL时,应该使用P命令,以确保程序正常执行。(原因:INT  n指令和CALL指令要转移要子程序执行,T命令进入子程序后可能无法返回,而P命令则可直接执行该指令,并将结果带回),遇到循环指令LOOP时也应该用P指令,可以使循环快速结束。

  7.G命令——连续执行程序

  8.Q命令——退出debug

转载于:https://www.cnblogs.com/Sayer/p/5371291.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值