没有合适的资源?快使用搜索试试~ 我知道了~
Linux内核源代码中的汇编语言代码.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 164 浏览量
2022-06-12
13:22:09
上传
评论
收藏 43KB DOC 举报
温馨提示
试读
8页
Linux内核源代码中的汇编语言代码
资源推荐
资源详情
资源评论
Linux 内核源代码中的汇编语言代码
内核源代码中的汇编语言代码
任何一个用高级语言编写的操作系统,其内核源代码中总有少部分代码是用汇编
语言编写的。主要是关于中断与异常处理的底层程序,还有就是与初始化有关的
程序以及一些核心代码中调用的公用子程序。
用汇编语言编写核心代码中的部分代码,大体上处于如下几个方面的考虑:
操作系统内核中的底层程序直接与硬件打交道,需要用到一些专用的指令,而
这些指令在 语言中并无对应的语言成分。例如,在 系统结构中,对外设的
输入输出指令如 、 等均无对应的 语言语句。因此,这些底层的操作需
要用汇编语言来编写。 中的一些对于寄存器的操作也是一样。例如,要设置
一个段寄存器时,也只好用汇编语言来编写。
中的一些特殊指令也没有对应的 语言成分,如关中断、开中断等等。
内核中实现某些操作的过程、程序段和函数,在运行时会频繁地被调用,因此
其时间效率就显得很重要。而用汇编语言编写的程序,在算法和数据结构相同的
条件下,其效率通常要比用高级语言编写的高。在此类程序或代码段中,往往每
一条汇编指令的使用都需要经过推敲。系统调用的进入和返回就是一个典型的例
子。系统调用的进出是非常频繁用到的过程,每秒钟可能会用到成千上万次,其
时间效率可谓举足轻重。再说,系统调用的进出过程牵扯到用户空间和系统空间
之间的来回切换,而用于这个目的的一些指令在 语言中本来就没有对应的语言
成分,所以,系统调用的进入和返回显然必须用汇编语言来编写。
在某些特殊的场合,一段程序的空间效率会显得非常重要。操作系统的引导程
序就是一个例子,系统的引导程序通常一定要容纳在磁盘上的第一个扇区中。这
时候,哪怕这段程序的大小多出一个字节也不行,所以只能用汇编语言编写。
在 内核的源代码中,以汇编语言编写的程序或程序段,有几种不同的形式。
第一种是完全的汇编代码,这样的代码采用 作为文件名的后缀。事实上,尽管
是纯粹的汇编代码,现代的汇编工具也吸收了 语言预处理的长处,也在汇编
之前加上了一趟预处理,而预处理之前的文件则以 为后缀。此类文件也和
程序一样,可以用、 等等成分,而数据结构也一样可以在 文
件中加以定义。
第二种是嵌入在 程序中的汇编语言片断。虽然在 ! 的 语言标准中并没有
关于汇编片断的规定,事实上各种实际使用的 编译中都作了这方面的扩充,而
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
- 时代的sdddsddsddsd
- 基于哈希链表的简单人员信息管理系统
- 其他类别JdonFramework开源框架 v5.1 Build20071025-jdonframework-5.1.rar
- 2001~2022年上市公司数字赋能指数.dta
- 2001~2022年上市公司数字赋能指数.xlsx
- 信息办公石大在线财务管理系统(含源码)-shidacaiwu.rar
- 信息办公电信计费系统完整代码-netctossconformity.rar
- matlab实现TD-SCDMA中初始同步捕捉DwPTS下行同步导频时隙的仿真.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功