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寄存器存储返回给上一级函数。
硬件(存储程序计算机工作模式):
软件(程序员角度):
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寄存器存储返回给上一级函数。
相关文章推荐
- CentOS RPM安装MySQL 5.6修改默认密码
- Vi/Vim查找替换使用方法
- linux设备驱动归纳总结(三):1字符型设备之设备申请
- linux no space left on device的解决办法(iNode满导致)
- Linux下装Eclipse C/C++,以及环境配置
- Linux系列软件源码安装之五-----vsftpd服务器
- linux安装confluence5.8.10破解版
- linux安装confluence5.8.10破解版
- CentOS6.5内核升级到linux 3.12.17教程
- 1.2 CentOS6 命令行配置静态IP地址步骤
- centos 自动联网
- 浅谈 Linux 系统中的 SNMP Trap
- CentOS6下yum升级Zabbix2.2/2.4到Zabbix3.0
- linux c flash安全策略
- linux 怎么完全卸载mysql数据库
- 了解Linux的基础知识和一般概念
- linux整理错误集合
- linux设备驱动归纳总结(二):模块的相关基础概念
- java在linux的配置和ant自动打包
- linux例行性工作 crontab详解