资源名称:Linux汇编语言开发指南 PDF
Linux汇编语言开发指南
汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应
用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始
忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些
在 Linux 平台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言的语法格式
和开发工具,并辅以具体的例子讲述如何开发实用的 Linux 汇编程序。
一、简介
作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸
置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽
然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇
编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬件的关系非常密
切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限
度地发挥硬件的性能。
大多数情况下 Linux 程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层
程序在 Linux 操作系统中也可以用完全用 C 语言来实现,再加上 GCC 这一优秀的
编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的理由让我们
可以暂时将汇编语言抛在一边了。但实现情况是 Linux 程序员有时还是需要使用汇
编,或者不得不使用汇编,理由很简单:精简、高效和 libc 无关性。假设要移植
Linux 到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执
行效率等问题,此时或许只有汇编语言能帮上忙了。
汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:
• 能够直接访问与硬件相关的存储器或 I/O 端口;
• 能够不受编译器的限制,对生成的二进制代码进行完全的控制;
• 能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享
引起的死锁;
• 能够根据特定的应用对代码做最佳的优化,提高运行速度;
• 能够最大限度地发挥硬件的功能。
资源截图: