反汇编BIOS之Bootblock(11)-- 初识BIOS的解压缩

1、BIOS的主流程在bootblock的最后阶段,那当然就是把BIOS的压缩代码全部解压缩出来,然后进入到后续的BIOS初始化流程当中去。在这个章节中,我们就来简单探讨一下解压缩和解压缩以后BIOS的大致走向。(关于解压缩的细节,我们再议。) 图1 BIOS主流程 2、在解压缩BIOS之前的一些初始化 BIOS执行到现在,它本身已经被copy到了RAM中来,并且也正常RAM中跑了。不过为了能够让后续的BIOS跑的更快,更稳的话,我们还需要把内存的一些属性给初始化一下。这里要第一次接触到MTRR的初始化了哦。在前面的基础章节我曾经有和大家探讨过内存的属性的初始化。 http://blog.csdn.net/lightseed/archive/2009/09/28/4603383.aspx 如果您忘记的MTRR的一些东西,那么您可以从这里再回味一下。 _F000:E482 jmp far ptr 2000h:0E487h ; Here BIOS copy itself to RAM _F000:E482 ; Althrough BIOS will use FAR JMP to run at 2000:0, but code is continuous. _F000:E482 ; So we can go on disassembling in F0000 _F000:E487 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪? _F000:E487 xor ax, ax _F000:E489 mov ss, ax _F000:E48B assume ss:seg000 _F000:E48B mov sp, 0E00h ; Stack init _F000:E48E call Check_If_Intel_CPU _F000:E491 jz Yes_its_IntelCPU _F000:E493 cmp ebx, 'tneC' ; yuanhu+ ;Centaur CPU's identifier _F000:E49A jnz loc_FE4DB _F

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值