• 为什么主启动寄存器的存储器地址为0x7C00?

    当时的操作系统是86-DOS。
    此操作系统至少需要32 KB的内存。
    内存地址为0x0000,32 KB内存为0x0000至0x7FFF。
    8088芯片本身必须占用0x0000?0x03FF才能保存一些中断处理程序存储位置。
    (主启动寄存器本身是INT19h中断信号的驱动程序。
    因此,内存中只能使用0x0400?0x7FFF。
    主启动记录位于内存地址的末尾,以在操作系统中留下尽可能多的连续内存。
    由于扇区是512字节,主引导记录也生成数据。这需要额外保存512个字节。
    因此,您的预订位置如下。
    0x7FFF-512-512 + 1 = 0x7C00
    0x7C00就是这样。
    计算机启动后,使用32 KB的内存。
    + ---------------------- 0x0
    |中断向量
    + ---------------------- 0x400
    | BIOS数据区
    + ---------------------- 0x5?
    |操作系统负载区域
    + ---------------------- 0x7C00
    |引导部门
    + ---------------------- 0x7E00
    |引导数据/堆栈
    + ---------------------- 0x7FFF
    |(未使用)
    + -------------------------(。

    (完)


    上一篇:世界上第一辆丰田2.0 T D.

    下一篇:Txt z摇香云9


    相关文章: