1

我想知道 NASM 如何处理这段代码:

只需让您知道它是由引导加载程序在 0x1000 加载的,并且引导加载程序在跳转到 0x1000(这段代码)之前进入保护模式(设置 GDT 的段覆盖整个内存,设置段寄存器......):

[bits 32]
[org 0x0]

jmp test

loop:
jmp loop

test:
mov byte [0xB8000], 'H'
mov byte [0xB8001], 0x57

end:
jmp end

当我在单独的文件中编译这段代码时,NASM如何知道内存中测试标签的地址进行跳转(应该是0x1000 +文件差异)?因为它有效,但我不明白如何。

4

0 回答 0