linux内核代码学习笔记(一)
来源:互联网 发布:店宝宝坑人软件 编辑:程序博客网 时间:2024/06/05 21:32
感觉有时学些忘些,记些笔记,免得总是翻书。
8086寻址:
段(Segment)寻址模式---段地址部分使用16位的段选择符指定,其中14位可以选择214即16384个段。段内偏移地址部分使用32位
的值来指定,因此段内地址可以是0~4GB。即一个段的最大长度可达4GB。程序中由16位的段和32位的偏移构成的48位地址或长指针称为一
个逻辑地址(虚拟地址)。80x86为段部分提供了6个存放段选择符的段寄存器:CS、DS、ES、SS、FS和GS。其中CS总是用于寻址
代码段,而堆栈段则专门使用SS段寄存器。在任何指定时刻由CS寻址的段称为当前代码段。此时EIP寄存器中包含了当前代码段内下一条要执行
指令的段内偏移地址。因此要执行指令的地址可表示成CS:[EIP]。由段寄存器SS寻址的段称为当前堆栈段。栈顶由ESP寄存器内容指定。因此
堆栈顶处地址是SS:[ESP]。
IA—32平台寄存器:
通用寄存器—8个32位寄存器(EAX, EBX, ECX, EDX, EDI, ESI, ESP, EBP),EAX、EBX、ECX、EDX可以通过16位和8位引
用,如AX为低16位,其中又分AL低8位,AH高8位。
段寄存器—6个16位寄存器
指令指针寄存器(EIP)
浮点数据寄存器—8个80位寄存器,用于浮点数学数据
控制寄存器—5个32位寄存器(CR0, CR1, CR2, CR3, CR4)
调试寄存器—8个32位寄存器,用于在调试处理器时包含的信息
处理器使用IDTR寄存器来定位IDT表的位置,IDT表可以驻留在线性地址空间的任何地方。个寄存器中含有IDT表32位的基地址和16位
的长度(限长)值,共48位。LIDT和SIDT指令分别用于加载和保存IDTR寄存器的内容。
- linux内核代码学习笔记(一)
- linux内核代码情景分析学习笔记(一)
- linux内核代码学习笔记(二)
- [LINUX内核编程]学习笔记(一)
- linux内核学习笔记(一)
- Linux内核学习笔记一
- Linux内核学习笔记(一)
- Linux内核学习笔记一
- Linux内核学习笔记一
- linux 0.12 源码学习笔记(一)内核引导
- Linux内核设计与实现 学习笔记(一)
- Linux下USB内核之学习笔记(一)
- Linux内核学习笔记之系统启动(一)
- Linux内核学习笔记之系统启动(一)
- LINUX内核进程调度学习笔记(一)
- linux内核学习笔记------邻居子系统(一)
- 深入linux内核架构-学习笔记一
- linux kernel 学习笔记一 编译内核
- Global Derivatives Volumes Soared 25 Percent in 2010
- 嵌入式平台的硬件架构
- Nooby的自述
- Linux初到者五个最易犯的错误
- 网站针对baidu的优化技巧
- linux内核代码学习笔记(一)
- TITLE的更改对搜索引擎的影响
- u-boot移植随笔:关于u-boot引导内核出现“Error: unrecognized/unsupported machine ID (r1 = 0x33f4fee8)”的问题
- Android通讯录查询篇--ContactsContract.Data开篇
- 中国品牌战略代表团莅临duncle工厂考察学习
- 同事的你
- Linux Fedora14下利用DNW烧写文件
- static
- ofstream与ifstream(转载)