本书将微机原理与汇编语言和微机接口技术融为一体。在以80486为主介绍指令系统的基础上,充分考虑了80X86系列的衔接性。汇编语言以MASM6.0为主,同时介绍了与MASM5.X的区别,详细讲解了基于80X86的汇编程序设计方法。书中在介绍传统的接口技术(并行、串行、定时、DMA、中断、模/数及数/模)之前,专门安排一章讲解软件接口技术,重点介绍了DOS下的端口调用技术和Windows环境下的面向对象编程语言的接口调用方式,以开阔学生的知识面。同时,在本书的第9章,介绍了最新的高速串行接口USB和IEEE 1394。 本书力求既适合课堂教学,又能紧跟最新技术,拓宽学生的知识面。本书可作为高等学校本科计算机专业及信息类相关专业学生的教材或参考书,参考课时为64~80,也可以供广大工程技术人员参考。
目录
- 第1章微型计算机概述1
- 1.1微型计算机的概念 1
- 1.2微处理器的产生和发展 2
- 1.3微型计算机系统的组成 4
- 1.3.1硬件系统 5
- 1.3.2软件系统 6
- 1.4微型计算机的应用及发展 9
- 小结 10
- 习题 10
- 第2章80X86微处理器11
- 2.1内部结构 11
- 2.1.18086/8088的内部结构11
- 2.1.280386的内部结构14
- 2.1.380486的内部结构16
- 2.280X86的内部寄存器组17
- 2.2.18086的内部寄存器组 17
- 2.2.280386的内部寄存器组20
- 2.2.380486的内部寄存器组24
- 2.380X86的引脚信号 24
- 2.3.18086/8088的引脚信号及功能 24
- 2.3.280486的引脚信号及功能 29
- 2.480X86系统总线的构成 33
- 2.4.18086的时钟和总线周期概念33
- 2.4.28086的最小和最大工作模式 35
- 2.4.38086的操作和时序 36
- 2.4.480486的读写总线操作43汇编语言与接口技术目录2.580486的工作方式 44
- 2.680X86的中断系统 45
- 2.6.1中断和中断处理45
- 2.6.28086的中断系统46
- 2.6.380486的中断 48
- 2.780X86存储器和I/O组织49
- 2.7.18086/8088存储器组织 49
- 2.7.2I/O端口的组织 51
- 2.7.380486的虚拟存储机制和片内两级存储管理52
- 2.8Pentium的主要特点53
- 小结55
- 习题56
- 第3章80X86的指令系统和寻址方式 59
- 3.1数据类型 59
- 3.280X86的寻址方式 60
- 3.2.1数据寻址方式 61
- 3.2.2程序寻址方式63
- 3.2.3操作数宽度和寻址宽度的确定64
- 3.2.4I/O地址空间 66
- 3.2.5段寄存器的确定66
- 3.380X86的指令系统67
- 3.3.1传送类指令 67
- 3.3.2算术运算指令 74
- 3.3.3逻辑运算指令 79
- 3.3.4移位指令和循环移位指令 80
- 3.3.5位操作指令 82
- 3.3.6位串操作指令83
- 3.3.7串操作指令与重复前缀83
- 3.3.8转移指令 85
- 3.3.9调用指令与返回指令88
- 3.3.10标志位设置指令与按条件设置字节指令 91
- 3.3.11数字指令 92
- 3.3.12系统寄存器的装入与存储指令93
- 3.3.13保护属性检查指令 95
- 3.3.14高级语言指令 96
- 3.3.15暂停指令和空操作指令98
- 3.3.16cache管理指令98
- 3.3.17指令前缀小结 98
- 3.3.18Pentium引入的与系统有关的指令99
- 小结 100
- 习题 100
- 第4章80X86汇编语言程序设计 105
- 4.1MASM宏汇编语句结构以及开发过程 105
- 4.1.1汇编语言程序的语句类型和格式 105
- 4.1.2汇编语言的程序格式 107
- 4.1.3汇编语言程序的开发过程 109
- 4.2MASM汇编语言表达式、运算符114
- 4.2.1数值型参数 114
- 4.2.2变量定义伪指令118
- 4.2.3变量和标号的属性123
- 4.3程序段的定义和属性126
- 4.3.1DOS的程序结构126
- 4.3.2简化段定义的格式127
- 4.3.3完整段定义的格式131
- 4.4复杂数据结构136
- 4.4.1结构 137
- 4.4.2记录 138
- 4.5宏汇编139
- 4.5.1宏的定义和调用 140
- 4.5.2宏的参数 142
- 4.5.3与宏有关的伪指令144
- 4.5.4宏与子程序 146
- 4.6基本汇编语言程序设计146
- 4.6.1顺序程序设计 147
- 4.6.2分支程序设计 148
- 4.6.3循环程序设计 152
- 4.7子程序设计 156
- 4.7.1过程定义伪指令156
- 4.7.2子程序的参数传递159
- 4.7.3子程序的嵌套、递归与重入163
- 4.7.4子程序的应用 166
- 4.8高级汇编语言程序设计 171
- 4.8.1条件控制伪指令 171
- 4.8.2循环控制伪指令 174
- 4.8.3过程声明和过程调用伪指令176
- 小结 180
- 习题 180
- 第5章软件接口技术187
- 5.1接口概述 187
- 5.1.1接口的功能187
- 5.1.2驱动软件的运行方式189
- 5.1.3接口缓冲区 191
- 5.1.4接口软件及层次结构191
- 5.2DOS系统下的接口调用 193
- 5.2.1BIOS功能级软件接口及实现 193
- 5.2.2DOS功能级软件接口及调用实例197
- 5.3Windows下的接口调用 201
- 5.3.1Windows的体系结构 201
- 5.3.2Windows操作系统的内核进程202
- 5.3.3Windows NT的设备驱动调用204
- 5.4COM编程技术 225
- 5.4.1COM对象 225
- 5.4.2COM接口227
- 5.4.3IUnknown接口 233
- 小结 243
- 习题 244
- 第6章串并行接口技术 245
- 6.1定时器/计数器8253/8254245
- 6.1.18253/8254的内部结构和引脚246
- 6.1.28253/8254的工作方式247
- 6.1.38253/8254的编程 251
- 6.1.48253/8254的应用实例 254
- 6.2串行通信基础 256
- 6.2.1串行通信基本概念257
- 6.2.2串行通信接口标准258
- 6.3串行通信芯片8251A261
- 6.3.18251A的内部结构和外部引脚262
- 6.3.28251A的工作方式 265
- 6.3.38251A的编程 266
- 6.3.48251A的应用实例 271
- 6.4并行通信接口8255A 273
- 6.4.18255A的内部结构和外部引脚273
- 6.4.28255A的工作方式 274
- 6.4.38255A的编程 278
- 6.4.48255A的应用实例280
- 小结 283
- 习题 284
- 第7章中断和DMA技术 287
- 7.1可编程中断控制器8259A 287
- 7.1.18259A的内部结构和外部引脚287
- 7.1.28259A的中断过程 290
- 7.1.38259A的工作方式 291
- 7.1.48259A的初始化和控制命令字 294
- 7.1.58259A的应用实例 301
- 7.2可编程DMA控制器8237A 303
- 7.2.18237A的内部结构和外部引脚 304
- 7.2.28237A的工作原理307
- 7.2.38237A的内部寄存器和命令310
- 7.2.48237A的编程和应用314
- 小结 316
- 习题 317
- 第8章模/数和数/模转换319
- 8.1模拟输入输出系统 319
- 8.1.1微型机与控制系统接口 319
- 8.1.2模拟输入通道 320
- 8.1.3模拟输出通道 321
- 8.2数/模转换芯片及接口 321
- 8.2.1数/模转换器的主要性能指标 321
- 8.2.28位数/模转换器DAC0832 322
- 8.2.312位数/模转换器AD567 325
- 8.3模/数转换芯片及接口 328
- 8.3.1模/数转换原理 328
- 8.3.28位模/数转换器ADC0809333
- 8.3.312位模/数转换器AD574A335
- 8.4模/数、数/模器件的选择 338
- 小结340
- 习题 340
- 第9章高速串行总线 343
- 9.1高速串行接口简介 343
- 9.2USB体系结构 346
- 9.2.1USB的拓扑结构 346
- 9.2.2USB的物理接口 349
- 9.3USB通信协议 352
- 9.3.1通信模型 352
- 9.3.2数据格式 353
- 9.3.3事务处理 355
- 9.3.4数据传输模式357
- 9.4PC机的USB应用及开发359
- 9.5USB2.0简介361
- 9.6IEEE 1394体系结构361
- 9.6.1IEEE 1394的拓扑结构361
- 9.6.2IEEE 1394的物理接口363
- 9.7IEEE 1394通信协议364
- 小结368
- 习题369
- 参考文献371