Linux 汇编语言开发指南
developerWorks 中国
>
Linux
>
Linux 汇编语言开发指南
文档选项
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16"
height="16" src="//www.ibm.com/i/c.gif"/></td><td class="small"
width="122"><p><span class="ast">未显示需要 JavaScript
的文档选项</span></p></td></tr>
将此页作为电子邮件发送
级别: 初级
肖文鹏
(xiaowp@263.net
), 北京理工大学计算机系硕士研究生
2003 年 7 月 03 日
汇
编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C
语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux
平台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言的语法格式和开发工具,并辅以具体的例子讲述如何开发实用的Linux 汇编程序。
一、简介
作
为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux
内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux
的启动部分。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。
大
多数情况下 Linux 程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在 Linux 操作系统中也可以用完全用 C
语言来实现,再加上 GCC
这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的理由让我们可以暂时将汇编语言抛在一边了。但实现情况是 Linux
程序员有时还是需要使用汇编,或者不得不使用汇编,理由很简单:精简、高效和 libc 无关性。假设要移植 Linux
到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。
汇编语言
相关文档:
1. 从硬盘安装linux的学习,和实验 Done
Use wingrub, install the Ubuntu on /dev/sda2. and could boot!
2. pppoe connection &nbs ......
命令
解释说明
alsacard
检测声卡
alsaunmute
静音设置
arch
查看硬件类型
awk
一种程序语言环境
basename
去除文件名的目录部分和后缀部分,返回一个字符串参数的基本文件
名称
busybox
标准Linux
工具的一个单个可执行程序实现,常用于嵌入式Linux
,参见本书“文件系统”内容
cat
连接或� ......
以前总是以为只有windows一种操作系统,后来听说了Unix、Linux和MacOS等,才知道原来操作系统的种类还是挺多的。用惯了windows,就想试下其他的操作系统,想看看为什么windows会进入千家万户,而Linux没有。所以,昨天,花了5块钱,自己装了个red hat enterprise Linux server 5.4版(本来� ......
iptables是一个
Linux
下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个
灵活强劲的防火墙+nat系
统,小有心得,看
了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴
经验,写来供大家参考,同时也备 ......
1、同运行环境交互
1.1、命令行
当一个程序从shell启动的时候,其参数列表包括程序名称及所有的命令行参数
% ls -s /
其参数列表包含三项:
第一项是程序名称ls,第二项和第三项分别是两个命令行参数,-s和/
main函数可以通过argc和argv两个参数来访问命令行参数列表:argc是命令行参数的个数,argv是命令行参数字符� ......