没有合适的资源?快使用搜索试试~ 我知道了~
一、简介作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽
资源详情
资源评论
资源推荐
回页首
Linux 汇编语言开发指南
Ted posted @ 2008年9月02日 23:29 in asm with tags ASM , 1910 阅读
汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是
非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在
Linux 中还可以直 接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux 平
台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言的语法格式和 开发工具,并
辅以具体的例子讲述如何开发实用的Linux 汇编程序。
一、简介
作为最基本的编程语言之一,汇编语言虽然应用的范围不算 很广,但重要性却勿庸置疑,因为它能够完成许多其它语言
所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某 些关键地方
使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬件的关系非常密切,即使是 C 语 言也会有些
力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。
大多数情况下 Linux 程序员不需要使用汇编 语言,因为即便是硬件驱动这样的底层程序在 Linux 操作系统中也可以用
完全用 C 语言来实现,再加 上 GCC 这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的
理由让我们可以暂时将汇编语言抛在一边了。但实现情况是 Linux 程序员有时还是需要使用汇编,或者不得不使用汇
编,理由很简单:精简、高效和 libc 无关性。假设要移植 Linux 到某一特定的嵌入式硬件环境下,首先必然面临如何
减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。
汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:
能够直接访问与硬件相关的存储器或 I/O 端口;
能够不受编译器的限制,对生成的二进制代码进行完全的控制;
能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;
能够根据特定的应用对代码做最佳的优化,提高运行速度;
能够最大限度地发挥硬件的功能。
同时还应该认识到,汇编语言是一种层次非常低的语言,它 仅仅高于直接手工编写二进制的机器指令码,因此不可避免
地存在一些缺点:
编写的代码非常难懂,不好维护;
很容易产生 bug,难于调试;
只能针对特定的体系结构和处理器进行优化;
开发效率很低,时间长且单调。
Linux 下用汇编语言编写的代码具有两 种不同的形式。第一种是完全 的汇编代码,指的是整个程序 全部用汇编语言编
写。尽管是完全的汇编代码,Linux 平台下的汇编工具也吸收了 C 语言的长处,使得程序员可以使用 #include、
#ifdef 等预处理指令,并能够通过宏定义来简 化代码。第二种是内嵌的汇编代码,指的是可以嵌入到C语 言程序中的汇
编代码片段。虽然 ANSI 的 C 语言标准中没有关于内嵌汇编代码的相应规定,但各种实际 使用的 C 编译器都做了这方
面的扩充,这其中当然就包括 Linux 平台下的 GCC。
二、Linux 汇编语法格式
绝大多数 Linux 程序员以前只接触过DOS/Windows 下的汇编语言,这些汇 编代码都是 Intel 风格
的。但在 Unix 和 Linux 系统中,更多采用的还是 AT&T 格式,两者在语法格式上有着很大的不
同:
SeaNico
- 粉丝: 16
- 资源: 321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JSP-JTBC-CMS(SQLITE).rar
- MC3362和MC145151调频无线接收器的设计.pdf
- MiniRenamer-v100.0一款简单易用的批量文件重命名工具(已注册PRO版本).rar
- 小狐狸Ai系统 小狐狸ai付费创作系统V2.8.0 ChatGPT智能机器人
- 公孙离-内衣-肚兜.zipgsl
- 快慢指针判断链表是否有环-go 语言实现
- 学生成绩管理系统的设计与实现-收藏备用.pdf
- JSP+SQL网站流量统计管理系统(源代码+论文).rar
- IBM-PC-XT微机过程...道中模拟量数据的采集和处理.pdf
- JSP+SQL网上选课系统(源代码+论文+答辩PPT).rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0