zoukankan      html  css  js  c++  java
  • 主引导扇区

    硬盘0面,0道,1扇区,供512个字节,称为主引导扇区。

    如果计算机是设置为从硬盘启动,

    那么,BIOS将完成基本工作前要做的最后一件事,就是读取引导扇区,并将它加载到内存地址0x0000:0x7c00处(也就是物理地址0x07c00),

    然后一个jmp指令跳转到该地址处,接着执行。

    但是!!!引导扇区必须是有效的才行!!!

    一个有效的主引导扇区,最后两个字节必须为0x55,0xAA。

    书作者说不知道为什么是要加载到0x07c00这个地址,我也不知道。。。

    一般来说,主引导扇区是由操作系统负责的,

    正常情况下,一段精心编写的主引导扇区代码,将检测用来启动计算机的操作系统,并计算出它所在的硬盘位置,

    然后它把操作系统的自举代码加载到内存,也用jmp指令跳转到那里继续执行,知道操作系统完全启动,

    主引导扇区示例代码:

    ; 4-2.asm
    mov ax,0xb800
    mov ds,ax
    
    mov byte [0x00],'a'
    mov byte [0x02],'s'
    mov byte [0x04],'m'
    
    jmp $
    times 510-($-$$) db 0
    db 0x55,0xaa
    ;最后两行必须有,一个负责填充,一行负责有效性检验使用
    ;书上给的代码没有最后两行

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

    书4.1.5 一切从主引导扇区开始

    书5.2 欢迎来到住引导扇区

  • 相关阅读:
    poj2828 Buy Tickets
    bzoj2724: [Violet 6]蒲公英
    0x41 并查集
    poj1733 Parity game
    poj2976 Dropping tests
    poj1704 Georgia and Bob
    bzoj4517: [Sdoi2016]排列计数
    poj2947Widget Factory
    0x3A 博弈论之SG函数
    我国已累计招收培养14万余名博士后
  • 原文地址:https://www.cnblogs.com/a-s-m/p/12753138.html
Copyright © 2011-2022 走看看