1

我对 OMF 对象格式的 PUBDEF 记录有点困惑。我的汇编程序生成了一个结果,指出记录是 4000 字节,但显然不是,为什么要这样做?

OMF 十六进制视图的图像

0xa0 和 0x0f 是 little endian 格式的记录长度,

请查看规范: http: //pierrelib.pagesperso-orange.fr/exec_formats/OMF_v1.1.pdf

它似乎还声明字符串的长度为零字节,并且在某一时刻甚至只有零字符串长度而没有提供字符串。也许我读错了文件?我现在已经花了几个小时并且正在苦苦挣扎。

如果有人可以在我编写链接器时帮助我解决我的问题,并且在不理解这一点的情况下无法继续。

谢谢

4

1 回答 1

1

文件中没有 PUBDEF 记录。您似乎错误地计算了以前的记录大小:

0000:80 THEADR
000e:88 CoMENT
0032:96 LNAMES
0041:98 SEGDEF
004B:98 SEGDEF
0055:88 COMENT
005C:a0 LEDATA
006E:a0 LEDATA
007b:8a MODEND

学习使用更复杂的工具进行 OMF 检查,例如 Tdump.exe 或 ODU.exe。

于 2017-01-02T08:59:48.407 回答