- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UNIX下的汇编语言
第 2 卷 第 1 期 ( ) Vol. 2 No 1
广州大学学报 自然科学版
2003 年 1 月 ( ) Jan. 2003
JOURNAL OF GUANGZHOU UNIVERSITY Natural Science Edition
( )
文章编号 :1671-4229 2003 01-0046-04
UNIX 下的汇编语言 ———ATT 语法分析
张晓磊
(广州大学 信息安全研究所 ,广东 广州 510405)
摘 要 : 从语法上看 ,当前的汇编语言至少有两大类 :遵循 ATT 语法的和遵循 Intel 语法的. 多数 UNIX 系统上
的汇编器都遵循ATT 语法. 随着Linux 在国内的逐步流行 ,一些程序员开始面对 ATT 语法. 关于 ATT 语法的
资料在国内很难找到. 通过与 Intel 语法作对比的方式 ,对 ATT 语法作了简单的介绍 ,尽管假定的硬件环境为
i386 系列的计算机 ,但很多内容也适用于其他种类的计算机.
关键词 : ATT 语法 ; Intel 语法
中图分类号: TP 313 文献标识码 : A
已. 采用 Intel 语法的汇编器多半只运行在 i386 系
0 引 言 列的计算机上 ,而很多非 i386 平台的计算机都采
用遵循 ATT 语法的汇编器. 造成这种情况的原因
尽管汇编语言本质上取决于硬件 ,也就是说 , 有如下两点 : 其一 ,在 Intel 生产的计算机上采用
不同的计算机体系结构往往对应不同的汇编语言. Intel 语法是自然的 ; 其二 ,ATT 语法带有浓厚的
( )
但从语法 syntax 上看 ,它们却可以分为两大类 :采 UNIX 风味 ,是事实上的 UNIX 标准. UNIX 的多平台
用 ATT 语法的汇编语言和采用 Intel 语法的汇编 导致了ATT 语法的多平台.
语言. 硬件体系造成的语言差异与语法上的差异是 对国内的多数程序员而言 ,ATT 语法是陌生
两回事 ,前者往往是本质的 ,而后者往往只是表面 的. 这在以往并不是个十分严重的问题 , 因为国内
的. 如下面一行 MASM 代码 : 多数程序员也只在 windows 平台上开发程序. 但
MOV DWORD PTR [ EAX] , 5 是 ,随着Linux 在国内的逐步普及 ,这种情况正在
MASM 运行在 i386 的机器上. 这行代码对于 悄悄发生变化. Linux 是一种源代码开放的UNIX 类
m68k 系列的计算机而言是没有意义的 , 因为该系 操作系统 ,它默认的汇编器是 GNU 组织的 gas , 该
列的机器根本就没有 eax. 不同的硬件对应着不同 汇编器仅支持 ATT 语法. 此外 ,gcc/ gas 也已经被
的机器语言 ,从而与其对应的汇编语言有着本质的
文档评论(0)