我有點困惑,OMF對象格式的PUBDEF記錄。 我的彙編程序生成了一個結果,表明記錄是4000字節,當它顯然不是這樣的時候,它爲什麼會這樣做?OMF(目標模塊格式)長度字段顯示不正確
的0XA0和爲0x0F是小尾數格式的記錄長度,
請查看specificaiton:http://pierrelib.pagesperso-orange.fr/exec_formats/OMF_v1.1.pdf
這似乎也說明,該字符串的長度爲0字節在一個點上甚至只有零串長度而沒有提供串。也許我正在閱讀文件錯誤?我已經花了數小時,並且掙扎着。
如果任何人都可以幫我解決我的問題,因爲我正在編寫鏈接器,如果不理解這一點,將無法繼續。
感謝
我發現0x0f是直到字符串結尾的偏移量,但這沒有意義,因爲規範清楚地顯示0x0a和0x0f是表示記錄大小的小端序列短。 – NibbleBits
你在[這個問題](http://stackoverflow.com/q/41418521/968261)中問我這裏看看。服用。我對OMF不是很熟悉。但是,考慮到它被問到的上下文(對於定製編譯器),我可能會提議查看ELF。在我的[更小的C編譯器](https://github.com/alexfru/SmallerC)中,我將32位和16位組合到ELF對象文件中。從他們中,我可以爲DOS生成可執行文件(微型模型.COM,小型和巨大模型.EXE,DPMI和虛幻模式EXE),Windows(PE),Linux(ELF)和平面二進制文件。不過,我確實有一個自定義鏈接器。 –
廣告LNAMES你沒有錯,第一個字符串確實有故意零大小。例如,帶有空的類名的段引用它。 – vitsoft