BIOS 通信区的重要参数,现在看一下格式对不对。

Peirre1年前我的书籍186

ROM BIOS通信区的重要参数,很多网络上没有公开。

0010h-0011h    含义图
 15  14  13  12  11  10  9   8  7  6  5  4   3  2   1
+--+--+---+---+--+--+--+---+--+--+---+--+--+---+--+---+
|  |  |   |   |  |  |  |   |  |  |   |  |  |   |  |   |
+--+--+---+---+--+--+--+---+--+--+---+--+--+---+--+---+
______ ___ ___  _______ ___ _____  _____ ______ __  ___
   |    |   |      |     |    |      |     |     |   |__\  为1表示有软盘驱动器
   |    |   |      |     |    |      |     |     |__\      为1表示有8087协处理器
   |    |   |      |     |    |      |     |___\   系统板RAM容量:
   |    |   |      |     |    |      |                00:64K, 01:138K
   |    |   |      |     |    |      |                10:192K,11:256K
   |    |   |      |     |    |      |___________\  显示器类型:
   |    |   |      |     |    |                       01:40X25 CGA卡,10:80X25CGA卡
   |    |   |      |     |    |                       11:80X25 单色卡, 00:EGA卡
   |    |   |      |     |    |___________________\         软盘驱动器个数
   |    |   |      |     |_________________________\        为0表示安装了DMA芯片
   |    |   |      |_________________________________\      RS-232串行适配器个数
   |    |   |________________________________________\      为1表示接有游戏适配器
   |    |_____________________________________________\     为1表示有串行打印机
   |___________________________________________________\    已连的打印机个数


0012h,字节,测试标志。为1表示测试键盘,为0表示操作键盘。

0013h-0014h,字,以K字节为单位表示的内存容量。

0015h-0016h,字,以K字节为单位表示的扩充内存容量。

0017h,字节,键盘第一个状态字,状态字如图1-5所示。

  7  6  5  4  3  2  1  0
+--+--+--+--+--+--+--+--+
|  |  |  |  |  |  |  |  | 
+--+--+--+--+--+--+--+--+
___ __ __ __ __ __ __ __
 |  |  |  |  |  |  |  |____\         右Shift键按下
 |  |  |  |  |  |  |________\        左Shift键按下
 |  |  |  |  |  |____________\       Ctrl 键按下
 |  |  |  |  |________________\      Alt 键按下
 |  |  |  |____________________\     Scroll Lock 键按下
 |  |  |________________________\    Num Lock 键按下
 |  |____________________________\   Caps Lock 键按下
 |_________________________________\ Insert 键按下


0018h,字节,表示键盘特殊键状的第二字节,状态字如图1-6。

  7  6  5  4  3  2  1  0
+--+--+--+--+--+--+--+--+
|  |  |  |  |  |  | X| X| 
+--+--+--+--+--+--+--+--+
  |  |  |  |  |  |
  |  |  |  |  |  |_\       只用于PCJr,表示键盘定位接通(04h)
  |  |  |  |  |_____\      Ctrl-NumLock 键按下(08h)
  |  |  |  |_________\     Scroll Lock 键按下(10h)
  |  |  |_____________\    Num Lock 键按下(20h)
  |  |_________________\   Cape Lock 键按下(40h)
  |_____________________\  Insert 键按下(80h)


0019h,字节,为存储由备用键盘键入的字符而保留

001ah~001bh,字,键盘缓冲区首指针

001ch~001dh,字, 键盘缓冲区尾指针

001eh~003dh,16个字,键盘缓冲区,可以存放16个键盘输入的字符扫描码。

003eh,字节,表示磁盘驱动器的搜索状态,0~3位对应于驱动器0~3。如果这些位中有一位为0,则在搜索到磁道之前,必须重新校准相应的驱动器,状态字如图1-7所示.

  7  6  5  4  3  2  1  0
+--+--+--+--+--+--+--+--+
| X| X| X| X|  |  |  |  | 
+--+--+--+--+--+--+--+--+
 ___________  __________
      |            |
      |            |____\         分别表示驱动器0~3,某一位为1,表示相应的驱动器在寻道之前需首先回到0道。
      V  (不用)


003fh,字节,表示磁盘驱动器的马达状态,如同前一个字节,0~3位对应驱动器0~3,如果某一位被置1,则相应驱动器的马达正在运转,状态字如图1~8所示.

0040h,字节,表明每次软盘操作后直至马达停转时的延时。

  7  6  5  4  3  2  1  0
+--+--+--+--+--+--+--+--+
|  | X| X| X|  |  |  |  | 
+--+--+--+--+--+--+--+--+
  |          ___________   
  |               |
  v               |
该位为1,表       |____\       分别表示驱动器 0~3,某一位为1,表示相应驱动器的马达正在旋转,
示正在执行写操作               可以立即进行读,写和寻道操作,否则,应先启动马达并等待转速达到平稳。


0041h,字节,表明出错原因。

      01------ 磁盘控制器命令错

      02------ 地址标记未找到

      03 ------ 磁盘写保护

      04 ------ 扇区未找到

      08 ------ DMA错

      09 ------ DMA 企图超越64K段界

      10 ------ CRC 错

      20 ------ NEC控制器错

      40 ------ 寻道错

      80 ------ 连接器未响应

0042h~0048h,7字节,表示从NEC磁盘控制器返回的状态信息。

0049h,字节,表示当前显示器的工作方式。常见的显示方式有:

       00--40X25 黑白字符方式

       01--40X25 彩色字符方式

       02--80X25 黑白字符方式

       03--80X25 彩色字符方式

       04--320X200 彩色图像方式

       05--320X200 黑白图像方式

       06--640X200 黑白图像方式

       07--80X25 单色板

004ah--004bh,字,屏幕显示列数存放单元。

004ch--004dh,字,字符方式下,显示缓冲区每一页所占的内存字节数。

0065h,字节,存放CRT方式寄存器的当前值。

0066h,字节,屏幕颜色控制字。

006c--006fh,双字,时钟计数值,PC/XT及长城0520-CH机每隔55毫秒产生一次时间中断,该计数值即加1。

                              006ch的一个字是计数低位,006eh的一个字是计数的高位。当计数达到24小时后,该两个字的内容恢复为0,并使0070h字单元内容加1。

0070h,字节,时钟计数超过标志。当时钟计数器达到一天结束且复位时,此字节置1,以表示新的一天开始。中断1A功能调用0在读取这一天的时间后,将此字节复位。

0071h,字节,若按下Break键,则该字节的第7位为1。

0072h--0073h,字,当系统热启动时,该字内容为1234h。

0074h,字节,硬盘操作状态字节。

0075h,字节,硬盘驱动个数。

0076h,字节,驱动器控制字节。

0077h,字节,硬盘访问起始地址中的偏移量。

0078h--007bh,4个字节,打印机操作最长等待时间。

007ch--007fh,4个字节,RS-232口操作最长等待时间。

0080h--0081h,字,存放键盘缓冲区起始单元的偏移量。

0082h--0083h,字,存放键盘缓冲区结束单元的偏移量。

0084h--00abh,用于EGA系统的附加显示器参数。

00ach--00efh,为ROM BIOS保留的通信区。


用户程序通信区

0040:00F0h-----0040:00FFh为"用户程序内部通信区"


DOS通信区

0050:0000h-----0050:0004h。

0050:0000h,字节,用于记录屏幕打印操作的状态

      00h------屏幕打印不工作或已正确完成。

      01h------正在进行屏幕打印

     0ffh------在屏幕打印中发生错误 

     00h------驱动器作为A驱动器使用

     01h------驱动器作为B驱动器使用


机器标识

=================

数值        机器类型

-----------------------------

0FFh         PC

0FEh         PC/XT

0FDh        PCjr

0FCh        PC/AT

0F9h         PC convertible

=================

3.jpg

相关文章

我的私人字库网络版

我的私人字库网络版

用FontCreator 9.0和PhotoShop CS6软件制作了一个私人用的字库。可以显示绝大部分简体。是我的手写体,有些没有优化。娱乐和设计使用。链接: https://pan.baidu.c...

重翻旧书,温故MFC模块VC windows 编程。

重翻旧书,温故MFC模块VC windows 编程。

MFC模组是微软提供的源码级别模块,开发应用程序得心上手,开发速度很快。很多人初学程序语言,不知道如何上手编第一个应用。也许应用太容易,看不上。太难自己又完不成。实际上,程序只是解决问题的一个工具,也...

活动-书籍【linux 应用集合与基本知识】的出版,评论超过500人出纸质书。

因为linux目前发展很快。我认为很多小学生也应该跟进Linux的步伐。再说了,很多书籍知识点比较过时,而且技术文章不十分严格。写给小学生看很有难度,因为要把涩味的技术文章写得生动,易读要下很多功夫。...

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

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

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

windows 下的 DLL 和功能用途

windows 下的 DLL 和功能用途

做电脑维护的朋友经常会碰到各种dll文件出错等 有客发这篇文章,希望能够帮到做维护的朋友更深入的了解windows 系统中各个dll文件的作用! 想加就加,有需要就更新 aac...

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

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

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