我一直在为 i386 实模式编写一些“独立”代码,并在 PXE 网络引导我的代码时遇到了一些奇怪的错误:
PXE-E79: NBP is too big to fit in free base memory
PXE-M0F: Exiting Intel Boot Agent.
在摆弄了我的二进制文件之后,我将其隔离为在
.data
段标记。
在 hexdumping 之后,我发现 ld 将指令一直移动到0x0200000
所有地方。
我目前正在生成我的平板箱:
ld --oformat binary
问题:
为什么这样
ld
做?这是特定于
oformat
选项吗?