找了好久的BIOS和DOS,向量表和数据表。

Peirre3年前我的书籍528

简单说明一下,中断向量在16位地址的内存最初的000:3FF 数据内,4个字节为一个数组地址。

编号为0-FFh,分硬中断和软件中断,分BIOS中断和DOS中断,分系统中断和用户中断。

实际上书本上有这些东西,但是书本难找,介绍不普遍,在这里是方便查询。

研究这表有几大方向:操作系统,BIOS,计算机结构。

还想说两句,这些资料应该是满天飞的,因为还有保留数据,不知道为什么不怎么容易找到。

内存地址类型PC/XT机功能程序地址控制权
0000~00030H除法错误中断027E:56EADOS KERNEL
0004~00071H单步中断0070:075CDOS BIOS
0008~000B2H非屏蔽中断NMI0B70:0016DOS STACKS
000C~000F3H断点中断0070:075CDOS BIOS
0010~00134H溢出中断0070:075CDOS BIOS
0014~00175H屏幕打印中断F000:EAFFROM BIOS
0018~001B6H备用F000:E73CROM BIOS
001C~001F7H备用F000:E8F9ROM BIOS
0020~00238H日时钟中断0B70:00AADOS STACKS
0024~00279H键盘中断(PC/AT机为键盘中断)0B70:0124DOS STACKS
0028~002BAH保留(PC/AT机由从级8259使用)F000:EF5AROM BIOS
002C~002FBH串行口2(PC/AT机为串行口2)F000:EF5AROM BIOS
0030~0033CH串行口1(PC/AT机为串行口1)F000:EF5AROM BIOS
0034~0037DH硬盘中断(PC机保留,PC/AT机并行口2)F000:EF5AROM BIOS
0038~003BEH软盘中断(PC/AT为软盘中断)0B70:0439DOS STACKS
003C~003FFH并行口(打印机,PC/AT机为并行口1)0070:075CDOS BIOS
0040~004310H显示器驱动程序C000:1E40ROM BIOS
0044~004711H设备检测程序F000:F84DROM BIOS
0048~004B12H捡测内存容量程序F000:F841ROM BIOS
004C~004F13H磁盘I/O程序0070:1DB1DOS BIOS
0050~005314H异步通信口(RS-232)F000:E739ROM BIOS
0054~005715HI/O系统扩充(磁带I/O程序)F000:F859ROM BIOS
0058~005B16H键盘I/OF000:E82EROM BIOS
005C~005F17H打印机I/OF000:EFD2ROM BIOS
0060~006318H进入ROM BASICF000:FA2BROM BIOS
0064~006719H系统自举即进入ROM BIOS引导程序0070:1920DOS BIOS
0068~006B1AH日时钟/实时钟I/OF000:FE6EROM BIOS
006C~006F1BHCtrl-Break中断09CB:00F2DOS BIOS
0070~00731CH定时器中断F000:FF53ROM BIOS
0074~00771DH显示器初始化参数块起始地址F000:F0A4ROM BIOS
0078~007B1EH软盘参数块地址0000:0522DOS BIOS
007C~007F1FH后128个ASCII码字符模块起始地址C000:5660接管者
0080~008320H程序正常退出027E:143FDOS KERNEL
0084~008721HDOS层功能调用入口027E:1460DOS KERNEL
0088~008B22H程序终止地址0D5E:02F4DOS SHELL
008C~008F23HCtrl-Break退出地址0D5E:032FDOS SHELL
0090~009324H错误退出地址(出错处理)0D5E:02BCDOS SHELL
0094~009725H绝对磁盘读027E:15DCDOS KERNEL
0098~009B26H绝对磁盘写027E:161FDOS KERNEL
009C~009F27H程序结束且驻留内存中断027E:6368DOS KERNEL
00A0~00A318H利用空闲时间片激活后台打印027E:1445DOS KERNEL
00A4~00A729H快速输出字符09CB:02E8DOS BIOS
00A8~00B72AH~2DH保留供DOS用(2A为网络功能调用)
DOS KERNEL
00B8~00BB2EH命令执行处理
DOS SHELL
00BC~00BF2FH多路复用中断
DOS BIOS
00C0~00C330H内部使用(DOS3.3中是IRET指令)
并非向量
00C4~00C731H内部使用(DOS3.3中是IRET指令)
DOS KERNEL
00C8~00FF32H~3FH保留供DOS用(DOS3.3中是IRET指令)
DOS KERNEL
0100~010340H有硬盘时的软盘I/O
ROM BIOS
0104~010741H1#硬盘参数
ROM BIOS
0108~011742H~45H保留
ROM BIOS
0118~011B46H2#硬盘参数
ROM BIOS
011C~012747H~49H保留
ROM BIOS
0128~012B4AH报警
ROM BIOS
012C~017F4BH~5FH保留(5C为Net-BIOS网络功能调用)
ROM BIOS
0180~019F60H~67H保留供用户软件中断用
用户
01A0~01BF68H~6FH保留
系统/用户
01C0~01C370H保留(PC/AT机实时钟RT/CMOS电路)
DOS STACKS
01C4~01C771H保留(PC/AT机软件跳转INT 0AH)
ROM BIOS
01C8~01CB72H保留(PC/AT机保留)
ROM BIOS
01CC~01CF73H保留(PC/AT机保留)
ROM BIOS
01D0~01D374H保留(PC/AT机保留)
ROM BIOS
01D4~01D775H保留(PC/AT机保留供8087用)
ROM BIOS
01D8~01DB76H保留(PC/AT机硬盘中断)
DOS STACKS
01DC~01DF77H保留(PC/AT机保留)
ROM BIOS
01E0~01FF78H~7FH保留
系统/用户
0200~021780H~85H保留供BASIC用
BASIC
0218~03BF86H~EFHBASIC运行时, 供BASIC编译器用(非向量)
BASIC
03C0~03C3F0H内部使用区(非向量)
DOS
03C4~03FFF1H~FFH保留(非向量)


段地址:00H

偏移类型

内      容

0000H256双字中断向量表。
0300H256字节在自检和引导时作为缓冲区使用。
400H计算机上0号RS232-1适配器的基地址,通常为3F8H。
402H计算机上1号RS232-1适配器的基地址,通常为2F8H。
404H计算机上2号RS232-1适配器的基地址。
406H计算机上3号RS232-1适配器的基地址。
408H计算机上0号并行打印机适配器的基地址,通常为378H。
40AH计算机上1号并行打印机适配器的基地址。
40CH计算机上2号并行打印机适配器的基地址。
40EH计算机上3号并行打印机适配器的基地址。(PS2型此值为扩展BIOS数据区段地址)
410H该字保存与计算机连接的设备编码表,BIOS中断11H(设备测定)可返回此信息。



0软驱安装标志,此位为0表示没有软驱。

1数字协处理器安装标志,此位为0表示未安装协处理器。

3-2系统板RAM的大小,适用于一些旧机型,PS2型未使用。00=16K,01=32K,10=48K,11=64K)。

5-4初始显示方式(00=AG,01=CGA-40,10=CGA-80,11=MDA-80)。

7-6软驱的数量,公当位0为1时有效,00=1,01=2,10=3,11=4

8DMA标志

9-11所连RS232适配器数

12连有游戏I/O

13不用(PS2型为内置MODEM安装标志,此位为0表示没有安装)

14-15所连打印机适配器数
412H字节初始测试标志(红外线键盘连接错误单元/?)。
413H该字给出打印机可用RAM的容量,基本内存容量为0-10K,以千字节为单位。BIOS中断12H(内存大小测定)可返回此信息。
415HI/O通道的存储器容量(PS2型,BIOS控制标志)。
417H字节这是第一个键盘状态字,通过编码,使每位均有特定的含义,具体格式如下:



0表示键盘右边的Shift键当前是否被按下(1表示按下,0表示未按下)。

1表示键盘左边的Shift键当前是否被按下(1表示按下,0表示未按下)。

2表明Ctrl键当前是否按下(1表示按下,0表示未按下)。

3表明Alt键当前是否按下(1表示按下,0表示未按下)。

4屏幕(Scroll)锁定开关键状态(1表示屏幕锁定处于开,0表示关)。

5数字(Num Lock)锁定开关键状态(1表示数字锁定处于开,0表示关)。

6大写字母(Caps Lock)开关键状态(1表示Caps Lock处于开,0表示关)。

7插入状态,它表明Ins键是否已按下,以使计算机进入“插入”方式,1表示插入状态正工作,0表明未动作。
418H字节这是第二个键盘状态字,其格式如下:



0表示键盘左边Ctrl键当前是否被按下(1表示按下,0表示未按下)。

1表示键盘左边Alt键当前是否被按下(1表示按下,0表示未按下)。

2如按下Ctrl+Alt+Del键,则该位为1。

3如果系统键(Ctrl和Num Lock)接下且保持住,则该位为1,当这个系统键依次按下时,BIOS暂停处理,直至下键按下为止。但它仍响应中断。

4表明屏幕(Scrool)锁定键当前是否按下(1表示按下,0表示未按下)。

5表明数字(Num Lock)锁定键当前是否按下(1表示按下,0表示未按下)。

6表明大写字母(Caps Lock)锁定键当前是否按下(1表示按下,0表示未按下)。

7表明Ins键当前是否按下(1表示按下,0表示未按下)。
419H字节为Alt和数字键盘键入的数而保留。(按住ALT+数字,可直接得到相应的ASCII码)
41AH指向键盘缓冲区首址
41CH指向键盘缓冲区尾址,当该值等于前一字的值时,说明缓冲区满。
41EH32字节循环键盘缓冲区,它保存键盘键入的字符,直到程序可以接收这些字符为止,前两个字指向此缓冲区的当前是首和尾。
43EH字节表示磁盘驱动器的搜索状态,0-3位分别对应于驱动器。如果这些位中有一位为0,则表示在搜索磁道之前,必须重新校准相应的驱动器。位4-6未使用,位7为中断标志位,为1表示中断发生。
43FH字节表示磁盘驱动器的马达状态,0-3位分别对应于驱动器0-3,如果某位被置为1,则相应驱动器的马达正在转动。位4-6未使用,位7为1表示现行操作是写。
440H字节保存一个表明驱动器马达接通多长时间的计数,每个时钟节拍,计数减1,当计数为0明马达停转(根据INT8计时)。
441H字节表明磁盘工作状态,它被编码,通过使相应位置1来表示一个特定的状态,格式如下:



00H正确。

01H送给磁盘控制器的是无效命令。

02H在盘上未找到地址标记。

03H试图在有写保护的盘上写操作。

04H所请求扇区未找到。

08H驱动器DMA错。

09H试图使DMA对64KB存储体进行存取。

10H循环冗余校验(CRC)错。

20HNEC磁盘控制器片出现错误。

40H无效的查找操作。

80H延时,没有响应。
442H7字节从NEC磁盘驱动器返回的七个字节状态信息(参见FDC)。
449H字节指明当前视频方式,参见INT 10H。
44AH指明显示屏幕的当前列数。
44CH指明一个显示页面的字节数,它随时视频方式的不同而变化。80*25方式=1000H字节,40*25方式=800H字节,图形方式=4000H字节
44EH指明当前显示页面的地址,即显示在当前显示屏幕的显示页面。
450H8字每个字均表示有关显示页面内当前光标的位置,每个字的第一字节表示列,第二字节表示行(改变这个字节并不能立刻改变显示)。
460H字节表明光标的形状,此字节表示光标字符点阵的最下一行的行号,10H功能调用1设置此光标形状(不要直接更改此字节)。
461H字节此字节表示光标字符点阵的最上一行的行号。10H功能调用1设置此光标形状(不要直接更改此字节)。
462H字节表明工作显示页面号,由10H功能调用5设置。
463H表明当前工作显示板的口地址。3BCH=单色,3D4H=彩色。
465H字节表明6845芯片的方式寄存器的当前值(端口:3X8H)。
466H字节表示当前显示控制面板的设置。10H功能调用0BH可设置当前面板(端口:3D9H)。
467H5字节PC中,这5个字节用以表示磁带控制的定时计数字、CRC寄存器字和最后输入数值字节,在AT中,这5个字节作为端口使用,从467H开始的双字长是一个指针,它指向BIOS开关使80X86由保护虚地址方式转到实地址方式时控制返回的位置。
46CH双字这是BIOS作为时钟计数器的一个双字单元,时钟第步进一次,此值增加一次,其值为0,表示一天开始(午夜),当此计数器达到一天结束的值时,计数器清0,且字节470H置1。中断1AH功能调用0可从此双字单元中读取一天的时间。
470H字节这是一个时钟翻转字节。当时钟计数器达到一天结束且复位时,此字节置1以表明新的一天开始。中断1AH功能调用0在读取这一天的时间后,将此字节复位。
471H字节位7为1表示BREAK键按下(INT 9设置此标志)。
472H由软件设置复位功能标志或直接跳转FFFF:0重启动。



1234H热启动

5678H系统中止

9ABCH在制造商检测时使用。
474H字节硬盘状态。



00H正确

01H送给磁盘控制器的是无效命令或参数。

02H在盘上未找到地址标记

03H试图在有写保护的盘上进行写操作。

04H所请求扇区未找到。

05H重新复位失败。

07H操作失效。

08HDMA错

09H试图使DMA对64K存储体进行存取。

0AH坏的扇区标志。

0BH坏磁道已清除。

0DH扇区号、格式错。

0EH控制数据地址已清除。

0FHDMA超出限制。

10H循环冗余校验CRC错。

11HECC数据错。

20HNEC磁盘控制器片出现错误。

40H无效的查找操作。

80H延时,没有响应。

AAH没准备好。

BBH发生错误,定义不正确。

CCH写错误。

E0H寄存器错误。

FFH磁盘检测失败。
475H字节硬盘设备数。
476H字节磁盘适配器控制。
477H字节硬盘适配器端口。
478H字节测试打印机0的超时值。
479H字节测试打印机1的超时值。
47AH字节测试打印机2的超时值。
47BH字节测试打印机3的超时值(PS2型除外)。
47CH字节测试0号RS232超时值。
47DH字节测试1号RS232超时值。
47EH字节测试2号RS232超时值。
47FH字节测试3号RS232超时值。
480H指向存放键盘输入字符的循环缓冲区首址。
482H指向存放键盘输入字符的循环缓冲区尾址。
484H字节显示字符的列数。其值为显示字符的列数减1(EGA以上有效)。
485H每个字符高度(EGA以上有效)。
487H字节显示控制状态(EGA以上有效)1。



0光标仿真模式状态(1为开启)。

1单色显示系统状态(1为启用)。

2保留。

3显示系统空闲状态(1为空闲)。

4保留。

6-5显存容量(00=64K,01=128K,10=192K,11=256K)。

7显示模式可用状态。
488H字节显示控制状态2(EGA以上有效)。



0SW1(1=关闭)

1SW2(1=关闭)

2SW3(1=关闭)

3SW4(1=关闭)

4

5

6

7
489H字节显示控制状态3(MCGA或VGA有效)。



0VGA模式状态

1灰度模式状态

2单色显示状态

3使用默认模式

4--

5保留

6显示状态开关

7--



位7位4

0 0350线模式

0 1400线模式

1 0200线模式

1 1保留
48AH字节显示适配器DCC索引。
48BH字节最后磁盘数据率。



3-0保留。

5-4步进时间。

7-6数据传输率。
48CH字节硬盘状态。
48DH字节硬盘错误。
48EH字节硬盘中断标志。
48FH字节位0为1,表示硬盘和软盘使用一个控制卡。
490H字节驱动器0介质状态。
491H字节驱动器1介质状态。
492H字节驱动器0的起始状态。
493H字节驱动器2的起始状态。
494H字节驱动器0磁道数。
495H字节驱动器1磁道数。
496H字节键盘类型和方式,各位含义为:



0E1H隐含码最后。

1E0H隐含码最后。

2右Ctrl键按下。

3右Alt键按下。

4101/102键盘

5若读标识和键盘,则强置Num Lock。

6最后的字符是第一个ID字符。

7读键盘的ID。
497H字节键盘标志。



0-2LED状态位。

3保留。

4收到消息。

5重发接收标志。

6方式指示器更新。

7键盘传送错误标志。
498H双字等待完成标志的偏移地址。
49AH双字用户等待计数(低位字),以微秒为单位。
49EH用户等待计数(高位字),以微秒为单位。
4A0H字节RTC等待激活标志。80表示等待时间已过。
4A1H7字节这7个字节用于局域网。
4A8H双字这双字指向保存视频系统的指针表。指针表格式为:


偏移值     类型    指向
 00H      DD    视频参数
 04H      DD    参数保存区
 08H      DD    字母字符集
 0CH      DD    图形字符集
 10H      DD    第二个保存指针表
 14H      DD    保留
 18H      DD    保留
第二个指针表格式为:
偏移值     类型    功能或指向
 00H      DW    这个表的字节
 02H      DD    组合码表
 06H      DD    第二个字母字符集
 0AH      DD    用户调色板表
 0EH      DD    保留
 12H      DD    保留
 16H      DD    保留
4ACH8字节保留。
4B4H字节键盘NMI控制标志(可变)。
4B5H双字键盘中断中标志(可变)。
4B9H字节端口60单字节队列(可变)。
4BAH字节最后的键盘扫描码(可变)。
4BBH字节NMI缓冲头位置(可变)。
4BCH字节NMI缓冲头位置(可变)。
4BDH16字节NMI扫描码缓冲(可变)。
4CEH日期计数(可变)。
4F0H16字节
BDA - BIOS Data Area - PC Memory Map
   Address Size      
Description
   00:00 256dwords Interrupt vector table
   30:00 
256bytes   Stack area used during post and bootstrap
   40:00   word   COM1 
port address
   40:02   word   COM2 port address
   40:04   word   COM3 
port address
   40:06   word   COM4 port address
   40:08   word   LPT1 
port address
   40:0A   word   LPT2 port address
   40:0C   word   LPT3 
port address
   40:0E   word   LPT4 port address (except 
PS/2)
         Extended BIOS Data Area segment (PS/2, see 
EBDA)
   40:10  2 bytes   Equipment list flags (see INT 
11)
      |7|6|5|4|3|2|1|0| 40:10 (value in INT 11 register AL)
       | | | | | | | `- IPL diskette installed
       | | | | | | `-- math coprocessor
       | | | | |-+--- old PC system board RAM < 256K     
       | | | | | `-- pointing device installed (PS/2)
       | | | | `--- not used on PS/2
       | | `------ initial video mode
       `--------- # of diskette drives, less 1
      |7|6|5|4|3|2|1|0| 40:11  (value in INT 11 register AH)
       | | | | | | | `- 0 if DMA installed
       | | | | `------ number of serial ports
       | | | `------- game adapter
       | | `-------- not used, internal modem (PS/2)
       `----------- number of printer ports
   40:12   byte   PCjr: infrared keyboard link error count
   40:13   word   Memory size in Kbytes  (see INT 12)
   40:15   byte   Reserved
   40:16   byte   PS/2 BIOS control flags
   40:17   byte   Keyboard flag byte 0 (see KB FLAGS)
      |7|6|5|4|3|2|1|0| keyboard flag byte 0
       | | | | | | | `--- right shift key depressed
       | | | | | | `---- left shift key depressed
       | | | | | `----- CTRL key depressed
       | | | | `------ ALT key depressed
       | | | `------- scroll-lock is active
       | | `-------- num-lock is active
       | `--------- caps-lock is active
       `---------- insert is active
   40:18   byte   Keyboard flag byte 1 (see KB FLAGS)
      |7|6|5|4|3|2|1|0| keyboard flag byte
       | | | | | | | `--- left CTRL key depressed
       | | | | | | `---- left ALT key depressed
       | | | | | `----- system key depressed and held
       | | | | `------ suspend key has been toggled
       | | | `------- scroll lock key is depressed
       | | `-------- num-lock key is depressed
       | `--------- caps-lock key is depressed
       `---------- insert key is depressed
   40:19   byte   Storage for alternate keypad entry
   40:1A   word   Offset from 40:00 to keyboard buffer head
   40:1C   word   Offset from 40:00 to keyboard buffer tail
   40:1E  32bytes   Keyboard buffer (circular queue buffer)
   40:3E   byte   Drive recalibration status
      |7|6|5|4|3|2|1|0| drive recalibration status
       | | | | | | | `-- 1=recalibrate drive 0
       | | | | | | `--- 1=recalibrate drive 1
       | | | | | `---- 1=recalibrate drive 2
       | | | | `----- 1=recalibrate drive 3
       | `---------- unused
       `----------- 1=working interrupt flag
   40:3F   byte   Diskette motor status
      |7|6|5|4|3|2|1|0| diskette motor status
       | | | | | | | `-- 1=drive 0 motor on
       | | | | | | `--- 1=drive 1 motor on
       | | | | | `---- 1=drive 2 motor on
       | | | | `----- 1=drive 3 motor on
       | `---------- unused
       `----------- 1=write operation
   40:40   byte   Motor shutoff counter (decremented by INT 8)
   40:41   byte   Status of last diskette operation (see INT 13,1)
      |7|6|5|4|3|2|1|0| status of last diskette operation
       | | | | | | | `--- invalid diskette command
       | | | | | | `---- diskette address mark not found
       | | | | | `----- sector not found
       | | | | `------ diskette DMA error
       | | | `------- CRC check / data error
       | | `-------- diskette controller failure
       | `--------- seek to track failed
       `---------- diskette time-out
   40:42  7 bytes   NEC diskette controller status (see FDC)
   40:49   byte   Current video mode  (see VIDEO MODE)
   40:4A   word   Number of screen columns
   40:4C   word   Size of current video regen buffer in bytes
   40:4E   word   Offset of current video page in video regen buffer
   40:50  8 words   Cursor position of pages 1-8, high order byte=row
         low order byte=column; changing this data isn't
         reflected immediately on the display
   40:60   byte   Cursor ending (bottom) scan line (don't modify)
   40:61   byte   Cursor starting (top) scan line (don't modify)
   40:62   byte   Active display page number
   40:63   word   Base port address for active 6845 CRT controller
         3B4h = mono, 3D4h = color
   40:65   byte   6845 CRT mode control register value (port 3x8h)
         EGA/VGA values emulate those of the MDA/CGA
   40:66   byte   CGA current color palette mask setting (port 3d9h)
         EGA and VGA values emulate the CGA
   40:67   dword   CS:IP for 286 return from protected mode
      dword   Temp storage for SS:SP during shutdown
      dword   Day counter on all products after AT
      dword   PS/2 Pointer to reset code with memory preserved
      5 bytes   Cassette tape control (before AT)
   40:6C   dword   Daily timer counter, equal to zero at midnight;
         incremented by INT 8; read/set by INT 1A
   40:70   byte   Clock rollover flag, set when 40:6C exceeds 24hrs
   40:71   byte   BIOS break flag, bit 7 is set if Ctrl-Break was
         *ever* hit; set by INT 9
   40:72   word   Soft reset flag via Ctl-Alt-Del or JMP FFFF:0
         1234h  Bypass memory tests & CRT initialization
         4321h  Preserve memory
         5678h  System suspend
         9ABCh  Manufacturer test
         ABCDh  Convertible POST loop
         ????h  many other values are used during POST
   40:74   byte   Status of last hard disk operation (see INT 13,1)
   40:75   byte   Number of hard disks attached
   40:76   byte   XT fixed disk drive control byte
   40:77   byte   Port offset to current fixed disk adapter
   40:78  4 bytes   Time-Out value for LPT1,LPT2,LPT3(,LPT4 except PS/2)
   40:7C  4 bytes   Time-Out value for COM1,COM2,COM3,COM4
   40:80   word   Keyboard buffer start offset (seg=40h,BIOS 10-27-82)
   40:82   word   Keyboard buffer end offset (seg=40h,BIOS 10-27-82)
   40:84   byte   Rows on the screen (less 1, EGA+)
   40:85   word   Point height of character matrix (EGA+)
      byte   PCjr: character to be repeated if the typematic
         repeat key takes effect
   40:86   byte   PCjr: initial delay before repeat key action begins
   40:87   byte   PCjr: current Fn function key number
      byte   Video mode options (EGA+)
      |7|6|5|4|3|2|1|0| Video mode options (EGA+)
       | | | | | | | `-- 1=alphanumeric cursor emulation enabled
       | | | | | | `--- 1=video subsystem attached to monochrome
       | | | | | `---- reserved
       | | | | `----- 1=video subsystem is inactive
       | | | `------ reserved
       | `--------- video RAM  00-64K  10-192K  01-128K  11-256K
       `---------- video mode number passed to INT 10, function 0
   40:88   byte   PCjr: third keyboard status byte
         EGA feature bit switches, emulated on VGA
      |7|6|5|4|3|2|1|0| EGA feature bit switches (EGA+)
       | | | | | | | `-- EGA SW1 config (1=off)
       | | | | | | `--- EGA SW2 config (1=off)
       | | | | | `---- EGA SW3 config (1=off)
       | | | | `----- EGA SW4 config (1=off)
       | | | `------ Input FEAT0 (ISR0 bit 5) after output on FCR0
       | | `------- Input FEAT0 (ISR0 bit 6) after output on FCR0
       | `-------- Input FEAT1 (ISR0 bit 5) after output on FCR1
       `--------- Input FEAT1 (ISR0 bit 6) after output on FCR1
   40:89   byte   Video display data area (MCGA and VGA)
      |7|6|5|4|3|2|1|0| Video display data area (MCGA and VGA)
       | | | | | | | `-- 1=VGA is active
       | | | | | | `--- 1=gray scale is enabled
       | | | | | `---- 1=using monochrome monitor
       | | | | `----- 1=default palette loading is disabled
       | | | `------ see table below
       | | `------- reserved
       | `--------  1=display switching enabled
       `--------- alphanumeric scan lines (see table below)
     Bit7    Bit4   Scan Lines
      0   0   350 line mode
      0   1   400 line mode
      1   0   200 line mode
      1   1   reserved
   40:8A   byte   Display Combination Code (DCC) table index (EGA+)
   40:8B   byte   Last diskette data rate selected
      |7|6|5|4|3|2|1|0| last diskette data rate selected
       | | | | `--------- reserved
       | | `------------ last floppy drive step rate selected
       `-------------- last floppy data rate selected
      Data Rate          Step Rate
      00  500K bps      00  step rate time of 0C
      01  300K bps      01  step rate time of 0D
      10  250K bps      10  step rate time of 0A
      11  reserved      11  reserved
   40:8C   byte   Hard disk status returned by controller
   40:8D   byte   Hard disk error returned by controller
   40:8E   byte   Hard disk interrupt control flag(bit 7=working int)
   40:8F   byte   Combination hard/floppy disk card when bit 0 set
   40:90  4 bytes   Drive 0,1,2,3 media state
       |7|6|5|4|3|2|1|0| drive media state (4 copies)
       | | | | | `------- drive/media state (see below)
       | | | | `------- reserved
       | | | `------- 1=media/drive established
       | | `------- double stepping required
       `--------- data rate:   00=500K bps    01=300K bps
               10=250K bps    11=reserved
      Bits
      210  Drive Media State
      000  360Kb diskette/360Kb drive not established
      001  360Kb diskette/1.2Mb drive not established
      010  1.2Mb diskette/1.2Mb drive not established
      011  360Kb diskette/360Kb drive established
      100  360Kb diskette/1.2Mb drive established
      101  1.2Mb diskette/1.2Mb drive established
      110  Reserved
      111  None of the above
   40:94   byte   Track currently seeked to on drive 0
   40:95   byte   Track currently seeked to on drive 1
   40:96   byte   Keyboard mode/type
       |7|6|5|4|3|2|1|0| Keyboard mode/type
       | | | | | | | `--- last code was the E1 hidden code
       | | | | | | `---- last code was the E0 hidden code
       | | | | | `----- right CTRL key depressed
       | | | | `------ right ALT key depressed
       | | | `------- 101/102 enhanced keyboard installed
       | | `-------- force num-lock if Rd ID & KBX
       | `--------- last char was first ID char
       `---------- read ID in process
   40:97   byte   Keyboard LED flags
       |7|6|5|4|3|2|1|0| Keyboard LED flags
       | | | | | | | `--- scroll lock indicator
       | | | | | | `---- num-lock indicator
       | | | | | `----- caps-lock indicator
       | | | | `------ circus system indicator
       | | | `------- ACK received
       | | `-------- re-send received flag
       | `--------- mode indicator update
       `---------- keyboard transmit error flag
   40:98   dword   Pointer to user wait complete flag
   40:9C   dword   User wait Time-Out value in microseconds
   40:A0   byte   RTC wait function flag
       |7|6|5|4|3|2|1|0| INT 15,86 RTC wait function flag
       | | | | | | | `--- 1= wait pending
       | `-------------- not used
       `--------------- 1=INT 15,86 wait time elapsed
   40:A1   byte   LANA DMA channel flags
   40:A2  2 bytes   Status of LANA 0,1
   40:A4   dword   Saved hard disk interrupt vector
   40:A8   dword   BIOS Video Save/Override Pointer Table address
         (see VIDEO TABLES)
   40:AC  8 bytes   Reserved
   40:B4   byte   Keyboard NMI control flags (convertible)
   40:B5   dword   Keyboard break pending flags (convertible)
   40:B9   byte   Port 60 single byte queue (convertible)
   40:BA   byte   Scan code of last key (convertible)
   40:BB   byte   NMI buffer head pointer (convertible)
   40:BC   byte   NMI buffer tail pointer (convertible)
   40:BD  16bytes   NMI scan code buffer (convertible)
   40:CE   word   Day counter (convertible and after)
   40:F0  16bytes   Intra-Applications Communications Area (IBM Technical
         Reference incorrectly locates this at 50:F0-50:FF)
   Address Size      Description    (BIOS/DOS Data Area)
   50:00   byte   Print screen status byte
          00 = PrtSc not active,
          01 = PrtSc in progress
          FF = error
   50:01  3 bytes   Used by BASIC
   50:04   byte   DOS single diskette mode flag, 0=A:, 1=B:
   50:05  10bytes   POST work area
   50:0F   byte   BASIC shell flag; set to 2 if current shell
   50:10   word   BASICs default DS value (DEF SEG)
   50:12   dword   Pointer to BASIC INT 1C interrupt handler
   50:16   dword   Pointer to BASIC INT 23 interrupt handler
   50:1A   dword   Pointer to BASIC INT 24 disk error handler
   50:20   word   DOS dynamic storage
   50:22  14bytes   DOS diskette initialization table (INT 1E)
   50:30   4bytes   MODE command
   70:00      I/O drivers from IO.SYS/IBMBIO.COM
The following map varies in size and locus
   07C0:0      Boot code is loaded here at startup (31k mark)
   A000:0      EGA/VGA RAM for graphics display mode 0Dh & above
   B000:0      MDA RAM, Hercules graphics display RAM
   B800:0      CGA display RAM
   C000:0      EGA/VGA BIOS ROM (thru C7FF)
   C400:0      Video adapter ROM space
   C600:0 256bytes PGA communication area
   C800:0    16K   Hard disk adapter BIOS ROM
   C800:5      XT Hard disk ROM format, AH=Drive, AL=Interleave
   D000:0    32K   Cluster adapter BIOS ROM
   D800:0      PCjr conventionalsoftware cartridge address
   E000:0    64K   Expansion ROM space (hardwired on AT+)
       128K   PS/2 System ROM (thru F000)
   F000:0      System monitor ROM
         PCjr: software cartridge override address
   F400:0      System expansion ROMs
   F600:0      IBM ROM BASIC (AT)
   F800:0      PCjr software cartridge override address
   FC00:0      BIOS ROM
   FF00:0      System ROM
   FFA6:E      ROM graphics character table
   FFFF:0      ROM bootstrap code
   FFFF:5 8 bytes   ROM date (not applicable for all clones)
   FFFF:E   byte   ROM machine id   (see MACHINE ID)

蝴蝶.jpg

相关文章

和大家介绍一本书,【飞机原理构造】,爱好者可以下载阅读。

和大家介绍一本书,【飞机原理构造】,爱好者可以下载阅读。

飞机原理构造,这本书看了一点,正在抽空阅读,有同好的人吗?有兴趣的朋友,欢迎交流读后感,请留言。注明一下,这是新型高速飞机的原理书。如果飞机速度减慢的话,有些章节可以不计较的。加拿大那里有人在自己制造...

nRF无线SOC单片机原理与高级应用一书读后感。

nRF无线SOC单片机原理与高级应用一书读后感。

这两天买了一本书内容是介绍nRF单片机的。说实话这本书出来好几年了。我的单片机也买了两年。以前已经看完英文资料,因为英文的理解会不太准确,读得慢,每次阅读次数不多。所以还是买了这本书。这本书读起来不吃...

今天收到一个邮件,发的2021年新品资料,介绍一下吧。

今天收到一个邮件,发的2021年新品资料,介绍一下吧。

今天收到TI公司的一封邮件,好像没有订阅过他们的信息,不过在他们的网站上留有邮箱。很喜欢这个公司,这个公司生产的芯片资料很多,蓝牙5G微处理芯片,无线网络5G芯片他们都有生产。自己一直处于低水平方式,...

一本外国食谱,一半看不懂,献了。

一本外国食谱,一半看不懂,献了。

书籍参考,写了工作方式,餐具选择,食材的部位选择。参考资料:www.godmain.cn/John.Wiley.Professional.Cooking.pdf 不知道是否有0day漏洞,注意一下。...

换个角度说IOMMU,这个角度有点冷。

换个角度说IOMMU,这个角度有点冷。

说起来,AMD系列处理器的功能不低于INTEL处理器,内含集成电路的规模比INTEL同档的CPU处理器多得多。没有什么简化。所以一直是军工产品。唯一的缺点就是耗能很多。相对INTEL处理器来说,新一代...