本章节由 G. Adam Stanislav <adam@redprince.net>
撰写。 翻译: sunlecn@gmail.com。
涉及 UNIX 下的汇编语言的相关资料很少。 通常我们都假设几乎没有人希望用到它, 因为不同的 UNIX 可能是在不同的处理器上运行的, 所以为了移植性的考虑所有的东西都应该用 C 来实现。
实际上, C 语言的移植性是非常神秘的。即使 C 程序在不同的 UNIX® 之间移植的时候需要进行修改, 但这些修改绝对和在什么处理器上运行无关。 特别明显地是, 这样的程序充满了在编译时对于系统依赖的条件描述。
即使我们希望所有的 UNIX 软件都应该用 C 语言或者是其他的高级语言编写, 但是我们仍然需要掌握汇编语言的程序员: 不然谁将完成 C 语言函数库中直接访问内核的部分?
在本章节,我将尝试着说明如何用汇编语言编写 UNIX 程序,特别是在 FreeBSD 上的程序。
这个章节不会讲解汇编语言的基础知识。现在已经有很多相关的资料了 (如果你想寻找完整的关于汇编语言的在线课程, 请看 Randall Hyde 的 《汇编语言艺术》; 如果你想选择一本书, 那么去看看 Jeff Duntemann 的 《循序渐进学汇编》) 不过, 一旦你掌握了这个章节的内容, 任何汇编语言的程序员, 将能够在 FreeBSD 上高效、快速地编写程序。
Copyright © 2000-2001 G. Adam Stanislav. All rights reserved.
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.