回 帖 发 新 帖 刷新版面

主题:debug 是个什么样的程序啊?

debug 是个什么样的程序啊?有什么用途?怎么用啊?

回复列表 (共3个回复)

沙发

你仔细看一下教科书

这是一个调试程序,最多支持16bit
怎么用,我也不知道
我也是专科生,学校刚刚教完汇编语言上半部分,可惜,不教下半部分了

板凳

命令行下的调试程序,你平时写dos汇编程序时调试代码用。
详细使用内容查书or上网查。

3 楼

1. 直接启动DEBUG程序
    格式:DEBUG
    功能:该命令是在DOS下把DEBUG.EXE程序调入内存,并运行DEBUG程序。命令输入后,出现提示符“-“,表示已在DEBUG状态,可执行DEBUG程序的命令。DEBUG相当于DOS的一个外部命令,其版本应与DOS版本相符,若两者的版本不同,输入DEBUG后屏幕上将显示错信息“Incorrect DOS Version”,表示DEBUG的启动失败。
    说明:DEBUG高度程序是在DOS 下运行的一个软件。如果使用的是DOS操作系统,在DOS的提示符”>”下输入DEBUG;如果使用的是WindoW平台,则可以使用Window中的“MS-DOS方式”来启动DEBUG。
    2. DEBUG程序的同时装入被装入调试文件
    命令格式如下:
    DEBUG  [盘符][路径]文件名.扩展名
    如:ABC.EXE 可执行文件存放在A盘根目录,用DEBUG调试时,装入程序的操作命令如下:
     >DEBUG A:\ABC.EXE
    DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为.COM时,装入偏移地址为100H的位置,当扩展名为.EXE时,装入偏移地址为0000H(因为.EXE文件需要重定位,默认的偏移地址为0000H,当用ORG指定时,就采用指定值)的位置,并建立程序段前缀PSP.
    3. 启动DEBUG程序的同时装入带有参数的被调试文件
    命令格式如下:
    DEBUG [盘符][路径]文件名.扩展名 参数1[参数2]
    如:
    C:\>DEBUG DISKCOMP.COM A:B:
    其中的A:与B:参数是DISKCOMP.COM文件所要求的。
    4. 退出DEBUG程序
    在DEBUG命令提示符"-"下键入Q命令,即可结束DEBUG的运行,返回DOS操作系统。
    5. 在BEBUG环境下建立和汇编程序
    在DEBUG环境下用户可以直接建立汇编语言源程序,也可以进行编辑修改,还可以进行汇编
    比如,在DEBUG下运行如下程序:

    MOV DL,38H    ; 字符"8"的ASCII码送DL
    MOV AH,2    ; 使用DOS的2号功能调用
    INT 21H    ; 进入功能调用,输出"8"
    INT 20H    ; DOS中断服务,程序正常结束
    该程序运行结果是在显示器上输出一个字符"8"。如果要输出其他字符,请改变程序中"38H"为相应字符的ASCII码。其中涉及DOS和BIOS功能调用。因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入/输出指令直接通过端口输入或输出,而必须使用DOS内部提供的子程序完成输入或输出。
    DOS功能调用就是为诸如此类的目的设置的。DOS功能调用要求在进入INT 21H调用前,首先将功能调用号送入AH寄存器,并根据功能调用号准备初始数据。也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。INT 20H是DOS中断服务,这一软中断用来正常结束程序。







分类      命令格式    功能简介
读写寄存器
    R    显示所以寄存器内容
    R寄存器名    显示和修改指定寄存器内容
    RF    显示和修改标志寄存器内容
汇编和反汇编    A[内存地址]    从指定地址开始汇编指令
    U[内存块]    对指定内存块进行反汇编
执行命令    T[:内存地址][条数]    单步或多步执行命令
    P[= 内存地址][条数]    单步或多步执行指令
    G[= 内存地址]    连续执行指令
    G[= 内存地址]断点地址    设断点执行程序
读写内存    D[内存块]    显示指定内存块内容
    E 内存地址  字符或数值串    修改指定内存内容
    F 内存块  字符或数值串    填充指定内存块
    S 内存块  字符串或数值    在指定内存块中查找串
    M 内存块1  内存块2的首地址    复制内存块内容
    C 内存块1  内存快2的首地址    比较两个指定内存块
读写磁盘    N[d:][PATH]文件名.扩展名    指定欲读写的磁盘文件
    W 内存地址    将指定内存块写入文件
    L[内存地址]    将文件调入内存
读写I/O端口    I端口地址    读入指定端口的内容
    O端口地址  数值    将数据写入指定端口
十六进制加减    H 数值1 数值2(-h 34,22)kf    计算并显示两数之和,两数之差
退出DEBUG    Q    退出DEBUG,返回DOS

我来回复

您尚未登录,请登录后再回复。点此登录或注册