引导

 BIOS在启动中的角色:

  (1) BIOS装载引导驱动器上的0扇区(CHS = 0:0:1)内容到内存线性地址7C00H处;

  (2) BIOS检查所装载的扇区是否有启动标记(510、511字节分别为55H和AAH);

  (3) CPU寄存器DL被设置为分配给引导驱动器的驱动器号,00H为软驱A,80H为硬盘C;

  (4) BIOS跳转到其装载的扇区中的代码(即7C00H处),将控制权转交给引导代码。

 

 引导代码应该初始化以下寄存器:

  (1) DS:某些BIOS设置其值为0,某些设置其为40H,它应该被设置为(7C00H-BOOT_ORG)/16,

    其中,BOOT_ORG为引导代码的ORG值,该值通常为7C00H(这意味着DS应设置为0);

  (2) SS和SP(堆栈):这两个寄存器的初始值依赖于BIOS;

  (3) CS个IP(通过JMP指令):大多数的BIOS进入启动代码的地址为0000:7C00H,但是某些

    BIOS却跳转到07C0:0000H。由于短跳转和条件跳转是IP相关的,因此如果没有使用

    远跳转或者绝对跳转,则不需要重置CS和IP;然而,DS仍旧必须是正确的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值