- 博客(4)
- 收藏
- 关注
原创 linux驱动模式理解
看了这么多linux驱动的书,也看了几个项目的代码,总结linux驱动有以下几点模式: 因为在编写驱动时,相当于将自己的设备功能和内核中的驱动接口衔接起来,所以,相当于面向接口编程的思想模式: 所以在编写驱动时,只要实现以下几个接口(一般以结构数据形式表示),就完成了驱动的基本功能。 1.设备接口实现(包含设备的一些基本信息,在这个接口结构中,一般
2016-08-02 23:48:37
590
原创 函数帧的esp与ebp操作
每一个函数都有一个函数帧(就是以ebp为基地址,esp为顶地址),而函数之间的调用会出现帧的切换,这时用到了两个寄存器,esp与ebp,那么它们的作用与关心是怎样的呢:由两句话可知: ESP:栈(顶)指针,始终指向栈顶,当遇到push、pop、call、ret等指令时它会改变,因此,程序员使用它来进行数据寻址是不方便的。 EBP:栈指针,一旦赋值,除非显式修改其值不会改变。它便于
2016-05-08 17:25:43
788
原创 x86中断编程
x86下的cpu ,有256个中断,0~19号中断属于CPU所有,而且第20-31号中断也被Intel保留,所以从32~255号才属于用户自定义中断。分为两种中断模式,实模式和保护模式。 实模式下:即cpu在上电时得运行模式,为16位,即bios相似的运行环境,cpu具体启动如 http://www.mouseos.com/arch/interrupt.html所述( process
2016-05-06 20:38:32
955
原创 x86汇编寻址理解
在cpu地址编码中,我以前接触过arm,avr的寻址方式,一般都是直接编码,地址映射就是地址总线的物理地址编码。而最近接触到IA32的汇编语言,感觉比arm复杂得多。所以做个学习笔记标记。 在arm中,一般寻址都是在总线编码范围内寻址。而在x86中,分为实模式和保护模式,实模式是指在16为段地址编码下的寻址模式。因为intel cpu在最初的时候使用20位的地址总线,而寄存器只有1
2016-04-29 15:05:11
1816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人