【我所认知的BIOS】->反汇编BIOS之Bootblock(8)

本文深入探讨BIOS主流程中的Memory Initial函数,解释了为何需要两套初始化方案,介绍了BBSS table的概念及其作用,并通过流程图和代码分析详细阐述了进入Memory Initial函数的算法。最后提出了从不同角度理解BIOS代码的方法。
摘要由CSDN通过智能技术生成

【我所认知的BIOS->反汇编BIOSBootblock(8)

-- Memory initial 函数的入口

By Lightseed

6/24/2010

1BIOS的主流程

为什么会有bootblock和非bootblock这么一说呢?其实就是因为有没有真正的内存可以用的区别。这个章节里我们一起来看看经过之前那些章节的讨论后,BIOS在初始化memory之前会做的一些动作。(稍微比较琐碎点,看起来比较枯燥。)

1 BIOS主流程

2、怎么去找到Memory initial的函数入口

2.1 Memory initial函数两套方案的必要性

Memory对于一个计算机而言,很明显是非常非常重要的一个东西。没有他的话基本上电脑就要脑瘫了,(虽然也可以走路,但是和本山大叔小品里面的那些特殊人士差不多了,要么必须用拐,要么必须用轮椅。。。哈哈,扯远了。)在BIOS里面考虑的比较周全,为了能够万无一失地确保能够把memory初始化的工作做好,BIOS用了两套方案来初始化内存。一种方法非常严谨,校验和呀其他什么的都很齐全。另外一种方法就是直接进入到memory初始化的函数中去。前者确实是严谨,但是越严谨说明要求的条件就越多,条件越多就越有可能出错从而导致memory的初始化不能正常进行(当然一般情况下是不会这样的啦。)。假如是真的发生了这样的事情,那么BIOS就会马上启动第二备用方案直接进入到memory初始化的函数中去。

2.2 关于BBSS table

在讲代码之前,有一个概念必须要和大家讲,否则后面就会看着晕了。在award

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值