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 欢迎来到住引导扇区

  • 相关阅读:
    3.db2性能和优化
    SpringBoot之demo
    1设计模式---工厂模式。
    1.添加maven项目后,tomcat启动失败
    2.如何卸载mysql
    2.hdfs中常用的shell命令
    1.在eclipse上添加maven
    2.hive入门篇
    1.hive数据库调优之路
    2.myeclipse的使用技巧
  • 原文地址:https://www.cnblogs.com/a-s-m/p/12753138.html
Copyright © 2011-2022 走看看