- 1 -
Nasm 中文手册
第一章: 简介
-----------------------
1.1 什么是 NASM
NASM 是一个为可移植性与模块化而设计的一个 80x86 的汇编器。它支持
相当多
的目标文件格式,包括 Linux 和
'NetBSD/FreeBSD','a.out','ELF','COFF',微软 16
位的'OBJ'和'Win32'。它还可以输出纯二进制文件。它的语法设计得相当
的简
洁易懂,和 Intel 语法相似但更简单。它支持
'Pentium','P6','MMX','3DNow!',
'SSE' and 'SSE2'指令集,
1.1.1 为什么还需要一个汇编器?
NASM 当初被设计出来的想法是'comp.lang.asm.x86'(或者可能是
'alt.lang.asm'
,我忘了),从本质上讲,是因为没有一个好的免费的 x86 系例的汇编器可
以使用,
所以,必须有人来写一个。
(*)'a86'不错,但不是免费的,而且你不可能得到 32 位代码编写的功能,
除非你
付费,它只使用在 dos 上。
(*) 'gas'是免费的,而且在 dos 下和 unix 下都可以使用,但是它是作为
'gcc'的一
个后台而设计的,并不是很好,'gcc'一直就提供给它绝对正确的代码,
所以它的
错误检测功能相当弱,还有就是对于任何一个想真正利用它写点东西的人
来讲,
它的语法简直太可怕了,并且你无法在里面写正确的 16 位代码。
(*) 'as86'是专门为 Minix 和 Linux 设计的,但看上去并没有很多文档可
以参考。
(*) 'MASM'不是很好,并且相当贵,还且只能运行在 DOS 下。
(*) 'TASM'好一些,但却极入与 MASM 保持兼容,这就意味着无数的伪操
作码和繁琐
的约定,并且它的语法本质上就是 MASM 的,伴随着的就是一些自相矛盾
和奇怪的
评论0