linux 与汇编语言
来源:互联网 发布:hadoop与java项目结合 编辑:程序博客网 时间:2024/06/14 04:02
1. 在Linux的内核底层中的代码,多数是以汇编语言完成的。
汇编代码以两种形式存在,一种是纯汇编代码,后缀名为.s的文件。当然这样的汇编代码其中也加入了预编译选项,而不是单纯的汇编。另一种是在C语言中嵌入汇编语言。虽然在ANSI的C语言标准中并没有关于汇编片段的规定,但事实上各种实际使用的C编译中都作了这方面的扩充。GNU的C编译器gcc也在这方面作了很强的扩充。
GNU的C编译器gcc在内核“纯”汇编代码中采用了不同于常用386汇编语言的句法;而在嵌入C程序的汇编片段中,也增加了一些指导汇编工具如何分配使用寄存器、以及如何与C程序中定义的变量相结合的语言成分。这些成分使得这种汇编语言实际上变成了一种介乎386汇编和C之间的一种中间语言。
2.嵌入C代码中的汇编语言
插入C代码中的汇编语言片段可以分为四个部分,以“:”号进行分隔,其一般形式为
指令部:输出部:输入部:损坏部
其中指令部是必需的,格式大体与标准汇编相同。
输出输入指示汇编代码段与C代码变量之间的关联。其相关格式如下:
"m" "v" "o" ----内存单元
"r" ----任意寄存器
"q" ----寄存器eax,ebx,ecx,edx之一
"i" "h" ----直接操作数
"E" "F" ----浮点数
"g" ----任意
"a" "b" "c" "d"-分别表示使用eax,ebx,ecx,edx
"S" "D" ----分别表示使用esi,edi
"I" ----常数(0-31)
- linux 与汇编语言
- linux 汇编语言
- Linux 汇编语言
- Linux 汇编语言开发指南
- Linux 汇编语言开发指南
- Linux汇编语言开发指南
- Linux 汇编语言开发指南
- Linux汇编语言开发指南
- Linux 汇编语言开发指南
- Linux 汇编语言开发指南
- Linux 汇编语言开发
- Linux 汇编语言开发指南
- Linux汇编语言开发指南
- Linux 汇编语言开发指南
- Linux内核中的汇编语言
- Linux内核中的汇编语言
- Linux 环境下汇编语言
- Linux 环境下汇编语言
- linux文件属性详解
- android开发 遇到的问题
- hibernate缓存
- 嵌入式中程序升级,使用ftp shell脚本,方式
- 几个重要平台的auth2登录验证
- linux 与汇编语言
- Xcode工程添加第三方文件的详细分析 Create folder references for any added folders
- D. Tetragon
- .NET 网站自动登录
- 用SecureCRT来上传和下载文件
- C#网络编程系列一:网络协议简介
- Spring中配置数据源的4种形式
- linux chmod命令
- allegro出异形空错误总结