封面
版权信息
序
前言
第一篇 x86基础
第1章 数与数据类型
1.1 数
1.2 数据类型
第2章 x86/x64编程基础
2.1 选择编译器
2.2 机器语言
2.3 Hello world
2.4 16位编程、32位编程,以及64位编程
2.5 编程基础
2.6 编辑与编译、运行
第3章 编写本书的实验例子
3.1 实验的运行环境
3.2 生成空白的映像文件
3.3 设置Bochs配置文件
3.4 源代码的基本结构
3.5 编译源代码
3.6 映像文件内的组织
3.7 使用merge工具
3.8 使用U盘启动真实机器
3.9 编写boot代码
3.10 总结
第4章 处理器的身份
4.1 测试是否支持CPUID指令
4.2 CPUID指令的术语及表达
4.3 基本信息与扩展信息
4.4 处理器的型号(family,model与stepping)
4.5 最大的物理地址和线性地址
4.6 处理器扩展状态信息
4.7 处理器的特性
4.8 处理器的Cache与TLB信息
4.9 MONITOR/MWAIT信息
4.10 处理器的long mode
第5章 了解Flags
- APP免费
5.1 Eflags中的状态标志位
- APP免费
5.2 IOPL标志位
- APP免费
5.3 TF标志与RF标志
- APP免费
5.4 NT标志
- APP免费
5.5 AC标志
- APP免费
5.6 VM标志
- APP免费
5.7 eflags寄存器的其他事项
- APP免费
第6章 处理器的控制寄存器
- APP免费
6.1 CR8
- APP免费
6.2 CR3
- APP免费
6.3 CR0
- APP免费
6.4 CR4
- APP免费
6.5 EFER扩展功能寄存器
- APP免费
第7章 MSR
- APP免费
7.1 MSR的使用
- APP免费
7.2 MTRR
- APP免费
7.3 MSR中对特殊指令的支持
- APP免费
7.4 提供processor feature管理
- APP免费
7.5 其他未列出来的MSR
- APP免费
7.6 关于MSR一些后续说明
- APP免费
第二篇 处理器的工作模式
- APP免费
第8章 实地址模式
- APP免费
8.1 真实的地址
- APP免费
8.2 real mode的编址
- APP免费
8.3 real mode的状态
- APP免费
8.4 段基址的计算
- APP免费
8.5 第1条执行的指令
- APP免费
8.6 实模式下的执行环境
- APP免费
8.7 实模式下的IVT
- APP免费
8.8 突破64K段限
- APP免费
8.9 A20地址线
- APP免费
第9章 SMM系统管理模式探索
- APP免费
9.1 进入SMM
- APP免费
9.2 SMM的运行环境
- APP免费
9.3 SMM里的中断
- APP免费
9.4 SMI的Back-to-Back响应
- APP免费
9.5 SMM里开启保护模式
- APP免费
9.6 SMM的版本
- APP免费
9.7 I/O指令的重启及Halt重启
- APP免费
9.8 SMM的退出
- APP免费
9.9 SMBASE的重定位
- APP免费
9.10 SMI处理程序的初始化
- APP免费
9.11 SMM的安全
- APP免费
9.12 测试SMI处理程序
- APP免费
第10章 x86/x64保护模式体系(上)
- APP免费
10.1 x86/x64的权限
- APP免费
10.2 保护模式下的环境
- APP免费
10.3 物理地址的产生
- APP免费
10.4 段式管理机制
- APP免费
10.5 段式管理的数据结构
- APP免费
10.6 开启保护模式
- APP免费
第11章 x86/x64保护模式体系(下)
- APP免费
11.1 物理页面
- APP免费
11.2 paging机制下使用的资源
- APP免费
11.3 32位paging模式(non-PAE模式)
- APP免费
11.4 PAE paging模式
- APP免费
11.5 IA-32e paging模式
- APP免费
11.6 TLB与Cache
- APP免费
11.7 page的内存cache类型
- APP免费
11.8 页的保护措施
- APP免费
第12章 Long-mode
- APP免费
12.1 x64体系的设计原则
- APP免费
12.2 开启long-mode
- APP免费
12.3 退出long-mode
- APP免费
12.4 long-mode的执行环境
- APP免费
12.5 long-mode的指令环境
- APP免费
12.6 64位模式与compatibility模式编程
- APP免费
第三篇 调试与性能监控
- APP免费
第13章 断点调试
- APP免费
13.1 Single-Step单步调试模式
- APP免费
13.2 Breakpoint调试模式
- APP免费
13.3 Memory和I/O地址调试模式
- APP免费
第14章 分支记录
- APP免费
14.1 检测处理器的家族和型号
- APP免费
14.2 初识Branch Record
- APP免费
14.3 IA32_DEBUGCTL寄存器
- APP免费
14.4 LBR stack
- APP免费
14.5 使用LBR捕捉branch trace
- APP免费
14.6 #DB异常下的LBR
- APP免费
14.7 IA-32e模式下的LBR stack
- APP免费
14.8 使用Single-step on branch功能
- APP免费
14.9 BTS(Branch Trace Store)机制
- APP免费
第15章 性能监控
- APP免费
15.1 性能监控机制
- APP免费
15.2 Performance monitoring机制的版本
- APP免费
15.3 Nehalem架构下的性能监控机制
- APP免费
15.4 PEBS(Precise Event Based Sampling)机制
- APP免费
15.5 使用Fixed计数器
- APP免费
15.6 Time-stamp counter与clock
- APP免费
第四篇 中断体系
- APP免费
第16章 中断与异常处理
- APP免费
16.1 Interrupt Source(中断源)
- APP免费
16.2 Exception Source(异常源)
- APP免费
16.3 Exception的恢复
- APP免费
16.4 中断vector
- APP免费
16.5 中断的屏蔽
- APP免费
16.6 IDTR寄存器
- APP免费
16.7 IVT(Interrupt Vector Table)
- APP免费
16.8 IDT(Interrupt Descriptor Table)
- APP免费
16.9 gate描述符
- APP免费
16.10 软件上的中断/异常处理流程
- APP免费
16.11 中断/异常调用中的任务切换
- APP免费
16.12 中断/异常调用返回
- APP免费
16.13 错误码
- APP免费
第17章 8259中断控制器
- APP免费
17.1 8259结构
- APP免费
17.2 8259编程
- APP免费
第18章 Local APIC体系
- APP免费
18.1 APIC体系概述
- APP免费
18.2 使用local APIC
- APP免费
18.3 local APIC寄存器
- APP免费
18.4 local APIC ID
- APP免费
18.5 local APIC版本寄存器
- APP免费
18.6 LVT寄存器
- APP免费
18.7 ICR(Interrupt Command Register)
- APP免费
18.8 LVT寄存器及ICR的设置
- APP免费
18.9 中断vector及priority
- APP免费
18.10 处理器的IPI机制
- APP免费
18.11 local APIC的中断处理
- APP免费
18.12 APIC timer
- APP免费
18.13 错误处理
- APP免费
18.14 LINT0与LINT1
- APP免费
18.15 Performance Monitoring
- APP免费
第19章 I/O APIC
- APP免费
19.1 I/O APIC寄存器
- APP免费
19.2 使用HPET(高精度定时器)
- APP免费
第五篇 浮点与SIMD指令环境
- APP免费
第20章 x87 FPU单元与MMX技术
- APP免费
20.1 x87 FPU执行环境
- APP免费
20.2 x87 FPU的异常
- APP免费
20.3 x87 FPU的异常处理机制
- APP免费
20.4 MMX指令环境
- APP免费
20.5 x87 FPU与MMX的状态
- APP免费
20.6 x87 FPU与MMX环境的设置
- APP免费
第21章 SSE系列指令环境
- APP免费
21.1 处理器的资源
- APP免费
21.2 SSE系列指令的异常
- APP免费
21.3 SSE系列指令的操作
- APP免费
21.4 SSE系列指令操作环境
- APP免费
附录A 参考资料
- APP免费
附录B 实验清单
更新时间:2019-03-01 11:50:41