第1章数制和码制1
1.1计算机中的数制1
1.2计算机中的码制4
1.3浮点数基本概念7
习题10
第2章计算机基础知识11
2.1计算机系统组成11
2.1.1计算机系统的硬件组成11
2.1.2计算机系统的软件组成12
2.1.3微型机的硬件结构12
2.2存储器基础知识13
2.2.1存储器分类13
2.2.2存储器基本操作14
第3章80486微处理器17
3.180486的内部结构17
3.1.1基本结构介绍17
3.1.2寄存器组18
3.1.380486微处理器的地址空间21
3.280486的工作模式介绍23
3.2.1实地址模式23
3.2.2保护虚拟地址模式23
3.380486的外部引脚介绍24
3.3.1数据线类(D0~D31)24
3.3.2地址线类(A2~A3, A4~A31,BE0,BE1,BE2,BE3)25
3.3.3控制线类26
习题 31
第4章指令系统32
4.1概述32
4.280486的寻址方式33
4.2.1立即寻址33
4.2.2寄存器寻址33
4.2.3存储器操作数的寻址方式34
4.2.480486寻址方式的段约定和段超越38
4.380486的标志寄存器38
4.480486的基本集指令41
4.4.1传送类指令41
4.4.2算术运算指令45
4.4.3转移和调用指令53
4.4.4逻辑运算和移位指令59
4.4.5串操作指令62
4.4.6处理机控制指令69
习题 69
第5章宏汇编语言71
5.1汇编源程序的语句类型71
5.2宏汇编基本语法71
5.2.1标号、变量和常量71
5.2.2运算符73
5.3数据定义伪指令75
5.4宏汇编语言基本语句77
第6章汇编语言程序设计 83
6.1汇编源程序的编程格式83
6.1.1EXE文件的编程格式83
6.1.2COM文件的编程格式84
6.1.3EXE文件和COM文件的内存映像85
6.1.4程序段前缀86
6.1.5返回DOS的其他方法87
6.1.6源程序堆栈段的设置88
6.2DOS系统I/O功能调用89
6.3BIOS键盘输入功能调用93
6.4文本方式BIOS屏幕功能调用94
6.4.1显示器94
6.4.2文本方式BIOS屏显功能调用97
6.5分支程序99
6.6循环程序101
6.7子程序及其调用104
6.8宏指令与条件汇编108
6.8.1宏指令与宏调用108
6.8.2条件汇编111
6.9代码转换112
6.10数值计算121
6.11数据处理123
6.12字符串的动态显示技术135
6.13模块化程序设计138
6.13.1支持模块化程序的伪指令139
6.13.2模块化程序的设计考虑139
6.13.3模块化程序设计举例140
6.13.4宏指令共享146
6.14图形方式下的程序设计148
6.14.1图形方式BIOS功能148
6.14.2图形方式程序设计举例150
6.15磁盘文件管理155
6.15.1DOS文件操作功能调用155
6.15.2文件操作程序设计157
习题162
第7章输入/输出系统163
7.1概述163
7.1.1接口电路163
7.1.2输入/输出端口 164
7.1.380486的输入/输出指令165
7.2微机系统与输入/输出设备信息交换166
7.2.1无条件传送方式166
7.2.2查询方式167
7.2.3中断控制方式168
7.2.4直接存储器存取(DMA)方式169
7.3可编程定时器/计数器8254170
7.3.18254的内部结构170
7.3.28254的引脚功能172
7.3.38254的工作方式173
7.3.48254的控制字与编程方法177
7.3.58254在微机系统中的应用180
7.4发声系统与音乐程序设计182
7.4.1PC系列机发声系统182
7.4.2音乐程序设计举例184
习题186
第8章中断系统188
8.1中断的基本概念188
8.280x86的中断指令189
8.3中断向量190
8.4中断描述符192
8.5微机系统的中断分类193
8.5.1CPU中断193
8.5.2软件中断194
8.68259A中断控制器196
8.6.18259A的内部结构196
8.6.28259A的中断管理方式198
8.6.38259A的初始化201
8.7微机系统可屏蔽中断202
8.7.1可屏蔽中断与非屏蔽中断202
8.7.2可屏蔽中断的硬件结构202
8.7.3硬件中断和软件中断的区别205
8.8日时钟中断205
8.9实模式定时中断程序设计206
8.9.1定时中断程序的设计方法206
8.9.2定时中断程序设计举例208
8.10实时时钟中断215
8.10.1实时时钟电路215
8.10.2周期中断217
8.10.3报警中断219
8.11键盘中断223
8.11.1键盘中断全过程223
8.11.2键代码生成224
习题227
第9章微机系统串行通信228
9.1串行通信基础228
9.1.1串行通信类型228
9.1.2串行数据传输方式229
9.1.3串行异步通信协议230
9.2可编程串行异步通信接口芯片8250232
9.2.18250的内部结构232
9.2.28250的引脚功能234
9.2.38250的内部寄存器236
9.2.48250的初始化编程240
9.3串行通信程序设计241
9.3.1BIOS通信软件241
9.3.2串行通信的外部环境243
9.3.3串行通信程序设计244
9.4可编程串行通信接口芯片8251A249
9.4.18251A的内部结构249
9.4.28251A的工作原理250
9.4.38251A的引脚功能251
9.4.48251A的命令字与初始化编程253
习题256
第10章并行I/O接口257
10.1并行I/O接口芯片8255A257
10.1.18255A的内部结构及外部引脚257
10.1.28255A的控制字与初始化编程260
10.1.38255A的工作方式261
10.28255A的应用268
10.3打印机并行接口278
10.3.1打印机并行接口标准278
10.3.2打印机适配器279
10.3.3打印机接口编程281
习题286
第11章DMA控制器288
11.1概述288
11.28237A DMA控制器289
11.2.18237A的内部结构和引脚功能289
11.2.28237A的内部寄存器292
11.2.38237A的时序297
11.38237A的应用298
11.3.18237A的初始化编程298
11.3.28237A在IBM PC/AT系统中的应用299
习题301
第12章数模和模数转换302
12.1数模转换302
12.1.1数模转换原理302
12.1.2DAC 0832简介303
12.2模数转换305
12.2.1模数转换原理305
12.2.2ADC 0809简介306
第13章存储系统308
13.1存储系统的基本概念308
13.2虚拟存储器308
13.2.1虚拟存储器的基本概念308
13.2.280486的段式存储器310
13.2.380486的页式存储器314
13.2.480486段页式存储器318
13.3高速缓冲存储器(cache)319
13.3.1工作原理319
13.3.2地址映像320
13.3.380486微处理器的片内cache321
习题325
第14章80486微型计算机基本组成326
14.1总线标准326
14.1.1PC总线326
14.1.2AT总线(ISA总线)328
14.1.3EISA总线330
14.1.4VESA总线(VL总线)330
14.1.5PCI总线331
14.2多功能接口芯片331
14.2.1外围接口芯片82C206331
14.2.282371FB PCI/ISA/IDE加速器(PIIX)333
14.3存储器设计334
14.4微型计算机的本组成336
第15章汇编语言高级编程338
15.1驻留程序338
15.1.1驻留程序的设计方法338
15.1.2驻留程序设计举例341
15.1.3驻留程序的解驻344
15.2音乐驻留程序350
15.3时钟显示驻留程序355
15.4分页式菜单程序360
15.5多窗口显示全双工通信366
15.6电话号码查询373
15.7脉冲收号器377
15.7.1拨号脉冲的识别原理378
15.7.2脉冲收号器的性能模拟379
15.8西文DOS环境下的汉字显示技术386
15.8.1汉字编码386
15.8.2汉字显示的编程步骤388
15.8.3汉显程序设计举例389
第16章汇编语言软件开发工具393
16.1汇编语言程序的开发过程393
16.2Turbo Assembler 394
16.3Turbo Link396
16.4Turbo Debugger397
16.4.1Turbo Debugger 调试界面 397
16.4.2Turbo Debugger 功能 399
16.4.3Turbo Debugger 应用举例 402
16.4.4汇编语言调试软件的文件组织404
参考文献405