网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 计算机/网络 > 商品详情

x86/x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)

分享到:
x86/x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)

最 低 价:¥89.20

定 价:¥119.00

作 者:邓志

出 版 社:电子工业出版社

出版时间:2012-10-1

I S B N:9787121181764

商品详情

编辑推荐

x86处理器介绍得最详尽又最具实践指导意义的一本书

内容简介

本书是对Intel手册所述处理器架构的探索和论证。全书分五大部分,对多个方面对处理器架构相关的知识进行了梳理介绍。书中每个章节都有相应的测试实验,所运行的实验例子都可以在真实的机器上执行。 通过阅读本书,读者应能培养自己动手实验的能力。如果再有一些OS方面的相关知识,基本上就可以写出自己简易的OS核心。

作者简介

邓志,1977年生于广东,在银行工作十余年,现自由职业者。对计算机有一股热情和蛮劲,善于思考,特别喜欢琢磨底层架构。熟悉C语言,并且精通x86/x64平台的汇编语言与机器指令系统,能用汇编写简易的OS核心。

目录

第一篇  x86基础

1  数与数据类型       2

1.1     2

1.1.1  数字   2

1.1.2  二进制数   3

1.1.3  二进制数的排列       3

1.1.4  十六进制数       5

1.1.5  八进制数与十进制数       5

1.2  数据类型      6

1.2.1  integer   6

1.2.2  floating-point 9

1.2.3  real number(实数)与NaNnot a number      11

1.2.4  unsupported编码值   14

1.2.5  浮点数精度的转换   15

1.2.6  浮点数的溢出   17

1.2.7  BCD      20

1.2.8  SIMD数据 21

2  x86/x64编程基础  23

2.1  选择编译器   23

2.2  机器语言      24

2.3  Hello world   25

2.3.1  使用寄存器传递参数       26

2.3.2  调用过程   27

2.3.3  定义变量   27

2.4  16位编程、32位编程,以及64位编程   28

2.4.1  通用寄存器       28

2.4.2  操作数大小       30

2.4.3  64位模式下的内存地址   30

2.4.4  内存寻址模式   31

2.4.5  内存寻址范围   34

2.4.6  使用的指令限制       34

2.5  编程基础      34

2.5.1  操作数寻址       35

2.5.2  传送数据指令   39

2.5.3  位操作指令       45

2.5.4  算术指令   47

2.5.5  CALLRET指令   48

2.5.6  跳转指令   48

2.6  编辑与编译、运行      48

3  编写本书的实验例子    50

3.1  实验的运行环境   50

3.2  生成空白的映像文件   52

3.2.1  使用nasm编译器生成     52

3.2.2  使用bximage工具    52

3.3  设置bochs配置文件    53

3.4  源代码的基本结构      54

3.5  编译源代码   55

3.6  映像文件内的组织      55

3.7  使用merge工具   56

3.7.1  merge的配置文件    57

3.7.2  执行merge命令       57

3.8  使用U盘启动真实机器      58

3.8.1  使用merge工具写U   58

3.8.2  使用hex编辑软件写U       59

3.9  编写boot代码     60

3.9.1  LBA转换为CHS      62

3.9.2  测试是否支持int 13h扩展功能      63

3.9.3  使用int 13h扩展读磁盘  64

3.9.4  最后看看load_module()   64

3.10  总结    66

4  处理器的身份       67

4.1  测试是否支持CPUID指令 67

4.2  CPUID指令的术语及表达  68

4.3  基本信息与扩展信息   68

4.4  处理器的型号(family,modelstepping      72

4.5  最大的物理地址和线性地址      73

4.6  处理器扩展状态信息   74

4.6.1  探测Processor Extended State子叶 75

4.6.2  Processor Extended State子叶所需内存size   76

4.6.3  Processor Extended State的保存     77

4.6.4  Processor Extended State的恢复     78

4.7  处理器的特性      78

4.8  处理器的CacheTLB信息      80

4.9  MONITOR/MWAIT信息     83

4.10  处理器的long mode   84

5  了解Flags      85

5.1  Eflags中的状态标志位       86

5.1.1  signed数的运算 86

5.1.2  unsigned数的运算    89

5.2  IOPL标志位 90

5.3  TF标志与RF标志      93

5.4  NT标志 95

5.5  AC标志 96

5.6  VM标志       98

5.7  eflags寄存器的其他事项    99

6  处理器的控制寄存器    101

6.1  CR8       102

6.2  CR3       103

6.3  CR0       104

6.3.1  保护模式位PE  104

6.3.2  x87 FPU单元的执行环境       104

6.3.3  CR0.PG控制位 108

6.3.4  CR0.CDCR0.NW控制位    108

6.3.5  CR0.WP控制位 110

6.3.6  CR0.AM控制位       110

6.4  CR4       110

6.4.1  CR4.TSDCR4.PCE控制位  110

6.4.2  CR4.DECR4.MCD控制位  111

6.4.3  CR4.OSFXSR控制位       111

6.4.4  CR4.VMXECR4.SMXE控制位  111

6.4.5  CR4.PCIDECR4.SMEP控制位  112

6.4.6  CR4.OSXSAVE控制位    113

6.4.7  CR4中关于页的控制位   113

6.5  EFER扩展功能寄存器       114

7  MSR       116

7.1  MSR的使用  116

7.2  MTRR    117

7.2.1  Fixed-range区域的映射   118

7.2.2  MTRR的功能寄存器       120

7.3  MSR中对特殊指令的支持  124

7.3.1  支持sysenter/sysexit指令的MSR    125

7.3.2  支持syscall/sysret指令的MSR       126

7.3.3  支持swapgs指令的MSR 127

7.3.4  支持monitor/mwait指令的MSR    128

7.4  提供processor feature管理  129

7.5  其他未列出来的MSR  129

7.6  关于MSR一些后续说明    129

第二篇  处理器的工作模式

8  实地址模式    132

8.1  真实的地址   132

8.2  real mode的编址  132

8.3  real mode的状态  133

8.4  段基址的计算      134

8.5  1条执行的指令      134

8.6  实模式下的执行环境   135

8.7  实模式下的IVT   135

8.8  突破64K段限      136

8.9  A20地址线   137

9  SMM系统管理模式探索      138

9.1  进入SMM    138

9.2  SMM的运行环境 141

9.2.1  SMRAM区域    141

9.2.2  SMM执行环境的初始化  143

9.2.3  SMM下的operandaddress  144

9.2.4  SMM下的CSEIP       144

9.2.5  SMM下的SSESP       145

9.3  SMM里的中断    145

9.4  SMIBack-to-Back响应   147

9.5  SMM里开启保护模式 147

9.6  SMM的版本 148

9.7  I/O指令的重启及Halt重启       151

9.8  SMM的退出 152

9.9  SMBASE的重定位     153

9.10  SMI处理程序的初始化    154

9.11  SMM的安全      156

9.11.1  芯片组的控制  156

9.11.2  处理器对SMRAM空间的限制     158

9.11.3  cache的限制    160

9.12  测试SMI处理程序    161

10  x86/x64保护模式体系(上)    163

10.1  x86/x64的权限   164

10.2  保护模式下的环境    164

10.2.1  段式管理所使用的资源  165

10.2.2  paging分页机制所使用的资源     165

10.3  物理地址的产生 166

10.4  段式管理机制    167

10.4.1  段式内存管理  168

10.4.2  段式的保护措施     168

10.5  段式管理的数据结构 169

10.5.1  Segment Selector(段选择子)     169

10.5.2  Descriptor Table(描述符表)      172

10.5.3  Segment Selector Register(段寄存器)      174

10.5.4  Segment Descriptor(段描述符)  175

10.5.5  LDT描述符与LDT 258

10.6  开启保护模式    260

10.6.1  初始化GDT    260

10.6.2  初始化IDT      262

10.6.3  切换到保护模式     263

11  x86/x64保护模式体系(下)    265

11.1  物理页面     265

11.1.1  处理器的最高物理地址(MAXPHYADDR      266

11.1.2  物理页面的大小     267

11.1.3  页转换模式(Paging Mode 268

11.2  paging机制下使用的资源 270

11.2.1  寄存器     270

11.2.2  CPUID查询leaf      270

11.2.3  寄存器的控制位     271

11.2.4  页转换表资源  272

11.3  32paging模式(non-PAE模式)       273

11.3.1  CR3结构  274

11.3.2  32paging模式下的PDE结构   275

11.3.3  使用32paging    279

11.4  PAE paging模式 282

11.4.1  Intel64下的CR3PDPTE寄存器  283

11.4.2  AMD64下的CR3      285

11.4.3  PAE paging模式里的PDPTE结构       286

11.4.4  PAE paging模式里的PDE结构    286

11.4.5  PAE paging模式里的PTE结构    288

11.4.6  使用和测试PAE paging模式 288

11.4.7  使用和测试Execution Disable功能      292

11.5  IA-32e paging模式    297

11.5.1  IA-32e paging模式下的CR3  299

11.5.2  IA-32e paging模式下的PML4E结构   302

11.5.3  IA-32e paging模式下的PDPTE结构   302

11.5.4  IA-32e paging模式下的PDE结构       303

11.5.5  IA-32e paging模式下的PTE

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...