首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.2.2  TASM系列

1. TASM的用法

TASM是Borland公司推出的汇编编译器,也是一种使用很广泛的编译器,与MASM相比,TASM的升级没有这么频繁。TASM早在1.0版本就有了对80386处理器指令的完全支持(MASM要到5.0版本才支持80386指令),1989年推出的1.01版本修正了1.0版的一些错误;早期的版本还有TASM 3.0和TASM 4.0,其中4.0版是TASM系列编译器编写DOS程序使用最广泛的版本。

到目前为止,TASM的最后一个版本是5.0版,这个版本支持Win32编程,并单独为Win32编程附带有一整套的32位程序:32位的编译器TASM32.EXE、链接器TLINK32.EXE和资源编译器BRC32.EXE。与这些32位程序对应的16位工具在软件包中依然存在,文件名为TASM.EXE,TLINK.EXE和BRC.EXE等。

TASM 5.0命令行的使用方法是:

TASM32 [选项] 源文件名[,[目标文件名],[列表文件名],[索引文件名]][;]

在Win32编程时TASM的常用选项如表2.4所示。

表2.4  TASM 5.0的常用选项

选    项

简    介

/ml,/mx,/mu

对大小写是否敏感:ml=全部敏感,mx=全局变量大小写敏感,mu=不敏感,Win32编程中必须用ml选项

/m#

允许第#次编译扫描时可以向前引用,一般使用/m2

/i路径

设定include文字所在的路径

/l,/la

Lst文件的格式:/l为正常格式,/la为扩充格式

/zi,/zd,/zn

符号调试信息的控制:/zi为全部,/zd为仅有行号,/zn为不产生调试信息

TASM和MASM之间的导入库和目标文件等不能通用,程序员无法用Microsoft的链接器来链接TASM产生的obj文件,反之亦然,这是因为TASM的库文件和obj文件一直是OMF格式,与Microsoft使用的COFF格式不兼容。

TASM不是免费软件,无法从Borland的网站上直接下载,但在网上随处可以找到TASM 5.0版本的下载链接,Borland的官方网站中仅提供了5.0版本到5.0r版本的升级包。

2. TLINK的用法

与TASM32.exe配合的链接器为TLINK32.exe,它的用法是:

TLINK32 选项 目标文件列表,输出文件,map文件,库文件,def文件,资源文件

指定这些文件名的时候,中间必须用逗号隔开,如果不想指定某个文件名,可以在逗号中间留空,TLINK32的常用选项如表2.5所示。注意,TASM32的选项是用斜杠开头,  TLINK32的选项却用减号开头。

下面是用TASM编译和链接一个Win32汇编源程序的常用命令:

TASM32 /ml /m2 xx.asm

TLINK32 -Tpe -aa -c xx.obj,,,yy.lib,,zz.res          (普通PE文件)

TLINK32 -Tpd -aa -c xx.obj,,,yy.lib,aa.def,zz.res   (DLL文件)

由于Windows API区分大小写,所以TASM32的/ml和TLINK32的-c选项必须指定,TLINK32中的-Tpe和-aa选项也必须指定,否则链接出来的就不是Win32可执行文件了。其他的选项如调试信息等则可以根据需要选择使用。

表2.5  TLINK32的选项

选    项

简    介

-c

链接时区分大小写

-B:xxxx

指定可执行文件装入内存的基地址

-Txx

输出文件类型,-Tpe表示输出PE类型的exe文件,-Tpd表示输出PE类型的dll文件

-ax

文件类型,-aa表示使用Windows API,-ap表示使用兼容代码

-v

在输出文件中包括调试信息

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论