http://www.tiantiansoft.com/bbs/dispbbs.asp?boardID=10&ID=103365&page=1
用的是masm6.11,有4.62M大,现在搞了三种方法编译,反正都是用它,不过我还是最喜欢ultraedit,因为在win2000server下边运行masm6.11的时候,好慢啊,不过呢,如果是在pwb里搞呢,可以直接查看到内存的变化,debug的时候好方便
我的安装目录是:G:\MASM611\,测试文件名是:p79.asm
一、直接运行pwb,安装完后呢,在安装目录下的binr目录里,有pwb.exe的,双击运行就成,直接新建文件,编译菜单是:
project->Complie File: P79.ASM
编译完,如果输出了0 errors/warnings,就可以直接点击<Run Program>,让经连接运行程序
不过这里我也没搞的清是嘛一回事,我没知道是没是要搞嘛东东配置,一开始的时候呢,老出错老出错,后来我在cmd下执行了binr\NEW-VARS.BAT后呢,就成了有时候可以成功编译还可以执行,有时候呢,就编译没成功,说是bad command or filename
二、用ultraedit来写,在cmd下调用masm命令编译,调用link命令连接,再执行查看结果
我喜欢ultraedit,嘛东东都喜欢用它来写,嗯,说命令好了,进入cmd后,转到msam安装目录下的bin目录,然后呢分三步:
1、编译:msam p79,p79.obj,p79.lst;
这个命令会自动调用ml.exe文件,还会在bin目录下生成p79.obj,p79.lst两个文件,如果报了有错,可以从lst文件里查看出错的行和出错的原因
这个命令在课本里有,《80X86汇编语言程序设计教程》清华大学出版社杨季文的那本,P574页:
MASM [/options] [source(.asm)],[out(.obj)],[list(.lst)],[cref(.crf)],[;]
source(.asm)指定源程序,缺省的扩展名是ASM
out(.obj)指定输出的目标代码文件,缺省的文件名同源程序文件名,缺少的扩展名是obj
list(.lst)指定输入的列表文件,缺省的扩展名是lst,缺省情况下不生成列表文件
cref(.crf)指定输入的交叉参考文件,缺省的扩展名是crf,缺省情况下不生成交叉参考文件
命令行最后的分号表示其后的缺省项,按缺省设置处理
2、连接obj文件,这里因为我用的是masm6.11,所以在bin目录下是带有ML.exe文件的,本来用这个命令:
ML /c p79.asm
应该是可以生成p79.exe的,可是没知道是没是我的配置没搞好,还是其它原因,反正就是没法运行,老说ml.exe文件出错,所以我只好把binr目录下的link.exe文件copy过来用了,用这个命令:
link p79.obj;
这回可以正常执行,在bin目录下也可以正常生成p79.exe文件,link命令的参数在课本的P575也有,我懒的敲了,反正我用了“;”结束,就是想要把所有东东都当缺省设置
3、运行exe文件,查看结果:p79.exe
这个只是试一下下运行我自己的东东,看结果对没对而以啊
三、用ultraedit写也用ultraedit编译,其实就是把第二种方法里的命令全加到ultraedit里,这样子我就可以省掉还要去打开cmd了,全都可以在ultraedit里搞
ultraedit的菜单,高级->工具配置,按下边的图输入就成:
一共是三个命令,“汇编-编译asm文件为obj”按上边的设置,“汇编-连接obj为exe”呢,命令行是“G:\MASM611\BIN\LINK.EXE %N.obj;”,工作目录是“G:\MASM611\BIN\”,“汇编-运行exe文件”呢,工作目录和上边一样子,命令行是“%N.exe”
主要是记的选上“保存活动文件”,还要选上“输出到列表方块”和“捕捉输出”,选上这两个才会把cmd的输出信息捕捉到ultraedit里在输出窗口里显示出来的
嗯,上边用到的几个%F、%P、%N,是ultraedit的参数,上图里点击帮助可以查看到的,假设你当前把文件保存为:C:\project\test\test.c,那这几个参数就是:
%P Path only ("C:\project\test\")
%N fileName only ("test")
%E Extension only (".c")
没了,三种方法都完了,我本来是想把tc搞成这样子编译的,因为我最怕在win2000server下用tc2.0,好慢,慢的我每回都想砸机,可是在cmd下都没法调用tc来编译c文件,说是找没到stdio.h文件,那就没法用这里来了,ultraedit里只可以调用cmd可以调用的东东
最烦的是pwb到现在还没搞清究竟要嘛样子配置,烦烦烦啊,谁管谁知道啊?告诉我一下下
还有就是嘛干我在cmd下连接的时候,没成直接调用ML.exe呢?老说我的ML.exe找没到,晕死,我就在ML.exe所在的bin目录下啊
这里有msam8.2下载,大弟弟给找的,可是我没知道嘛样子用