目录 1
前言 1
第1章 简介 1
资料的来源 2
系统类型 3
程序员的系统框图 3
第2章 开发PC内幕 6
简介 6
反汇编 8
反汇编BIOS 21
IOSPY-I/O端口监视器TSR 23
UNPC-I/O端口浏览器 26
第3章 CPU和内幕指令 28
基本输入输出块 28
从端口输入 30
警告 32
指令定时 34
定时方面的难题 35
与I/O有关的CPU模式 39
通过C和C++访问硬件 40
CPU系列归纳 46
内幕指令 56
使用LOADALL 82
寄存器细节 93
隐藏的地址空间 109
内电路模拟 118
CPU重启 118
第4章 系统与设备检测 123
简单的方法 123
系统检测 125
CPU信息 139
第5章 适配卡的开发 212
ROM表头和初始化 212
MCA ROM扫描 213
设置ROM大小和开始地址 213
ROM代码 214
获得必要RAM的决窍 215
选择I/O端口号 219
很多端口 219
隐去ROM和RAM 221
开关与跳线 222
即插即用 222
第6章 BIOS数据和其他固定数据区 223
BIOS数据区 223
扩展BIOS数据区 256
显示器内存 263
适配器ROM和UMB内存 264
第7章 中断向量表 265
中断向量表与数据描述 269
第8章 键盘系统 292
基本操作 293
AT上的一个典型的按键操作 294
PC/XT上一个典型的按键操作 295
控制器通信 295
键盘到主板的数据 295
AT上主板到键盘的数据 297
低级键盘BIOS 298
键盘BIOS——中级 299
键盘BIOS数据区 310
热键及访问未定义键 312
扫描码 313
国外的键盘 319
扩展内存的A20访问 322
警告 326
键盘的连接和信号 328
端口归纳 349
端口细节 349
第9章 视频系统 370
简介 370
视频适配器标准 371
BIOS服务 374
其他与视频系统相关的中断 442
重定位屏幕接口规范(RSIS) 443
环境是如何提供RSIS支持的 452
端口归纳 459
未公开的视频I/O端口的细节 461
第10章 软盘系统 464
简介 464
软盘驱动器媒质表 466
软盘数据格式化 466
软盘参数表 467
BIOS初始化 470
软盘BIOS 471
软盘BIOS数据 479
软盘控制器的常见类型 482
向软盘控制器发送命令 483
端口细节 488
端口归纳 488
第11章 硬盘系统 516
简介 516
是否会给出实际的硬盘大小 518
接口标准和控制器 519
驱动器操作 521
大型的IDE驱动器 522
磁盘参数表 523
驱动器类型表 525
BIOS初始化 528
硬盘BIOS 529
磁盘BIOS数据 568
一个典型的读扇区操作 569
向磁盘控制器发送命令 569
警告 574
端口归纳 583
端口细节 585
命令细节 595
第12章 串行口 638
简介 638
BIOS初始化 640
串行口BIOS 641
串行帧 646
控制/调制解调器信号 646
事件顺序——串行传送 647
回环(Loopback)操作 648
事件顺序——串行接收 648
波特率 649
中断控制 650
FIFO模式 651
BIOS数据区 653
调试 654
UART类型归纳 655
串行连接器 655
警告 656
端口归纳 681
UART寄存器细节 683
BIOS服务 694
第13章 系统功能 694
端口归纳 748
端口细节 749
第14章 并行口和屏幕打印 789
简介 789
BIOS初始化 790
一个系统可以有第四个并行口吗? 791
打印机BIOS 791
屏幕打印 793
BIOS数据区 794
并行口定时 796
并行口连接器 797
快速并行口 798
警告 799
端口总结 808
端口细节 809
第15章 CMOS内存和实时时钟 813
简介 813
实时时钟(RTC)的常用信息 813
实时时钟BIOS 814
EISA系统的不同之处 819
系统数据区 827
扩展CMOS寄存器 827
警告 827
端口归纳 836
端口详述 837
简介 896
第16章 系统时钟 896
操作模式 897
时钟0——系统定时 903
时钟1——DRAM刷新 903
时钟2——一般用途和扬声器 903
时钟3——看门狗(仅MCA) 903
时钟3——看门狗(仅EISA) 904
时钟4——未使用(仅EISA) 905
时钟5——CPU速度控制(仅EISA) 905
典型的时钟设置和操作 905
警告 906
典型用途 906
访问 906
端口归纳 918
端口细节 919
第17章 中断控制和NMI 938
简介 938
典型的中断过程 939
边沿/电平控制 940
NMI——不可屏蔽中断 941
浮点协处理器和NMI 941
MCA系统的不同之处 942
PCI系统的不同之处 943
典型使用 943
EISA系统的不同之处 943
中断数据区 945
警告 945
端口归纳 950
端口细节 951
第18章 DMA服务和DRAM刷新 970
简介 970
澄清模糊认识 972
一个典型的I/O到内存的传送 973
内存到内存DMA 974
操作模式 975
MCA系统的不同之处 976
EISA系统的不同之处 977
虚拟DMA服务(VDS) 981
典型用途 982
DMA BIOS数据区 982
警告 983
端口归纳 986
端口细节 988
附录A 软件包中的程序 1019
可执行程序归纳 1019
有趣的子程序 1020
可执行程序的详细解释 1021
附录B 术语表 1025
常用的缩写形式 1025
常见芯片的编号和功能 1028