- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
asm编程情况的构建和masm32宏(macro)的应用[精彩]
ASM编程环境的构建和MASM32宏(Macro)的使用
ASM编程环境的构建和MASM32宏(Macro)的使用
Part I: ASM编程环境的构建
俗云:工欲善其事,必先利其器.
(一)编辑器的选择
编辑器是不可或缺的,而现在的编辑器也实在太多,在dos下你肯定用过经典的dos自带的edit,或者
asmedit,wps等,然而现在平台已经转移到了Windows,我们的选择就更加丰富了,替代edit的是
notepad,甚至有word,wps2000这样强大的文字处理工具,然而选择他们并不是写asm的最佳选择,
因为他们并不是为asm设计所专门设计的,不能完全满足我们的需要...
现在有几种比较流行的集成asm环境,其一是asmStudio,国人开发,不过只是适合dos下的asm编写,
支持win32ASM的还没有看到;其2是ASMedit,完全是用asm写的,小巧支持语法加亮等功能,也是不
错的选择;现在呼声最高的恐怕唯Ketlio正在开发的RadASM了,支持MASM,TASM和FASM的集成环境
的构建,有自动语法提示等功能,不过唯一的遗憾是不支持中文,这使人很失望,如果支持中文,肯定是
首选.
此外还有editplus和ultraedit可供我们选择,这二者经过适当设置后即可支持语法加亮,自动填充
,和shell执行等功能,使用起来很方便,在editplus中如何实现自动编译链接请参见我以前写的一篇文
章.由于具有良好的Unicode支持,所以推荐使用,唯一的缺点就是无法实现win32Api的参数提示和自
动填充功能.
由于功能完善的asm集成编程环境还没有出现,所以我们只能根据各种编辑器的优缺点和自己的偏好
加以选择.不要抱怨!谁叫你选择的是ASM???
我用的是editplus 2.01C.感觉不错,推荐使用.
(二)编译器的选择(compiler)
现在网上的编译器种类很多,比较著名的有MASM,TASM,NASM,FASM,SPASM,A86,GAS,GoASM等,究
竟选择什么作为我们的编译器似乎是每个初学者几乎必问的问题.其实各个编译器互有优缺点,究竟选
择什么,取决于你的实际需要.下面介绍一下主要的几种:
1.MASM和TASM
Masm是微软的ASM编译器,TASM是编译器巨人Borland公司的产品,5.0版本现在已经可以在其主页
免费下载,我最初选择masm的原因很简单,是因为大部分教科书都使用他作为蓝本,在dos时代的机房里
面配备的也基本都是MASM.就dos而言,但低版本的masm并不是最佳的,因为borland公司推出了TASM,
Tasm完全兼容masm,并且由于编译速度快等优点获得了编程者的厚爱.但在国内使用较多的还是MASM.
WIn32下TASM5.0有点力不从心了,这是由于tasm的头文件和库不完整,而Borland也放弃了Tasm的继
续开发.相反MASM则不断更新,更由于hutch为Masm作了一个masm32V?.zip的开发包,里面有完整的头
文件和库文件,所以win32下使用masm的人数日渐增多,成为主流.
2.NASM
NASM(netwide assembler),是一个正在开发中的项目,其目的是支持多种平台的文件格式,比如elf,a.out等unix
和linux所使用的文件格式,如果你要在上述平台下写asm,那么最好的选择是nasm,不过nasm当然也可
以用于写win32ASM,麻烦的问题和tasm是同样的,那就是缺少头文件和库文件的支持,不过如果你厌倦
了MASM的烦琐奇怪有时又容易产生歧义的伪操作符的话,试试Nasm的语法,相信会有所收获.NASM生成
obj的链接可以使用Alink.
3.FASM
fasm(flat assembler)是一个纯粹用汇编语言写成,并采用自展技术的正在开发的的编译器,fasm最大的优点
在于不需要额外的链接步骤而直接生成可执行文件,没有什么烦琐的伪命令,所以写出来的代码看起来
十分干净.另外用fasm写16bit exe或com可能是非常好的选择,简单而高效.此外在PE格式的
import,export,resource等的处理上也都别具一格.不过目前尚不完善...
4.其他
其他诸如spasm,a86等由于我没有用过,所以不妄加评论了.
所以如果你在写win32asm的话,MASM32仍然是最好的选择.其他:For Coding Pleasure...
5.资源编译器
WIn32涉及到资源,你可以用与rc(resourcecompiler)任何兼容的资源编译器,比如用微软的
VC自带的资源编译器,或者Borland resource Workshop.大部分开发包自带资源编译器.
(三)链接器(linker)
您可能关注的文档
- 2017年高考浙江卷数学试题(Word版含答案).doc
- 2017年高考化学有机试题汇编.doc.doc
- 2017年高考语文试题全国卷1word版.doc
- 2017年高考文综 全国III卷 试题 答案(word精华版).doc.doc
- 2017政史地教研组工作计划范本.doc
- 2017年贵州省中职单报高职升学考试英语模拟试题(八).doc
- 2017普通高中学业水平 2017年江苏省普通高中学业水平测试(选修科目)物理.doc
- 2017机械设计课程设计-设计带式输送机的传动装置(单级圆柱齿轮减速器和一级带传动).doc
- 2017广东省两学一做学习教育考学专题答案.doc.doc
- 2017超星尔雅大学生创业基础章节测试期末测试.docx
文档评论(0)