小编ali*_*ali的帖子

虽然我定义了 ORG 7C00,但 ISO 文件显示 D800

我正在尝试开发一个引导加载程序。但有一个部分我不明白。我知道当我的汇编文件中定义了 ORG 7C00 时,程序将加载到磁盘 7C00 上。我将其编译为二进制文件并在 Magic ISO 中创建了 iso 文件。然后,当我查看 ISO 文件的十六进制版本时,我看到我编写的代码是从 D800 地址开始的。不是应该安装在7C00吗?

org 0x7C00
bits 16

start:
    cli

times 510 - ($ - $$) db 0
dw 0xAA55
Run Code Online (Sandbox Code Playgroud)

https://i.stack.imgur.com/TFVDE.png

我还有另一个问题。地址 D010 处还有另一个引导加载程序签名。为什么?

https://i.stack.imgur.com/dyZgl.png

另外,我还想知道一件事。我想将一些文件放入我的 ISO 文件中,并且想在此级别读取这些文件。我在 VirtualBox 中进行实验。如何读取 ISO 文件中的文件。或者我如何运行一个程序。所以我想做的就是将内核放置在这里并从引导加载程序加载它。

如果我错了,是否有资源详细说明如何加载引导加载程序以及如何加载 BIOS?

x86 kernel nasm osdev bootloader

1
推荐指数
1
解决办法
63
查看次数

标签 统计

bootloader ×1

kernel ×1

nasm ×1

osdev ×1

x86 ×1