zoukankan      html  css  js  c++  java
  • 汇编语言debug常用调试 命令详解

     显示修改寄存器命令R

    R;★显示所有寄存器和标志位状态;

    ★显示当前CS:IP指向的指令。

    显示标志时使用的符号:

    标志 标志=1 标志=0

    OF OV NV

    DF DN UP

    IF EI DI

    SF NG PL

    ZF ZR NZ

    AF AC NA

    PF PE PO

    CF CY NC

    显示命令D 

     ① D [地址]

     ② D [范围]

    如不指定范围,一次显示8行×16个字节。

    -D ;默认段寄存器为DS,当前偏移地址

    -D DS:100 / -D CS:200

    -D 200:100

    -D 200;200为偏移地址,默认段寄存器DS

    -D DS:100 110/ -D 100 L 10

    修改命令E

    ① E 地址 ;从指定地址开始,修改(或连续修改)存储单元内容。DEBUG首先显示指定单元内容,如要修改,可输入新数据;空格键显示下一个单元内容并可修改,减号键显示上一个单元内容并可修改;如不修改,可直接按空格键或减号键;回车键结束命令。

    ② E 地址 数据表;从指定的地址开始用数据表给定的数据修改存储单元。

    -E DS:100 F3 ‘AB’ 8D。

    .反汇编命令U

    ① U [地址];从指定地址开始反汇编32个字节的机器指令;省略地址时,则接着上一个U命令的最后一个单元开始;若第一次使用U命令省略地址,则从当前CS:IP开始(通常是CS:100)。

    ② U 范围;对指定范围的单元进行反汇编。

    -U

    -U100

    -U100L10

    汇编命令A

    A [地址];从指定的地址开始输入符号指令;如省略地址,则接着上一个A命令的最后一个单元开始;若第一次使用A命令省略地址,则从当前CS:IP开始(通常是CS:100)。

    注释:①在DEBUG下编写简单程序即使用A命令。

    ②每条指令后要按回车。

    ③不输入指令按回车,或按Ctrl+C结束汇编。

    ④支持所有8086符号硬指令,伪指令只支持DB、DW,不支持各类符号名。

    跟踪命令(单步执行命令)T

    ① T;从当前IP开始执行一条指令。

    ② T 数值;从当前IP开始执行多条指令。

    ② T =地址;

    T =地址 数值;

    -T

    -T5 / -T=100 5

    跟踪执行并跳过子程序命令P

    P [=地址] [数值];类似T命令,但跳过子程序和中断服务程序,还有循环。循环时并不跟踪下去, 而是把它们当作一条指令来执行。

    loop s1一次执行完成。

    运行程序命令G

    ① G;从CS:IP指向的指令开始执行程序,直到程序结束或遇到INT 3

    ② G=地址;从指定地址开始执行程序(前面的指令一步运行到位),直到程序结束或遇到INT 3。

    ③ G 断点1[,断点2,…断点10];从CS:IP指向的指令开始执行程序,直到遇到断点

    ④G=地址 断点1[,断点2,…断点10]

    -G ;从CS:IP指向的指令开始执行程序。

    -G=100 ;从指定地址开始执行程序。

    -G=100 105 110 120

    -g 4c;

    退出DEBUG命令Q

    Q;返回DOS环境。

  • 相关阅读:
    PHP关于异常说明
    PHP关于微信授权
    python flask使用方法
    scrcpy启动方法
    ADB shell出现error:device offline提示
    使用Spring框架整合Java Mail
    基于Aspectj表达式配置的Spring AOP
    如何安装和使用Maven
    在Linux系统下安装nginx教程
    了解Maven的基本知识
  • 原文地址:https://www.cnblogs.com/youxin/p/2521224.html
Copyright © 2011-2022 走看看