汇编的调试步骤MASM5.0

  • 格式:doc
  • 大小:1.48 MB
  • 文档页数:14

80x86汇编语言调试运行步骤
很多人熟悉高级语言的调试运行。

这是因为高级语言如C C++语言,很多底层的东西都是由系统自己完成,而汇编语言大量的底层需要自己设计,所以汇编语言调试和运行过程和VC++6.0这样的软件相比相对来说复杂很多。

我玩过turbo c2.0尝试调试汇编语言,发现很难弄懂调试过程。

后来尝试在MASM5.0下调试运行,来对来说简单易操作。

汇编语言重要性不在多说,下面开始说具体调试过程。

这张图很多人知道,一般的windows系统自带了EDIT.EXE 和DUBUG.EXE这个两个程序,所以我们只需要下在另外两个程序,即MASM.EXE和LINK.EXE这个两个程序。

大家会问,这两个程序怎么来,简单说下载MASM5.0软件就行。

下载完成后,里面的内容如下;
我的系统是win7 32位,所以win7系统可以支持汇编语言调试的。

至于WIN7 64位,我觉得应该也支持。

原因很简单,因为MASM.EXE 和link.EXE这两个程序只是生成最后可执行文件的步骤,本质还是在DOS状态下调试。

不过我本人没有尝试,大家可以试试。

下载完成后,把上面说到的MASM.EXE和LINK.EXE这两个应用程序拖到D E F盘任意一个盘根目录状态下,我自己以E盘作为示范。

有人可能会问,为什么不建个文件夹存放,这当然可以,不过之后输入文件所在位置时会复杂一点。

因为这就走E盘根目录状态下,所以文件位置就是E:\TEST1.ASM (文件名字是TEST1,,ASM为后缀汇编标志)
接下来打开开始菜单输入 COMMAND 按回车键
出现了这样的对话框
然后我们输入EDIT TEST1.ASM 按回车建立名字为TEST1的汇编文件
EDIT 意思是编辑器意思之前说到了因为系统自带这个程序所以没下
出现了这样情景
然后输入自己要输入的程序(我这个是完整的程序可以做参考)
点击file 菜单下的save as 保存出现这样的对话框
移动后边的横条找到E盘(之前我说过我以E盘作为示范)
情况如下
点击进去情况如下然后点ok 然后点file菜单最尾的exit
实际情况下左边没有第一个 DATAMOU.ASM 这是我自己编的额外的程序,实际上只有 LINK.EXE MASM TEST1.ASM .在这里我就可以说之前说的为什么不建文件夹了图片显示的E:\代表就在根目录下。

如假设建立 huibian这个文件夹里面存放了LINK.EXE 和MASM.EXE 这个两个程序路劲因为E:\huibian 为了之后输入的简单所以我就存放在了E盘根目录了
完成上面的操作后对话框如下表现建立0bj连接了
在后面输入E:\MASM(如果建了文件夹如上面说的就是E:\huibian\MASM 发现麻烦之处了吧)
出现的对话框如下
然后输入文件名我们建的文件名为TEST1.ASM
接着按回车出现情况如下
表明没有错误如果有错误的话在里面输入EDIT 文件名.ASM 从新编辑这里我们输入的是EDIT TEST1.ASM
出现的情况是
调试完成后点 file下面的save先保存然后重新选择存放的路径重复之前的操作点file下面的save as 然后路径调整好后点ok
这是不报错之前的图片我故意输如了LINK 然后注释说“LINK 不是内部或外部命令也不算可运行的程序或批出来文件”
原因是 LINK.EXE系统是没有自己带的,它是我们自己下载MASM5.0里面的程序,它的目录在E:\根目录下。

之所以先说这一点是为了和之后输入DEBUG指令相对比。

因为DEBUG.EXE系统自带的所以只需要要DEBUG TEST1.EXE 而不需要加E:\>DEBUG TEST1.EXE。

这里不懂没关系。

有个印象就行,接下来会说到。

现在我们输入正确的命令E:\LINK 如下图

这里我们执行最后的DEBUG.EXE阶段,我们先输入错误的指令然后再输入正确的指令对比。

错误的指令是 E:\DEBUG TEST1.ASM
如下图
程序报错方式和之前直接输入 LINK方式一样
接下来我们输入正确的输入方式 DEBUG TEST1.EXE
区别就是少了E:\
显示结果如下图
大家可能会问在输入LINK时,之前输入不对。

要输入E:\LINK 而这里输入E:\DEBUG TEST1.EXE不对要输入DEBUG TEST1.EXE
原因很简单:之前就说过了 windows自带EDIT.EXE和DEBUG.EXE这两个程序,所以在E根目录下找显然不对,它是在系统内的。

而LINK.EXE MASM.EXE是系统内没有的,它在E盘根目录下,在系统内招也是不对的.
到了这一步显示图片细节如下、
有-这个东西
接下来我们输入字符R 代表显示
接下来输入U 反汇编命令图片如下
还可以输入T 一步步执行
用D显示内存存贮器单元
接下来具体的调试靠大家自己了汇编语言的调试过程就是这样了。