一、用到的简单的DOS命令:
- cd ——首先要用cd 退回到根目录C>下
- dir ——显示文件列表
- md hb ——建立hb子目录
- cd hb ——进入hb子目录
- copy d:dosmasm.exe c:hb ——将D盘dos目录下的masm.exe拷贝到C盘hb目录下
- copy d:doslink.exe c:hb ——将D盘dos目录下的link.exe拷贝到C盘hb目录下
- cd .. ——退回到上一级目录
- del hbmasm.exe ——删除hb子目录中的某文件
- rd hb ——删除hb子目录(子目录中的所有文件必须先删除)
- e:——进入e盘
- cls ——清屏
- type——显示文本文件内容(如type c:hbabc.asm)
二、DEBUG命令有20多个,主要学习的最常用的命令有
- R ——查看和修改寄存器
- D ——查看内存单元
- E ——修改内存单元
- U ——反汇编,将机器指令变为汇编指令
- T /P——单步执行
- G ——连续执行程序
- A ——输入汇编指令
- Q ——退出
r命令:直接敲R,会显示CPU所有寄存器的信息;
敲R AX(或者其他某个寄存器的),可以查看并修改AX寄存器的内容,首先会显示AX寄存器的内容,然后在冒号后可以填入你新想修改成为的内容,在敲回车成功修 改。(ps:可以再敲一下R命令查看是否修改。)
d命令:查看存储单元的内容,16个字节单元为一小段。
单独敲D,从数据段(DS:0100)第一个单元开始显示,接连显示128个字节。
敲D 起点的逻辑地址 从起点开始显示128个字节单元 D CS:0100 从代码段的0100单元开始显示128个字节单元
敲D 起点的逻辑地址 终点地址的有效地址 显示存储单元从起点到终点的内容 D DS:0100 010F→显示数据段0100单元到010F单元的内容
敲D 起点的逻辑地址 L10(其他数字亦可,但注意应是换算成16进制后的数字) 显示起点之后16个字节单元(16进制中的10换算成10进制为16)
D ES:0100 L1→显示附加段中0100这1个字节单元。
e命令:可以改写多个存储单元的内容。
敲E 起始地址,之后敲下回车,开始从起始地址修改,会显示修改前该单元的内容,在 . 之后 填入修改的内容,如果继续从该单元后修改,则敲空格,结束敲回车。
u命令:反汇编,列出机器码与对应的汇编语言中的助记符。
U 起始地址;从起始地址开始反汇编,注意是在代码段中。ps:如果在进入debug中没有加入要调试的EXE文件,这是反汇编出来的程序代码不是用户编写的程序,这段程序 代码是系统代码段中保存的内容,有可能是系统程序,也可能是无效的代码。
tp命令:可以单步执行代码。
在执行tp之前检查用R命令IP是否指向要执行的代码,如果不是要修改。此外T命令可以单步执行多条指令,格式为 T =EA x(要执行的代码条数),即从代码段EA开始执行x 条代码。
a命令:在debug中,a命令可以输入汇编指令,系统将自动地将键入的指令翻译成机器代码,并相继地存放在从指定地址开始的存储区中。由于debug中默认的是16进制,所以要先 将10进制转化为16进制。
pl:计算35+27 35D=23H,27D=1BH
来源: 实验楼
链接: https://www.shiyanlou.com/courses/83
本课程内容,由作者授权实验楼发布,未经允许,禁止转载、下载及非法传播
输入A命令后,系统自动地给出逻辑地址0AEE:0100(CS:偏移地址),在其后输入汇编指令,回车后可输入下一条指令,直接回车则退出输入。也可以在A命令后给 出指令的存放地址,如A CS:0000,表示从代码段0单元开始存放输入指令。([0000]为数据段的字存储单元,在执行完上述指令后再执行D DS:0 L1可以看到[0000] 为3EH。)
部分内容参考实验楼《汇编语言(第2版)》郑晓薇编著配套实验。
来源: 实验楼
链接: https://www.shiyanlou.com/courses/83
本课程内容,由作者授权实验楼发布,未经允许,禁止转载、下载及非法传播