BIOS程序编写——ISA模块的编写

BIOS程序编写——ISA模块的编写

ID:38178106

大小:1.33 MB

页数:5页

时间:2019-05-24

BIOS程序编写——ISA模块的编写_第1页
BIOS程序编写——ISA模块的编写_第2页
BIOS程序编写——ISA模块的编写_第3页
BIOS程序编写——ISA模块的编写_第4页
BIOS程序编写——ISA模块的编写_第5页
资源描述:

《BIOS程序编写——ISA模块的编写》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、⋯⋯⋯⋯⋯⋯‘狙i黼jsocket;文/图rOss上一一些基本的知识和软Bl0S的功能节向大家介绍了,实际上几乎所有的厂商都会增加件的使用一B10S这一ACPItableACPIACPI。这节将正式将大家领入编程部分内容,支持的列的殿堂。表.只有支持ACPI的B10S,才能真正实现ACPI功能EPALOG0,能源之星图形文件,也就是BID8文件分新主板自检时候的右上角的图标。下面我们来看一下第七个模块下面以捷波主板的B10S为例(从互联网下,图片上标BlOS固etwabin)ISAROM1一ISA载下来的件文件jy.,键入命令识为[],可以看出这是个模块

2、“”CbromjetwaY.bin/d。如图1所示,返回(ISAM0duIe),因为主板的不同,可能有些Item—Name主板并没有1SA模块SA了许多有用的信息,如模块名(),,或者有两个以上的I模”OriginaI—siZe)块模块原始大小(.压缩后的大小。这里的模块其实是希捷主板自带的捷波”(Comressed—SiZe)(0riginaI—P,原始文件名恢复精灵。FiIe—Name)BIOScbromexeBIOS芯片空间的约束使用.导出/导入甚至删除中的。因为,几乎所有的模块都进行了压缩(LHA算法),以便模块是极为方便的。下面介绍几种常用的添

3、加节省体积。删除Bl0S模块的命令cbrombiosbin/EXTRACT(.模块名用于导出B10S中的模块)cbrombiosbin/lSAinputbin..(用于导入ISA模块)cbrombiOSbin/DELETE(.模块名用于删除B10S模块)BI口S内存布局图1如图2所示一BIOS内.是幅相对比较详细的可以看出,捷波主板的B10S共有7个模块,存布局图.大家可不要被这么多陌生的英文单其中主要的有SystemBIOS,包含了BIOS的初词给吓坏了。如果还不清楚什么是保护模式和始化模块,是系统中最基本的部分,所有的实模式的朋友,请到网上获取信息。

4、BIOS一XGROUPCODEBIOS从图中我们可以大致的看出实模式下的内都有这部分,扩展程序.是各个厂商自己定制的不同于标准Award存可分为三大区域。圈谶拨誉裟}’“。。⋯⋯⋯。“⋯。)i栏葚目晶编蔷辑)8s0ocket)_■■__医(A20Gate)。A20门其实就是在第21根地址一个开关线上做了,只有当该开关打开时,才能访问到高端内存。由于BIOS厂商的不同,BIOS设计的模块以及启动程序也不尽相同。下面依然以AwardBIOS为例。AWard公司的BIOS除了激活区段{BootBIock:即加电初始化首先执行的指令所在的区域)以外的部分,都要使

5、用LHA算法进行压缩并整合到BlOS文件中。BootBlock位于SystemBlOS模块中。计算机加电启动,首先执行位于0FFFF0h处的指令一个jmpfar(远,这个指令是iJBootBIock处BootBIock转移指令),跳转~.然后开始检测BIOS的校验和.如果出错则跳转到紧B10S一切顺利急恢复程序或备用。如果,BootBIock开始解压缩各个模块并检测其校验和.如果校验和正确,将跳转到这些模块执行。15A簟杖蝈写明1aseMemor:Oh~9FFFF0)By.常规内存.,一共640kb一段内存通常作为DOS下可执行1)IsA模块的结构。这I

6、nterruPt3一lSA模块结构文件的载体.也储存了中断向量表(如图所示.是个标准的,“55hVectorTable)、BIOS数据区(BIOSDataArea)开头的两个字节作为开头的标志.必须为BAAh”PE和引导扇区(OOtArea)。,就好像文件头的前两个字节为””一一2)UpperMemory:A0000h~Mz.上个字节是模块的长度位内存区,样。后,因为OFFFFFh一384kbB10S(lSA512字节的整数倍,共。包括显卡、网卡的模块的长度必须为.如果B10S)都被映射到该地址空间。为01h,则是512字节.如果为02h,则是10243

7、)HighMemorYArea:高端内存区03h一.字节.以此类推。在文件偏移的处,是个OFFFFFh~1OFFEFh一64kbmP指令,共。,跳到程序真正的入口点。Oh5sh—说到这段内存.大家可能会感到迷惑。众.Aahc●块开头瓣蠢志▲羹●PE头的M2髯)2h0lh(羹块长度"所周知8086/8088CPU一起里墨01512字节).的在实模式下采用3bImp

8、莹序入口点(_聃涠程序_队日点刑打执衔t楚盔冒哺嘲‘指夸)segment:offset的方式进行寻址。当我们寻址时.’铀一▲mn

9、而1leIIo.Wodd▲Oh‘定义苎雌)CPU通过计算(~ps

10、egment,10h+offset)得出实际17hsome_dwordddOh的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。