您所在的位置: 程序员家园 -> 家园博客 ->
 
在哪里摔倒
就在哪里自己爬起来

用户登录

查  找

最新评论

最新留言

常用网站

网易邮箱 GMAIL  

百度搜索 MSDN

霏凡软件 BT精品

影视帝国 射 手 网

电驴下载 全 库 网

友情连接

茄菲的窝 冰冰博客

枫叶飘零 玫  瑰

ACEN 云 豹 子

统  计



汇编程序的编译环境
狼子 发表于 2005-10-1 21:11:00 阅读全文 | 回复(3) | 引用通告 | 编辑

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目录下啊

Re:汇编程序的编译环境
mountain315发表评论于2005-10-1 23:39:00 个人主页 | 引用 | 返回 | 删除 | 回复

这里有msam8.2下载,大弟弟给找的,可是我没知道嘛样子用

http://www.asm386.com/download/masm/m32v82r.zip

Re:汇编程序的编译环境
zjntche_cn发表评论于2005-10-8 9:34:00 个人主页 | 引用 | 返回 | 删除 | 回复
啊?现在汇编环境都是这样了?偶一直以为都是TURBO C++的界面呢!之前偶曾经用过的,都是TURBO C++的界面,呵呵!看来偶真要淘汰了!
Re:汇编程序的编译环境
mountain315发表评论于2005-10-21 20:22:00 个人主页 | 引用 | 返回 | 删除 | 回复
以下引用zjntche_cn在2005-10-8 9:34:45发表的评论:

啊?现在汇编环境都是这样了?偶一直以为都是TURBO C++的界面呢!之前偶曾经用过的,都是TURBO C++的界面,呵呵!看来偶真要淘汰了!

我只用过masm6.11,是2001年的时候,样子和tc没同的,其它没用过啊

发表评论:

    昵称:
    密码:
    主页:
    标题:
Powered by Oblog.