第一章 微型计算机基础 1
第一节 绪论 1
一、计算机的发展历程 1
二、汇编语言的上机过程 13 6
二、微型计算机的概念及它的组成和结构 7
三、微型计算机的应用 15
四、学习“微机原理及应用”课程应注意的问题 17
一、微型计算机的数制 18
第二节 微型计算机的数制及其转换 18
二、微型计算机的数制转换 21
第三节 非数值数据的编码方法 25
一、字符数据 25
二、汉字编码 27
第四节 微型计算机的二进制数运算 28
一、算术运算 28
二、逻辑运算 30
第五节 原码、补码、反码及其相应的运算法则 31
一、原码 31
三、补码 32
二、反码 32
四、求补码的方法 33
五、补码的运算 34
六、关于“0”的问题 35
七、溢出及其判断方法 36
八、不带符号数的运算 38
第六节 数的定点与浮点表示 38
一、定点法 38
二、浮点法 39
习题与思考题 40
二、8086微处理器的内部结构 42
第二章 8086微处理器及其系统结构 42
第一节 8086微处理器内部结构 42
一、指令和程序的解释方式 42
三、8086微处理器的寄存器结构 44
四、8088与8086在内部结构上的比较 47
第二节 8086微处理器的引脚功能 47
一、引脚功能 47
二、8086的工作方式及信号定义 49
三、8086系统的基本配置 50
四、8088与8086在引脚和系统配置上的区别 52
第三节 8086系统的存储器组织 53
一、存储器的分段管理 53
二、存储器组织 55
三、堆栈 56
一、基本概念 57
二、时钟及时钟信号发生器 57
第四节 8086的时钟和总线周期 57
三、8086CPU总线周期的构成 58
四、几个基本时序 59
第五节 IBMPC/XT微机的基本配置 61
习题与思考题 63
第三章 8086/8088的寻址方式和指令系统 65
第一节 指令的基本格式 65
一、机器码格式 65
二、8086/8088符号指令的书写格式 66
第二节 8086/8088的寻址方式 66
附录C中断向量地址表 3 67
一、立即数寻址方式(ImmedieteAddressing) 67
二、寄存器寻址方式(RegisterAddtessing) 67
三、固定寻址(InherentAddressing) 68
四、存储器寻址 68
五、相对寻址 73
六、I/O端口寻址 74
第三节 8086/8088指令系统 76
一、数据传送(DataTransfer)类指令 77
二、算术运算(Arithmetic)类指令及应用 82
三、逻辑运算和移位(Logic Shift)循环指令 93
四、信息串操作(StringManipulation)指令 99
五、控制转移(ControlJump)类指令 105
六、处理器控制指令 116
第四节 中断指令及DOS功能调用 118
一、中断 118
二、DOS的系统功能调用和基本I/0子程序调用 121
三、BIOS中断调用 126
四、返回DOS的中断调用 128
习题与思考题 129
第四章 汇编语言程序设计 134
第一节 概述 134
一、完整的汇编语言源程序实例 135
第二节 汇编语言程序格式 138
第三节 程序块定义伪指令 140
一、程序分段定义伪指令 140
二、过程定义伪指令PROC/ENDP 143
三、程序块间通信伪指令PUBLIC和EXTRN 144
第四节 MASM中的表达式和运算符 145
第五节 伪指令及宏指令 152
一、数据定义及存储器分配伪指令 152
二、符号定义伪指令EQU和= 154
三、LABEL伪指令 155
四、结构定义伪指令STRUC/ENDS 156
五、记录定义伪指令RECORD 160
六、宏指令 163
一、应用软件设计与程序的基本结构 166
第六节 汇编语言程序设计方法 166
二、顺序结构程序设计 168
三、分支程序设计 171
四、循环程序设计 175
五、过程(子程序)设计 177
六、综合举例 183
习题与思考题 190
一、按用途分类 192
第五章 存储器 192
第一节 存储器分类 192
二、按存储器性质分类 193
一、静态随机存取存储器(SRAM) 194
第二节 随机存取存储器RAM 194
二、动态随机存取存储器(DRAM) 197
三、8086对存储器的读/写时序 201
第三节 半导体只读存储器ROM 203
第四节 存储器的扩展 207
一、主存储器逻辑设计 208
二、主存储器与CPU的连接 214
第五节 微机常用操作系统的内存管理 223
习题与思考题 224
一、中断及中断源 226
二、中断处理过程 226
第一节 中断的基本概念 226
第六章 中断系统 226
三、中断系统及其功能 228
第二节 8086/8088中断系统 228
一、8086/8088中断源 228
二、8086/8088的中断处理过程 231
三、8086/8088中断向量表 233
四、中断优先权管理 234
五、关于外部中断 235
第三节 8259A可编程中断控制器 237
一、8259A引脚及其功能 237
二、8259A内部结构及中断处理过程 238
三、8259A的控制字及其工作方式 240
习题与思考题 247
第七章 基本输入输出接口 249
一、输入输出接口功能描述 249
第一节 微型计算机接口概述 249
二、输入输出指令及输入输出编址 250
三、输入输出端口地址译码 251
第二节 8086/8088CPU与外设间的数据交换方式 251
一、程序控制方式 252
二、中断控制方式 255
三、直接存储器存取(DMA)控制方式 256
一、82C55的内部结构 257
第三节 82C55并行I/O接口 257
二、82C55的外部特性 258
三、82C55的控制字 259
四、82C55的工作方式 261
五、82C55的应用举例 267
第四节 可编程计数器/定时器8253/8254 269
一、8253/8254引脚及其功能 269
二、8253/8254内部结构 271
三、8253/8254的控制字及编程命令 272
四、8253/8254的工作方式 273
五、8253/8254的应用举例 279
第五节 异步串行通信及其可编程接口芯片16C550 280
一、串行通信的基本概念 280
二、异步串行通信接口规范 282
三、可编程异步串行通信接口芯片16C550 286
习题与思考题 300
第八章 现代微处理器及其系统结构 301
第一节 现代微处理器内部结构 301
一、80286微处理器 301
二、80386微处理器 303
三、80486微处理器 305
四、Pentium微处理器 307
五、PentiumⅡ、PentiumⅢ和PentiumⅣ微处理器 309
六、新一代微处理器——Itanium(安腾) 311
一、80386和80486微机的基本结构 312
第二节 现代微机基本结构 312
二、现代微机的基本结构 313
第三节 PCI总线 316
一、PCI总线的特点 317
二、PCI信号定义 317
三、PCI总线命令 319
四、数据传输过程及PCI中断响应周期 320
习题与思考题 323
一、编中断驻留程序要解决的问题 324
二、内部时钟到显示时钟转换的有关问题 324
第一节 内存驻留及时钟显示程序 324
第九章 汇编语言高级编程 324
第二节 三窗口全屏幕输入程序 330
第三节 鼠标 336
第四节 程序中运行另一个程序的程序 337
第五节 程序中执行DOS命令的程序 339
第六节 如何加密/解密数据文件 341
一、程序说明 341
二、程序清单 342
第七节 FORTRAN调用汇编语言子程序 345
一、参数的传送 345
二、调用方法 345
四、应用举例 347
三、编程时应注意的一些问题 347
第八节 Pascal和汇编语言的连接 349
一、有关的Pascal语句和调用约定 349
二、连接方法 352
第九节 汇编与C++语言混合编程 353
第十节 彩色动态图形程序 354
附录AASCII码的显示输出码 359
附录B8086/8088指令系统一览表 360
附录DDOS功能调用表 368
附录EBIOS中断调用表 373
附录F调试程序DEBUG的主要命令 377
参考文献 381