| 作 者: | 邓志 |
| 出版社: | 电子工业出版社 |
| 丛编项: | |
| 版权说明: | 本书为出版图书,暂不支持在线阅读,请支持正版图书 |
| 标 签: | 计算机理论 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第一篇
x86基础第1章
数与数据类型
数
21.1.1
数字
21.1.2
二进制数
31.1.3
二进制数的排列
31.1.4
十六进制数
51.1.5
八进制数与十进制数
数据类型
61.2.1
integer数
61.2.2
floating-point数
91.2.3
real
number(实数)与NaN(not
anumber)
111.2.4
unsupported编码值
141.2.5
浮点数精度的转换
151.2.6
浮点数的溢出
171.2.7
BCD码
201.2.8
SIMD数据
21第2章
x86/x64编程基础
选择编译器
机器语言
Hello
world
252.3.1
使用寄存器传递参数
262.3.2
调用过程
272.3.3
定义变量
16位编程、32位编程,以及64位编程
282.4.1
通用寄存器
282.4.2
操作数大小
302.4.3
64位模式下的内存地址
302.4.4
内存寻址模式
312.4.5
内存寻址范围
342.4.6
使用的指令限制
编程基础
342.5.1
操作数寻址
352.5.2
传送数据指令
392.5.3
位操作指令
452.5.4
算术指令
472.5.5
CALL与RET指令
482.5.6
跳转指令
编辑与编译、运行
48第3章
编写本书的实验例子
实验的运行环境
生成空白的映像文件
523.2.1
使用nasm编译器生成
523.2.2
使用bximage工具
设置bochs配置文件
源代码的基本结构
编译源代码
映像文件内的组织
使用merge工具
563.7.1
merge的配置文件
573.7.2
执行merge命令
使用U盘启动真实机器
583.8.1
使用merge工具写U盘
583.8.2
使用hex编辑软件写U盘
编写boot代码
603.9.1
LBA转换为CHS
623.9.2
测试是否支持int13h扩展功能
633.9.3
使用int13h扩展读磁盘
643.9.4
最后看看load_module()
总结
66第4章
处理器的身份
测试是否支持CPUID指令674.2
CPUID指令的术语及表达
基本信息与扩展信息
处理器的型号(family,model与stepping)
最大的物理地址和线性地址
处理器扩展状态信息
744.6.1
探测Processor
ExtendedState子叶
754.6.2
Processor
ExtendedState子叶所需内存size
764.6.3
Processor
ExtendedState的保存
774.6.4
Processor
ExtendedState的恢复
处理器的特性
处理器的Cache与TLB信息
MONITOR/MWAIT信息
处理器的longmode
84第5章
了解Flags
Eflags中的状态标志位
865.1.1
signed数的运算
865.1.2
unsigned数的运算
IOPL标志位
TF标志与RF标志
NT标志
AC标志
VM标志
eflags寄存器的其他事项
99第6章
处理器的控制寄存器
CR8
CR3
CR0
1046.3.1
保护模式位PE
1046.3.2
x87
FPU单元的执行环境
1046.3.3
CR0.PG控制位
1086.3.4
CR0.CD与CR0.NW控制位
1086.3.5
CR0.WP控制位
1106.3.6
CR0.AM控制位
CR4
1106.4.1
CR4.TSD与CR4.PCE控制位
1106.4.2
CR4.DE与CR4.MCD控制位
1116.4.3
CR4.OSFXSR控制位
1116.4.4
CR4.VMXE与CR4.SMXE控制位
1116.4.5
CR4.PCIDE与CR4.SMEP控制位
1126.4.6
CR4.OSXSAVE控制位
1136.4.7
CR4中关于页的控制位
EFER扩展功能寄存器
114第7章
MSR
MSR的使用
MTRR
1177.2.1
Fixed-range区域的映射
1187.2.2
MTRR的功能寄存器
MSR中对特殊指令的支持
1247.3.1
支持sysenter/sysexit指令的MSR
1257.3.2
支持syscall/sysret指令的MSR
1267.3.3
支持swapgs指令的MSR
1277.3.4
支持monitor/mwait指令的MSR
提供processorfeature管理
其他未列出来的MSR
关于MSR一些后续说明
129第二篇
处理器的工作模式第8章
实地址模式
真实的地址
real
mode的编址
real
mode的状态
段基址的计算
第1条执行的指令
实模式下的执行环境
实模式下的IVT
突破64K段限
A20地址线
137第9章
SMM系统管理模式探索
进入SMM
SMM的运行环境
1419.2.1
SMRAM区域
1419.2.2
SMM执行环境的初始化
1439.2.3
SMM下的operand与address
1449.2.4
SMM下的CS与EIP
1449.2.5
SMM下的SS与ESP
SMM里的中断
SMI的Back-to-Back响应
SMM里开启保护模式
SMM的版本
I/O指令的重启及Halt重启
SMM的退出
SMBASE的重定位
SMI处理程序的初始化
SMM的安全
1569.11.1
芯片组的控制
1569.11.2
处理器对SMRAM空间的限制
1589.11.3
cache的限制
测试SMI处理程序
161第10章
x86/x64保护模式体系(上)
x86/x64的权限
保护模式下的环境
16410.2.1
段式管理所使用的资源
16510.2.2
paging分页机制所使用的资源
物理地址的产生
段式管理机制
16710.4.1
段式内存管理
16810.4.2
段式的保护措施
段式管理的数据结构
16910.5.1
SegmentSelector(段选择子)
16910.5.2
DescriptorTable(描述符表)
17210.5.3
Segment
SelectorRegister(段寄存器)
17410.5.4
SegmentDescriptor(段描述符)
17510.5.5
LDT描述符与LDT
开启保护模式
26010.6.1
初始化GDT
26010.6.2
初始化IDT
26210.6.3
切换到保护模式
263第11章
x86/x64保护模式体系(下)
物理页面
26511.1.1
处理器的最高物理地址(MAXPHYADDR)
26611.1.2
物理页面的大小
26711.1.3
页转换模式(PagingMode)
paging机制下使用的资源
27011.2.1
寄存器
27011.2.2
CPUID查询leaf
27011.2.3
寄存器的控制位
27111.2.4
页转换表资源
32位paging模式(non-PAE模式)
27311.3.1
CR3结构
27411.3.2
32位paging模式下的PDE结构
27511.3.3
使用32位paging
PAE
paging模式
28211.4.1
在Intel64下的CR3与PDPTE寄存器
28311.4.2
在AMD64下的CR3
28511.4.3
PAE
paging模式里的PDPTE结构
28611.4.4
PAE
paging模式里的PDE结构
28611.4.5
PAE
paging模式里的PTE结构
28811.4.6
使用和测试PAEpaging模式
28811.4.7
使用和测试ExecutionDisable功能
IA-32e
paging模式
29711.5.1
IA-32e
paging模式下的CR3
29911.5.2
IA-32e
paging模式下的PML4E结构
30211.5.3
IA-32e
paging模式下的PDPTE结构
30211.5.4
IA-32e
paging模式下的PDE结构
30311.5.5
IA-32e
paging模式下的PTE