《80386程序员参考手册》求取 ⇩

目录1

第一章 80386引论1

1.1 本手册的组织1

1.1.1 第一部分——应用程序设计2

1.1.2 第二部分——系统程序设计2

1.1.3 第三部分——兼容性3

1.1.4 第四部分——指令系统3

1.3.2 未定义位和软件兼容性4

1.3.1 数据结构格式4

1.3 表示约定4

1.2 相关的文献4

1.1.5 附录4

1.3.3 指令操作数5

1.3.4 十六进制数5

第一部分 应用程序设计6

第二章 基本程序设计模型6

2.1 存贮器组织和分段6

2.1.1 “平面”模型6

2.1.2 分段模型7

2.2 数据类型8

2.3 寄存器10

2.3.1 通用寄存器10

2.3.2 段寄存器10

2.3.3 堆栈的实现12

2.3.4 标志寄存器13

2.3.4.1 状态标志13

2.3.4.2 控制标志14

2.3.4.3 指令指针14

2.4 指令格式14

2.5 操作数选择15

2.5.1 立即操作数…………………………………………………………………(16 )2.5.2 寄存器操作数16

2.5.3 存贮器操作数16

2.5.3.1 段选择17

2.5.3.2 有效地址计算18

2.6 中断和异常20

第三章 应用指令系统22

3.1 数据移动指令22

3.1.1 通用数据移动指令22

3.1.2 堆栈操作指令23

3.1.3 类型转换指令24

3.2 二进制算术运算指令25

3.2.1 加法和减法指令26

3.2.2 比较和符号改变指令26

3.2.3 乘法指令26

3.2.4 除法指令27

3.3 十进制算术运算指令27

3.3.1 压缩的BCD调整指令28

3.3.2 未压缩的BCD调整指令28

3.4 逻辑运算指令28

3.4.3 位扫描指令29

3.4.1 布尔运算指令29

3.4.2 位测试和修改指令29

3.4.4 移位和循环移位指令30

3.4.4.1 移位指令30

3.4.4.2 双倍移位指令31

3.4.4.3 循环移位指令32

3.4.4.4 使用双移位指令作快速“位块传输”33

3.4.4.5 快速位串插入和提取34

3.5.1.1 跳转指令37

3.5.1 无条件转移指令37

3.4.6 测试指令37

3.4.5 按条件字节设置指令37

3.5 控制转移指令37

3.5.1.2 调用指令38

3.5.1.3 返回和中断返回指令38

3.5.2 条件转移指令38

3.5.2.1 条件跳转指令38

3.5.2.2 循环指令38

3.5.2.3 执行一次循环或重复零次40

3.5.3 软件产生的中断40

3.6.1 重复前缀41

3.6 串和字符转换指令41

3.6.2 索引和方向标志控制42

3.6.3 串指令42

3.7 块结构语言的指令43

3.8 标志控制指令47

3.8.1 进位和方向标志控制指令47

3.8.2 标志传递指令47

3.9 协处理器接口指令48

3.10 段寄存器指令48

3.10.2 远程控制转移指令49

3.10.1 段寄存器传递指令49

3.10.3 数据指针指令50

3.11 其它指令50

3.11.1 地址计算指令50

3.11.2 空操作指令51

3.11.3 转换指令51

4.1.1 系统标志52

4.1 系统寄存器52

第四章 系统体系结构52

第二部分 系统程序设计52

4.1.2 存贮器管理寄存器53

4.1.3 控制寄存器53

4.1.4 调试寄存器54

4.1.5 测试寄存器54

4.2 系统指令54

第五章 存贮器管理57

5.1 段转换57

5.1.1 描述符58

5.1.3 选择指针59

5.1.2 描述符表59

5.1.4 段寄存器60

5.2 页面变换61

5.2.1 页面框架61

5.2.2 线性地址61

5.2.3 页表61

5.2.4 页表项62

5.2.4.1 页面框架地址62

5.2.4.2 出现位62

5.2.5 页面转换高速缓存63

5.2.4.3 访问位和修改位63

5.2.4.4 读/写位和用户/管理员位63

5.3 联合段变换和页面变换64

5.3.1 “平面”体系结构64

5.3.2 跨过几个页面的段64

5.3.3 跨过几个段的页面65

5.3.4 未对界的页面和段界线65

5.3.5 对界的页面和段界线65

5.3.6 每个段的页表65

6.3 段级保护66

6.2 80386保护机构概述66

6.1 为什么要保护66

第六章 保护66

6.3.1 描述符存放保护参数67

6.3.1.1 类型检查68

6.3.1.2 界限检查………………………………………………………………(70 )6.3.1.3 特权级70

6.3.2 限制对数据的访问71

6.3.3 限制控制转移72

6.3.4 门描述符保护过程入口点73

6.3.4.1 堆栈切换75

6.3.4.2 从一个过程返回77

6.3.5 一些为操作系统保留的指令78

6.3.5.1 特权指令78

6.3.5.2 敏感指令78

6.3.6 关于指针合法性的指令78

6.3.6.1 描述符合法性80

6.3.6.2 指针一致性和RPL80

6.4.1.2 类型检查……………………………………………………………( 81 )6.4.2 联合两级页表的保护81

6.4.1.1 限制可寻址区间81

6.4.3 对页面保护的取代81

6.4 页面级保护81

6.4.1 页表项含有保护参数81

6.5 联合页面和段保护82

第七章 多任务84

7.1 任务状态段………………………………………………………………(84 )7.2 TSS描述符85

7.3 任务寄存器86

7.4 任务门描述符87

7.5 任务切换88

7.6 任务链接90

7.6.1 忙碌位防止循环91

7.6.2 修改任务链接91

7.7.2 任务的逻辑地址空间92

7.7 任务地址空间92

7.7.1 任务的线性地址到物理地址的变换92

第八章 输入/输出94

8.1 I/O寻址94

8.1.1 I/O地址空间94

8.1.2 存贮器变换的I/O94

8.2 I/O指令95

8.2.1 寄存器I/O指令95

8.2.2 块I/O指令96

8.3 保护和I/O96

8.3.2 I/O允许位图97

8.3.1 I/O特权级97

第九章 异常和中断99

9.1 识别中断99

9.2 使能和禁止中断100

9.2.1 NMI屏蔽进一步的NMI100

9.2.2 IF屏蔽INTR101

9.2.3 RF屏蔽调试故障101

9.2.4 MOV或POP到SS屏蔽某些异常和中断101

9.3 在同时出现的中断和异常中的优先权101

9.4 中断描述符表102

9.5 IDT描述符103

9.6 中断任务和中断过程103

9.6.1 中断过程103

9.6.1.1 中断过程的堆栈104

9.6.1.2 从中断过程返回105

9.6.1.3 中断过程的标志使用105

9.6.1.4 中断过程中的保护105

9.6.2 中断任务105

9.8 异常条件106

9.7 错误代码106

9.8.1 中断0——除法错107

9.8.2 中断1——调试异常107

9.8.3 中断3——断点107

9.8.4 中断4——溢出107

9.8.5 中断5——界限检查107

9.8.6 中断6——无效操作码107

9.8.7 中断7——协处理器不可用108

9.8.8 中断8——双故障108

9.8.9 中断9——协处理器段溢出109

9.8.10 中断10—非法TSS110

9.8.11 中断11——段不出现110

9.8.12 中断12——堆栈异常111

9.8.13 中断13——一般保护异常111

9.8.14 中断14——页面故障112

9.8.14.1 任务切换过程中的页面故障113

9.8.14.2 具有不一致堆栈指针的页面故障113

9.8.15 中断16——协处理器错114

9.9 异常概述115

9.10 错误代码概述116

10.1 复位后的处理器状态117

第十章 初始化117

10.2 对实地址方式的软件初始化………………………………………………(117 )10.2.1 堆栈118

10.2.2 中断表118

10.2.3 第一条指令118

10.3 切换到保护方式118

10.4.3 全局描述符表119

10.4.4 页表119

10.4.5 第一个任务119

10.4.2 堆栈119

10.4.1 中断描述符表119

10.4 为保护方式的软件初始化119

10.5 初始化举例120

10.6 TLB测试128

10.6.1 TLB的结构128

10.6.2 测试寄存器128

10.6.3 测试操作130

第十一章 协处理和多道处理131

11.1 协处理131

11.1.1 协处理器识别131

11.1.2 ESC和WAIT指令131

11.1.5.2 中断9——协处理器段溢出132

11.1.5.1 中断7——协处理器不可用132

11.1.3 EM和MP标志132

11.1.5 协处理器异常132

11.1.4 任务切换标志132

11.1.5.3 中断16——协处理器错133

11.2 一般多道处理133

11.2.1 Lock和Lock#信号133

11.2.2 自动封锁134

11.2.3 高速缓存考虑134

12.1 体系结构的调试特性136

第十二章 调试136

12.2 调试寄存器137

12.2.1 调试地址寄存器(DR0~DR3)137

12.2.2 调试控制寄存器(DR7)138

12.2.3 调试状态寄存器(DR6)138

12.2.4 断点域识别139

12.3 调试异常140

12.3.1 中断1——调试异常140

12.3.1.1 指令地址断点140

12.3.1.4 单步自陷141

12.3.1.3 一般测试故障141

12.3.1.2 数据地址断点141

12.3.1.5 任务切换断点142

12.3.2 中断3——断点异常142

第三部分 兼容性143

第十三章 执行80286保护方式代码143

13.1 80286代码作为80386的一个子集执行143

13.2 执行80286任务的两种方法143

13.3.3 新的描述符类型代码144

13.3.5 增加的异常144

13.3.4 受限的LOCK语义144

13.3.2 描述符的保留字144

13.3.1 80286 24位物理地址空间的环绕144

13.3 与80286的差别144

第十四章 80386实地址方式146

14.1 物理地址形成146

14.2 寄存器和指令147

14.3 中断和异常处理147

14.4 进入和离开实地址方式148

14.5 切换回到实地址方式148

14.7 与8086的差别149

14.6 实地址方式异常149

14.8 与80286实地址方式的不同152

14.8.1 总线封锁152

14.8.2 第一条指令的位置153

14.8.3 通用寄存器的初始值153

14.8.4 MSW的初始化153

第十五章 虚拟8086方式154

15.1 执行8086代码154

15.1.1 寄存器和指令154

15.2 V86任务的结构155

15.1.2 线性地址形成155

15.2.1 为V86任务使用分页功能156

15.2.2 在V86任务中的保护156

15.3 进入和离开V86方式157

15.3.1 通过任务切换的变换158

15.3.2 通过自陷门和中断门的变换158

15.4 增加的敏感指令159

15.4.1 模拟8086操作系统调用159

15.5.3 专用I/O缓冲区160

15.5.2 存贮器变换的I/O160

15.5.1 I/O变换的I/O160

15.5 虚拟I/O160

15.4.2 虚拟中断使能标志160

15.6 与8086的差别161

15.7 与80286实地址方式的差别162

第十六章 混合16位和32位代码164

16.1 80386怎样实现16位和32位特性164

16.2 混合32位和16位操作165

16.4.1 代码段指针的尺寸166

16.4 在混合的代码段之中转移控制166

16.3 在混合的代码段之中共享数据段166

16.4.2 为控制转移的堆栈管理167

16.4.2.1 为一个CALL控制操作数尺寸168

16.4.2.2 改变调用的尺寸168

16.4.3 中断控制转移168

16.4.4 参数变换169

16.4.5 接口过程169

17.1.3 堆栈的操作数尺寸属性170

17.1.2 操作数尺寸和地址尺寸指令前缀170

17.1.1 缺省段属性170

17.1 操作数尺寸和地址尺寸属性170

第十七章 80386指令系统170

第四部分 指令系统170

17.2 指令格式171

17.2.1 Mod R/M和SIB字节172

17.2.2 如何阅读指令系统173

17.2.2.1 操作码173

17.2.2.2 指令177

17.2.2.3 时钟178

17.2.2.5 操作179

17.2.2.4 描述179

17.2.2.6 描述183

17.2.2.7 受影响的标志183

17.2.2.8 保护方式异常183

17.2.2.9 实地址方式异常184

17.2.2.10 虚拟8086方式异常184

附录A 操作码图表318

附录B 全部标志的相互引用325

附录C 状态标志小结327

附录D 条件码329

附录E 指令格式和时序331

《80386程序员参考手册》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由章立生等编 北京科海集团公司培训中心 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

SQL程序员参考手册(1999 PDF版)
SQL程序员参考手册
1999 北京:中国水利水电出版社
库程序参考手册(1988年12月第1版 PDF版)
库程序参考手册
1988年12月第1版 国防工业出版社
MICROSOFT WINDOWS V3.0 程序员参考手册(1991年05月第1版 PDF版)
MICROSOFT WINDOWS V3.0 程序员参考手册
1991年05月第1版 电子工业出版社
DOS程序参考手册( PDF版)
DOS程序参考手册
北京:清华大学出版社
程序员参考手册  3(1991 PDF版)
程序员参考手册 3
1991 中国科学院希望高级电脑技术公司
程序员参考手册  中(1979 PDF版)
程序员参考手册 中
1979
Intel 386 SL SuperSet程序员参考手册( PDF版)
Intel 386 SL SuperSet程序员参考手册
程序员参考手册  第1卷( PDF版)
程序员参考手册 第1卷
fortran5程序设计员参考手册09300015410( PDF版)
fortran5程序设计员参考手册09300015410
苏州电子计算机厂情报室
程序员参考手册  下(1991 PDF版)
程序员参考手册 下
1991 北京:海洋出版社
80386硬件参考手册(1988 PDF版)
80386硬件参考手册
1988 北京科海培训中心
Microsoft鼠标器程序员参考手册(1994 PDF版)
Microsoft鼠标器程序员参考手册
1994 北京:学苑出版社
DOS程序员参考手册(1996 PDF版)
DOS程序员参考手册
1996 北京:清华大学出版社
Perl 5程序员参考手册(1998 PDF版)
Perl 5程序员参考手册
1998 北京:中国水利水电出版社
Visual C++程序员参考手册(1995 PDF版)
Visual C++程序员参考手册
1995 北京:北京大学出版社