目录 1
第0章 计算基础 1
0.1 记数和编码系统 1
0.2 计算机内部的工作原理 10
0.3 CPU的发展简史 15
0.4 小结 16
0.5 习题 17
0.6 复习题答案 18
第1章 80x86微处理器 20
1.1 80x86系列微处理器简介 20
1.2 8088/8086的内部机制 22
1.3 汇编编程简介 25
1.4 程序段简介 28
1.5 有关80x86中段的补充说明 37
1.6 80x86的寻址方式 45
1.7 小结 50
1.8 习题 50
1.9 复习题答案 53
第2章 汇编语言编程方法 55
2.1 伪指令和实例程序 55
2.2 程序的汇编、连接和运行 60
2.3 更多的实例程序 63
2.4 控制转移指令 70
2.5 数据类型和数据定义 75
2.6 完整段定义 81
2.7 EXE文件和COM文件 84
2.8 小结 86
2.9 习题 87
2.10 复习题答案 89
第3章 算术和逻辑指令及其程序 91
3.1 无符号数的加法和减法 92
3.2 无符号数的乘法和除法 98
3.3 逻辑指令及示例程序 103
3.4 BCD和ASCII运算数及其指令 114
3.5 旋转指令 125
3.6 C语言的按位操作 129
3.7 小结 133
3.8 习题 133
3.9 复习题答案 136
第4章 利用汇编和C语言来进行BIOS和DOS编程 138
4.1 利用BIOS的函数INT 10H编写程序 139
4.2 DOS中断21H 148
4.3 INT 16H的键盘编程 160
4.4 C语言中的中断编程 162
4.5 小结 169
4.6 习题 170
4.7 复习题答案 172
第5章 宏和鼠标 174
5.1 宏的定义与用法 174
5.2 借助于INT33H来对鼠标编程 186
5.3 小结 197
5.4 习题 198
5.5 复习题答案 200
第6章 带符号数、字符串与表 202
6.1 带符号数的算术运算 202
6.2 字符串和表的运算 215
6.3 小结 222
6.4 习题 223
6.5 复习题答案 224
7.1 模块的编写和连接 225
第7章 模块、模块化与C语言编程 225
7.2 一些十分有用的模块 236
7.3 在模块之间传递参数 243
7.4 在C语言中结合使用汇编语言 246
7.5 小结 255
7.6 习题 255
7.7 复习题答案 257
第8章 386/486计算机的32位编程技术 259
8.1 实模式下的80386/80486型计算机 260
8.2 一些简单的386/486程序 265
8.3 80x86系列的性能比较 271
8.4 小结 274
8.5 习题 274
8.6 复习题答案 275
9.1 8088微处理器 276
第9章 8088,80286微处理器和ISA总线 276
9.2 辅助芯片8284和8288 283
9.3 ISA总线的8位部分 289
9.4 80286微处理器 295
9.5 16位ISA总线 299
9.6 小结 305
9.7 习题 306
9.8 复习题答案 308
第10章 存储器及其接口技术 310
10.1 半导体存储技术简介 310
10.2 存储器地址解码 322
10.3 IBM PC的存储器映射表 326
10.4 RAM和ROM中的数据完整性 330
10.5 16位存储器的接口技术 336
10.6 ISA总线的存储器接口技术 342
10.8 习题 351
10.7 小结 351
10.9 复习题答案 355
第11章 I/O和8255——ISA总线接口技术 358
11.1 8088的I/O指令 358
11.2 I/O地址的解码和设计 361
11.3 x86 PC中的I/O地址映射表 365
11.4 8255 PPI芯片 371
11.5 PC接口实验台和总线扩展器 377
11.6 利用C/C++和VB实现的I/O编程 384
11.7 ISA总线中的8位和16位I/O时序 391
11.8 小结 399
11.9 习题 399
11.10 复习题答案 402
12.1 液晶显示器与PC的接口技术 405
第12章 液晶显示器、电机、模数转换器以及传感器与PC的接口技术 405
12.2 步进电机与PC的接口技术 417
12.3 DAC与PC的接口技术 423
12.4 ADC与PC的接口技术 428
12.5 小结 438
12.6 习题 439
12.7 复习题答案 441
第13章 8253/54定时器和音乐 443
13.1 8253/54定时器的简介和初始化 443
13.2 8253/54定时器在IBM PC中的连接方式和编程方法 448
13.3 在IBM PC上生成音乐 455
13.4 8253/54输出的波形 459
13.5 小结 467
13.6 习题 467
13.7 复习题答案 469
14.1 8088/86中断 471
第14章 中断和8259芯片 471
14.2 IBM PC和MS DOS的中断分配 478
14.3 8259可编程中断控制器 482
14.4 8259在IBM PC/XT中的应用 493
14.5 80286与更高级80X86 PC的中断 499
14.6 小结 508
14.7 习题 508
14.8 复习题答案 511
第15章 直接存储器访问:8237 DMA芯片 513
15.1 DMA的概念 513
15.2 8237 DMA芯片编程 515
15.3 8237 DMA在IBM PC/XT中的连接 525
15.4 使用8237的通道0刷新DRAM 533
15.5 基于80x86的PC AT型计算机中的DMA 536
15.7 习题 543
15.6 小结 543
15.8 复习题答案 545
第16章 视频和视频适配器 548
16.1 显示器和显示适配器的原理 548
16.2 视频适配器和文本模式编程 554
16.3 使用INT 10H进行文本模式编程 563
16.4 图形和图形编程 573
16.5 小结 578
16.6 习题 578
16.7 复习题答案 580
第17章 串行数据通信和16450/8250/51芯片 581
17.1 串行通信基础 582
17.2 使用DOS和BIOS访问IBM PC的COM端口 590
17.3 在IBM PC中与NS8250/16450 UART的连接 596
17.4 Intel 8251 USART和同步通信 606
17.5 小结 613
17.6 习题 614
17.7 复习题答案 616
第18章 键盘和打印机接口 618
18.1 键盘与CPU的接口技术 618
18.2 PC键盘接口技术和编程 623
18.3 IBM PC的打印机与打印机接口技术 634
18.4 并行端口中的双向数据总线 643
18.5 小结 649
18.6 习题 650
18.7 复习题答案 652
第19章 软盘、硬盘和文件 653
19.1 软盘的组织结构 653
19.2 硬盘 666
19.3 磁盘文件编程 677
19.4 小结 682
19.5 习题 682
19.6 复习题答案 684
第20章 80x87数学协同处理器 686
20.1 数学协同处理器和IEEE浮点数 686
20.2 80x87指令和程序设计 691
20.3 IBM PC/XT 中的8087硬件连接 703
20.4 80x87指令和定时 709
20.5 小结 717
20.6 习题 717
20.7 复习题答案 719
第21章 386微处理器:实模式与保护模式 721
21.1 实模式下的80386微处理器 721
21.2 80386的硬件视图 732
21.3 80386的保护模式 739
21.5 习题 749
21.4 小结 749
21.6 复习题答案 752
第22章 高速存储器接口技术与高速缓存 754
22.1 80x86的存储器周期时间 754
22.2 页模式、静态列模式和半字节模式DRAM 757
22.3 高速缓冲存储器 768
22.4 EDO、SDRAM与RAMBUS存储器 777
22.5 小结 784
22.6 习题 785
22.7 复习题答案 788
第23章 486、Pentium、Pentium Pro和MMX 790
23.1 80486微处理器 790
23.2 Intel Pentium处理器 797
23.3 RISC体系结构 804
23.4 Pentium Pro处理器 810
23.5 MMX技术 815
23.6 Intel x86中的处理器识别 818
23.7 小结 821
23.8 习题 822
23.9 复习题答案 826
第24章 MS DOS结构、TSR和设备驱动程序 828
24.1 MS DOS结构 828
24.2 TSR和设备驱动程序 835
24.3 小结 843
24.4 习题 844
24.5 复习题答案 845
第25章 MS DOS存储器管理 846
25.1 80x86 PC存储器术语和概念 846
25.2 DOS存储器管理以及高端存储器加载 856
25.4 习题 864
25.3 小结 864
25.5 复习题答案 866
第26章 IC技术以及系统设计考虑因素 868
26.1 IC技术概述 868
26.2 IC界面连接和系统设计考虑因素 875
26.3 DRAM中的数据完整性与错误检测 886
26.4 小结 892
26.5 习题 892
26.6 复习题答案 894
第27章 ISA、PCI和USB总线 896
27.1 ISA总线 896
27.2 PCI局域总线 910
27.3 USB端口 917
27.4 小结 919
27.5 习题 919
27.6 复习题答案 921
第28章 用C/C++编写DOS、BIOS和硬件程序 923
28.1 用C为BIOS和DOS中断编程 923
28.2 用C/C++为PC硬件编程 930
28.3 小结 939
28.4 习题 939
28.5 复习题答案 940
附录A 调试程序设计 942
附录B 80x86指令和时钟 967
附录C 汇编器指令及命名规则 1008
附录D DOS中断类型21H和33H功能列表 1023
附录E BIOS中断 1047
附录F ASCII码 1063
附录G I/O地址映射表 1064
附录H IBM PC/PS BIOS数据区 1086
附录I 数据表 1098
参考文献 1106