[原创]给和我一样在学汇编特别是《王爽汇编》的同志们一点小帮助
发表于:
2008-11-3 13:46
15618
[原创]给和我一样在学汇编特别是《王爽汇编》的同志们一点小帮助
看汇编没几天,整天抱着书看,去机器上写书上要求写的实验程序。可是汇编没有IDE(我没有找到)每次语法或者逻辑错误后 先要去该代码 然后又在控制台 masm一遍 link 一遍 debug一遍。
我比较笨一个程序要改好多次,不知道同志们有没有类型的经历。去控制台键入编译的命令真的很烦。就算有doskey记住后,然后箭头选,敲回车都烦。
也是我决定偷懒
首先我用的masm的版本是6.11 masm和link分别为C:\masm611\bin\masm.exe,C:\masm611\bin\link.exe
在bin目录下有个叫NEW-VARS.BAT的批 我把它名字改成 bc.bat(原来的名字太长了) 其作用是设置系统为asm的编译环境吧。英语不好,看不完全懂。
反正是把这个bat拿出来改动了下,主要是因为我不知道path命令的全部用法,我只知道添加我需要的路径。反正这bat的其他部分也基本无害。
改动后的版本如下:
@echo off
cls
SET PATH=C:\MASM611\BIN;c:masm611\bin\archer;c:\windows\system32\;%PATH%
SET LIB=C:\MASM611\LIB;%LIB%
SET INCLUDE=C:\MASM611\INCLUDE
SET INIT=C:\MASM611\INIT
SET HELPFILES=C:\MASM611\HELP\*.HLP
SET ASMEX=C:\MASM611\SAMPLES
SET TMP=C:\WINDOWS\TEMP
cls
masm %1
del *.bak
del c:\masm611\bin\archer\*.bak
if exist %1.obj call lr %1
添加了 编译器的路径 archer那个路径是我自己放代码的地方
其他set命令不是我写的 也不知道什么意思
后面先用 masm编译 你需要编译的源文件
如果没有生成obj的话也就是语法错误,就乖乖的直接回去改
如果生成了obj 调用另外的一个 lr.bat(我不知道怎么在批处理里面如何在if语句后面添加多条命令)并把参数传递过去
下面是 lr.bat的内容
@echo on
link %1.obj;
@echo off
del %1.obj
copy %1.asm c:\masm611\bin\archer\%1.asm
debug %1.exe
连接obj ,然后删除obj,将这次的asm放到我放代码的地方,然后开始开始用debug调试 这样如果是我们的逻辑错误后 我们不需手动去删除编译好了的obj和连接好的exe,唯一需要做的是重复用第一个bat就行了。
有几点需要说明的是
1.我是菜鸟 这些东西是我自己看着一本MS-DOS6.2写出来的。只是让和我一样的初学者少敲几次键盘,在程序出错的时候不因为不必要的时候弄糟了心情。
2.我用的xp系统,在开始菜单的运行里面键入cmd进入控制台后默认的目录是 C:\Documents and Settings\Administrator 所以如果你要用这两个bat的话,请自己把他们丢在这个目录里。并在这个目录里放入你需要编译的 XXXX.asm文件。剩下在控制台 用键入 bc XXXX就行了。 如果程序出错的话,改好了源文件,并保存后,直接在控制台窗口。上箭头+回车就把编译 连接 debug 所有的事情搞定(前提是你每次出错的时候不退出当前控制台,发现逻辑错误的话可以用-quit退出debug程序。反正意思就是让doskey记住 bc XXXX 能少按几下键盘就少按几下)
3.第一次在看雪发帖,有什么不对的多见谅,多包涵。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课