| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3045 人关注过本帖
标题:初学汇编,请教一下环境的配置
只看楼主 加入收藏
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
结帖率:100%
收藏
 问题点数:0 回复次数:10 
初学汇编,请教一下环境的配置
初学汇编,请教一下环境的配置,详细一点更好,谢了。
搜索更多相关主题的帖子: 环境 初学 汇编 
2008-07-10 19:59
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
初学的话 还是找个IDE好  呵呵
2008-07-10 21:53
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
LZ没说清楚是学什么汇编,不同的汇编它的环境配置应该是有所区别的吧?
2008-07-11 16:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]ONEPROBLEM[/un] 在 2008-7-11 16:24 的发言:[/bo]

LZ没说清楚是学什么汇编,不同的汇编它的环境配置应该是有所区别的吧?


9494  一个好的 IDE 什么都行的  推荐masmplus    radasm也很好
2008-07-11 17:26
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
收藏
得分:0 
回复 4# zklhp 的帖子
多谢哥们。用IDE固然方便,但总感觉少了点东西。
2008-07-11 21:00
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
收藏
得分:0 
回复 3# ONEPROBLEM 的帖子
哦,WIN32
2008-07-11 21:01
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
学Win32,我用的是masm32软件包+MASMPlus .
用MASMPlus可以编写.asm源文件和.rc源文件,然后用Makefile来编译,连接.
我的方法是:
下载安装masm32,设在D盘.把这个文件VAR.BAT(批处理)
========================================
@echo off
set Masm32Dir=D:\Masm32
set include=%Masm32Dir%\Include;%include%
set lib=%Masm32Dir%\lib;%lib%
set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on
========================================
拷贝到masm32\bin目录下.
然后,每次编译源文件的时候,都要先在DOS下运行这个VAR.BAT,以设置好环境变量.
再用Makefile文件就OK了.
Makefile(文件名)
======================
NAME = TEST #指定输出文件(今后只修改TEST这个地方的源文件名即可)
OBJS = $(NAME).obj        #需要的目标文件
RES = $(NAME).res        #需要的资源文件

LINK_FLAG = /subsystem:windows    #连接选项
ML_FLAG = /c /coff        #编译选项

$(NAME).exe: $(OBJS) $(RES)
    Link $(LINK_FLAG) $(OBJS) $(RES)

.asm.obj:
    ml $(ML_FLAG) $<
.rc.res:
    rc $<

clean:
    del *.obj
    del *.res
==========================
注:以上假设要编译的是TEST

然后,每次都要在DOS下打开需要编译的源文件的当前目录下,运行nmake命令即可.
删除.OBJ .RES,则运行nmake clean 命令.

说得很啰嗦,希望LZ耐心看哈.
2008-07-11 21:19
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]hurtsky[/un] 在 2008-7-11 21:01 的发言:[/bo]

哦,WIN32


可以看看罗云彬的书  



2.6 构建编程环境


由于Win32汇编可以采用多种编译软件,它们的环境设置方法各不相同,对已经入门的读者来说,这不是问题,但初学者往往不能很好地掌握设置的方法,以至于拿到例子程序后编译不出来,不少人往往在例子一而再、再而三编译不出来后深受打击,还没有来得及看到汇编的一点影子就“告别”了这个神秘又精彩的世界。

本书的例子是基于MASM32软件包的,本节介绍MASM32使用中的一些问题。

2.6.1  IDE还是命令行

IDE(Integrated Develope Environment)即集成开发环境,Microsoft的Visual Studio中的VC和VB等开发环境就是IDE的最好例子,MASM32软件包中同样有一个简单的IDE环境Qeditor.exe,但MASM32中编译、链接用的是Ml.exe和Link.exe,所以这个IDE环境实际上只是一个简单的文本编辑器加上一个用户可以自行设置菜单的Shell,编译链接工作靠调用其他软件完成。

如果要使用这个IDE环境,最大的代价就是不得不使用这个简单的编辑器,而一个好的文本编辑器对工作效率的影响是很大的,一个完善的文本编辑器必须包括语法高亮显示、强大的查找替换、无限次Undo和Redo操作、支持特大型的源文件等功能,MASM32中简单的Qeditor.exe符合不了这些要求。

所以建议读者还是抛弃这个IDE环境,用一个功能强大的文本编辑软件来写源程序,然后在命令行环境中用nmake来维护代码,这样有一个额外的好处,就是makefile文件同时记录了文件的编译与链接参数,可以在以后方便维护。

这里介绍两个很适合用来编辑汇编源文件的文本编辑软件:

● EditPlus——这是一个为程序员编写的文本编辑软件,内置HTML,CSS,PHP,ASP,Perl,C/C++,Java,JavaScript和VBScript的语法高亮显示,也可以下载ASM语法文件,它包括了所有文本编辑软件应该具有的功能:自定义工具菜单,显示行号,语法自动完成,列选择功能(以前只在WPS中看到过),无限次Undo/Redo和语法检查等功能。读者可以从http://www.下载使用版,使用版可以通过输入注册码成为正式版本。

● UltraEdit32——这是一个文本编辑/16进制编辑软件,有EditPlus的大部分功能外加16进制编辑功能,同样有语法高亮显示等功能,笔者认为其惟一的缺陷就是没有列选择功能,这个功能在编辑中比较有用。UltraEdit32是一个共享软件,可以从http://www.下载,同样可以通过输入注册码成为正式版本。

2.6.2  本书推荐的工作环境

本书建议读者放弃MASM32简单的IDE环境,改为在命令行下用nmake工具进行代码维护,为了建立这个环境,需要做下面的工作。

第1步:安装常用软件,包括编辑软件Editplus,MSDN,16进制编辑器hexedit,可视化资源编辑器Resource Workshop,调试工具Soft-ICE和反汇编软件W32DASM等,如果空间允许的话,最好安装Visual C++,以便使用它集成的资源编辑器。

第2步:选择一个驱动器安装MASM32软件包,安装好的目录是x:\Masm32目录,对读者来说整个软件包中重要的只有3个目录:bin目录中有汇编编译器ml.exe,资源编译器rc.exe和链接器Link.exe等执行文件;include目录中有各种头文件;lib目录中有全部导入库。MASM32没有选择地把安装目录名定为masm32,如果不满意的话,完全可以把这3个关键目录拷贝到别的用户自己命名的目录中,对使用没有任何影响。

第3步:建立源文件目录,由于Win32汇编不再像DOS汇编一样一个项目只有一个asm文件,而是包括asm,rc,makefile和图标等多个文件,如果把多个项目的文件混在同一个目录中将无法分辨,所以必须为每个项目单独建立一个目录,建议把这些目录集中在一个专门放置源程序的目录中,如x:\Source目录。

第4步:由于MASM32软件包中没有nmake.exe文件,所以要单独寻找nmake.exe并拷贝到bin目录中。

第5步:为这个环境建立一个设置环境变量的批处理文件,假设文件名为Var.bat,那么这个文件内容如下:

@echo off

set include=x:\masm32\Include

set lib=x:\masm32\lib

set path=x:\masm32\bin;%path%

echo on

文件中设置了3个环境变量:

● include变量指定头文件的搜索目录。在asm和rc文件中可以根据这个变量寻找include语句指定的文件名,避免了使用头文件的全路径名,这样以后移动了MASM32的安装位置就不必修改每个源文件中的include语句。如果使用Visual C++的集成环境来建立rc文件的话,为了使rc.exe能找到头文件,还要把VC++安装目录下的Include和MFC\Include目录包含进来,中间用“;”隔开:

set include=x:\masm32\Include;VC目录\Include;VC目录\MFC\Include

VC++安装目录一般为C:\Program Files\Microsoft Visual Studio\VC98\。

● lib变量指定导入库文件的搜索目录。在asm文件中可以根据这个变量寻找includelib语句指定的导入库文件,Link.exe也根据这个变量寻找库文件的位置。

● path变量就不必多解释了。它只是使我们不必在键入命令时带长长的路径而已。
2008-07-11 21:50
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
收藏
得分:0 
回复 7# ONEPROBLEM 的帖子
多谢哥们,可怜我电脑装了VC++后就装不了MASM32,真是郁闷致极。
2008-07-12 20:25
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
收藏
得分:0 
回复 8# zklhp 的帖子
哪有????
2008-07-12 20:39
快速回复:初学汇编,请教一下环境的配置
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070903 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved