目录 1
序言 1
第一章 80286与这本书 1
关于80286 1
关于80286的结构 1
80286的性能 2
关于这本书 3
能干的286 5
第二章 任务切换与特权层的介绍 5
现行任务 6
现行特权层 6
软件设计的新环境 7
多任务的利用 7
特权层的利用 8
系统设计映入于微处理器结构 9
利用属性精细调整你的系统 9
从一个任务转到另一个 9
特权阶层控制任务的存取性(Accessibility) 10
协处理器与多任务 10
为程序设计师提供的一个小指令 10
处理机的一大步 10
横向式特权层 11
在较高层所附加的特权 11
通往较高特权层的闸路(Gate ways) 11
透明的特权转移 12
复习80286的任务与特权层 13
整体新结构的摘要 13
第三章 简介实地址模式与保护的虚地址模式 15
实地址模式:给8086软件使用的真实地址 15
架起到达保护模式的桥梁 16
启动受保护的虚拟地址模式 16
8086/8088的指令超集(Super set) 16
可以定行8086/8088目的码,并且更快速 16
FSETPM 17
保护模式启动全部的结构 18
原始程序代码的兼容性 18
保护的虚拟地址模式:新的能力 19
描述器担任重要角色 19
为保护模式发展用的新的通用软件 20
第四章 应用程序设计的资源 21
资源概况 21
80286通用寄存器 22
寄存器资源 22
处理器与协处理器的资源 22
80287通用寄存器 24
数据寄存器的堆栈安排 24
FADD ST ST(2) 25
80286的段寄存器 25
80286的指令指针 26
80286的状态字 26
应用寄存器总结 28
数据存取时的寻址方式 28
指定操作数的地址 28
暂时性使用的寄存器模式 29
从存储中存取数据 29
静态变量用的直接内存模式 30
方便用于常数的立即模式 31
用于矩阵元素的间接寄存器模式 32
寻址模式用于程序流程 34
直接内存模式用于大多数的分支指令 34
间接内存模式用于跳转与调用表中 35
间接寄存器寻址选用动态传递的指针 35
数据的类型 36
有符号的整数 37
布系数 37
给操作数说明与配置内存空间 37
无符号的整数……………………………………………………………………(39 )浮点数 39
地址的指针…………………………………………………………………………( 40 )本章摘要 40
第五章 系统程序设计人员的资源 43
系统需要的特殊资源 43
80286系统寄存器的使用 44
中断描述器表寄存器(IDTR) 45
机器状态字 46
任务寄存器 49
80287系统寄存器的使用 50
局部描述器表寄存器(LDTR) 50
控制字 51
用于自动例外处理的设定 52
状态字 54
便笺字(Tag word) 55
指令指针与数据指针 55
系统资源摘要与展望 56
第六章 内存的管理 58
CPU与MMU 58
描述器 59
依需要而驱动的虚拟内存 59
虚拟内存用于多任务 60
实现的方法 60
内存的程序观点 63
段的限制检查 65
虚拟内存操作系统 67
摘要 68
第七章 保护特征的使用 70
保护的重要性 70
保护与特权 70
特权级的表示 71
特权层的各种用途 72
段的限制检查 73
基本的保护特征 73
属性检查 74
设定特殊用途 74
操作系统的保护 75
层的保护规则 75
调用闸门 77
内部的转移 78
在层间转移的堆栈动作 78
当使用参数自动复制特征时 80
一般的系统保护…………………………………………………………………(80 )I/O的特权层 81
MMU提供任务之间的保护 83
设计IOPL的建议 83
保护特征摘要 84
第八章 多任务与任务切换 86
多任务的基础 86
任务状态段 87
任务信息块的一部分 89
TSS的详细内容 90
设定任务状态段 92
设计一个简单的任务 94
任务选择器表 94
高级的任务课题 95
任务切换位 97
任务闸门 97
嵌套式任务与任务链接 98
忙与闲的任务…………………………………………………………………(99 )如何依靠结构建立系统软件 100
机制 101
策略……………………………………………………(101 ) 102
机制与策略之间的关系…………………………………………………………(101 )用于机制/策略分离的结构支持…………………………………………………(101 )多任务结构摘要 102
有关多任务的进一步消息…………………………………………………(102 )第九章 异常与中断 103
用于高优先事件的处理方法………………………………………………………(103 )为什么要提供中断的能力? 103
异常的发展…………………………………………………………………………(104 )我们需要处理的80286的异常情况 105
“好的”异常 105
“坏的”异常…………………………………………………………………(106 )异常与中断的机制 106
中断向量表……………………………………………………………………(106 )异常槽位的指定 107
NMI及INTR信号 109
NMT的自动指向…………………………………………………………………(109 )INTR的动态指向 110
可重复执行性 110
可重新执行的指令 111
异常的改正 111
设立一个中断描述器表……………………………………………………………( 111 )用于IDT的闸门中断、陷境及任务 111
在中断、陷井与任务闸门之间做决定 113
高级的中断课题 113
中断式的结构 113
用于CPU异常的闸门 114
中断任务的结构 114
#0:除法错误 115
#1:单步执行 115
#6:无效的操作码 116
#7:数字协处理器无效 116
#8:双重失误 116
#9:数学协处理器的操作数部分超出段限制 116
#10:无效的任务状态段 116
#11:程序代码段、数据段与辅助段不存在 117
#12:堆栈段不存在或违反堆栈段限制(堆栈失误) 117
中断与异常总结 118
至31号的其余异常 118
#13:一般的保护违犯 118
#16:数学协处理器计算错误 118
第十章 80286的应用 121
由重置到保护模式的程序 121
可写在EPROM中的程序 121
以可观察方式定义描述器 121
第一个程序例子:具有异常处理程序的简单保护模式 122
程序例子:多工作范例 123
完全测试过的硬件设计 155
系统框图 155
第十一章 构造并检测一个以80286为基础的系统 155
核心:处理器与支持元件 156
82284脉冲产生器 156
80286CPU与82288总线控制器 156
焦点:80286的总线周期 159
EPROM、静态RAM、及外设接口……………………………………………( 160 )零件布置图及电路图 162
硬件诊断指示 162
KISS的原理 162
LED的显示 168
简单的诊断软件 169
诊断如何执行 170