在/usr/src/linux/kernel/sys.c中添加源代码能用汇编代码吗?

  具备一些基本的 C 语言知识和 Intel CPU 彙编语言知识 有关 C 语言最佳

一书而汇编语言的资料则可以参考任意一本讲解与 Intel CPU 相关的汇编语言教材。另外还需要一些
嵌入式汇编语言的資料有关嵌入式汇编的权威信息都包含在 GNU gcc 编译器手册中。

 I/O 端口寻址和访问控制方式:统一编址和独立编址

在普通 Linux 系统下通过查看/proc/ioports 文件可以嘚到相关控制器或设置使用的 I/O 地址范围见如下所示。

如何在C语言中嵌入汇编代码

: 输出寄存器: 输入寄存器: 会被修改的寄存器);

  除第 1 行以外后面带冒号的行若不使用就都可以省略。其中“asm”是内联汇编语句关键词;“汇

编语句”是你写汇编指令的地方;“输出寄存器”表示当这段嵌入汇编执行完之后,哪些寄存器用于存放输出数据此地,这些寄存器会分别对应一 C 语言表达式值或一个内存地址;“输入寄存器”表示在开始执行汇编代码时这里指定的一些寄存器中应存放的输入值,它们也分别对应着一 C 变量或常数值“会被修改的寄存器”表示你已对其中列出的寄存器中的值进行了改动,gcc 编译器不能再依赖于它原先对这些寄存器加载的值如果必要的话,gcc 需要重新加载這些寄存器因此我们需要把那些没有在输出/输入寄存器部分列出,但是在汇编语句中明确使用到或隐含使用到的寄存器名列在这个部分Φ示例如下:

1. 干什么的 ? 嵌入一个汇编语言宏函数 

我要回帖

更多关于 push 的文章

 

随机推荐