您的位置:首页 > 运维架构 > Linux

Linux内核分析 笔记一——by王玥

2016-02-24 14:01 465 查看
1.冯诺依曼体系结构:也就是指存储程序计算机

硬件(存储程序计算机工作模式)



软件(程序员角度):



2.API:程序员与计算机的接口界面

ABI:程序与CPU的接口界面



3.X86的实现:



4.X86 CPU的寄存器:

所有E开头的寄存器一般来说都是32位的。

EBP:堆栈基址指针

ESP:堆栈顶指针

32位通用寄存器:



5.CPU在实际取指令时根据cs:eip来准确定位一个指令



6.EFLAGS register标志寄存器

7.X86的32位寄存器和64位寄存器在核心机制上差别不大,前面带R的都是64位寄存器



8.X86汇编指令:mov指令及几种内存寻址方式

movl代表32位

movq代表64位

寄存器模式:以%开头的寄存器标识符

立即数:以$开头的数值

直接寻址:直接访问一个指定的内存地址的数据

间接寻址:将寄存器的值作为一个内存地址来访问内存

变址寻址:在间接寻址时改变寄存器的数值



9.linux内核使用的是AT&T汇编格式

10.几个重要的汇编指令:push、pop、call、ret

11.函数调用堆栈是理解C代码在CPU上执行的关键。

12.eip寄存器不能被直接修改,只能通过特殊指令间接修改。

13

可以被

代替

14.


15.函数调用堆栈是由逻辑上多个堆栈叠加起来的。

16.函数的返回值默认使用eax寄存器存储返回给上一级函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: