文档介绍:Nasm 中文手册 Nasm 中文手册----------------------------------------------------------- --------------------- 第一章: 简介----------------------- 什么是 NASM NASM 是一个为可移植性与模块化而设计的一个 80x86 的汇编器。它支持相当多的目标文件格式,包括 Linux 和'NetBSD/FreeBSD','','ELF','COFF', 微软 16 位的'OBJ' 和'Win32' 。它还可以输出纯二进制文件。它的语法设计得相当的简洁易懂,和 Intel 语法相似但更简单。它支持'Pentium','P6','MMX','3DNow!', 'SSE' and 'SSE2' 指令集, 为什么还需要一个汇编器? NASM 当初被设计出来的想法是''( 或者可能是'' , 我忘了), 从本质上讲,是因为没有一个好的免费的 x86 系例的汇编器可以使用, 所以,必须有人来写一个。(*)'a86' 不错,但不是免费的,而且你不可能得到 32 位代码编写的功能,除非你付费,它只使用在 dos 上。(*) 'gas' 是免费的,而且在 dos 下和 unix 下都可以使用,但是它是作为'gcc' 的一个后台而设计的,并不是很好, 'gcc' 一直就提供给它绝对正确的代码,所以它的错误检测功能相当弱, 还有就是对于任何一个想真正利用它写点东西的人来讲, 它的语法简直太可怕了,并且你无法在里面写正确的 16 位代码。(*) 'as86' 是专门为 Minix 和 Linux 设计的, 但看上去并没有很多文档可以参考。(*) 'MASM' 不是很好,并且相当贵,还且只能运行在 DOS 下。(*) 'TASM' 好一些,但却极入与 MASM 保持兼容,这就意味着无数的伪操作码和繁琐的约定,并且它的语法本质上就是 MASM 的,伴随着的就是一些自相矛盾和奇怪的东西。它也是相当贵的,并且只能运行在 DOS 下。所以, 只有 NASM 才能使您愉悦得编程。目前, 它仍在原型设计阶段- 我们不期望它能够超越所有的这些汇编器。但请您发给我们 bug 报告,修正意见, 和其他有用的信息,还有其他任何你手头有的对我们有用的信息( 感谢所有已经这样在做了的人们) ,我们还会不断地改进它。 许可条件请阅读作为 NASM 发布的一部分的文件'Licence' , 只有在该许可条件下你才可以使用 NASM 。 联系信息当前版本的 NASM() 由一个开发小组在维护,你可以从'nasm-devel' 邮件列表中得到( 看下面的链接) ,如果你想要报告 bug ,请先阅读 节 NASM 有一个主页:'.' ,更多的信息还可以在`http://nasm./' 上获取。最初的作者你可以通过 email:`******@.uk' 和`anakin@' 和他们联系,但后来的开发小组并不在其中。最新的 NASM 发布被上传至官方网站`.' 和`ftp.', `' 公告被发布至`', `' 和`' 如果你想了解 NASM beta 版的发布,和当前的开发状态,请通过在`http://groups./group/nasm-devel', `lman/listinfo/nasm-devel' and `/projects/nasm' 注册来捐助'nasm-devel' 邮件列表。在网站 e 上的列表是较好的一个列表,它也是最新 nasm 源代码与发布的一个网站,另外的列表也是公开的,但有可能不会被继续长期支持。 安装 在 dos 和 Windows 下安装 NASM 如果你拿到了 NAS M的 DOS 安装包,''( 这里.'XXX' 表示该安装包的 NASM 版本号) ,把它解压到它自己的目录下( 比如: ‘ c:\nasm') 该包中会包含有四个可执行文件: NASM 可拟行文件'' 和'', 还有 NDISASM 可执行文件'' 和'' 。文件名以'w' 结尾的是'Win32' 可执行格式。是运行在'Windows 95' 或'Windows NT' 的 Intel 处理器上的,另外的是 16 位的'DOS' 可执行文件。 NASM 运行时需要的唯一文件就是它自己的可执行