Это не имеет смысла, чтобы принять формат, который накладывает ограничения на какие функции линкер может иметь. Вот почему он не используется ничем, кроме CPM эры монтажников и компиляторов.
Скрытый текст
It doesn't make sense to adopt a format that places limitations on what features the linker can have. That's why it's not used by anything except CPM era assemblers and compilers.
[свернуть]
SDCC не писал свои собственные ассемблеры / линкеры - они приняли ASXXX написал Алан Болдуин. Версия ASXXX монтажников, которые использует SDCC позади текущей версии, что Алан написал. Основной причиной для SDCC выбирают ASXXX что ASXXX семейство монтажников, что цели разных процессорах приносит общий набор функций и синтаксиса по всем целям центрального процессора. Эти монтажники все разделяют подобный формат библиотеки с тем же именем, .rel за тысячу показов, но это не то же самое. Некоторые из целей SDCC используют ассемблер вне семьи ASXXX. Я думаю, что цели ПОС и DS используют различные монтажники и различные форматы библиотеки.
Если CPM .rel важно, оно не должно быть слишком трудно, чтобы написать инструмент, который преобразует CPM .rel формат библиотеки формата другого ассемблера. Это было частично сделано в Z88DK много лет назад (~ 10 лет сейчас! Время летит) (rel2z80.c), но я не думаю, что это будет работать больше без изменений, так как библиотека формата Z88DK / Z80ASM имеет с тех пор изменилось. В то время это было использовано для скомпилированной программы MS BASIC в КФМ, двигаться, что Z88DK и связи для ряда других целей Z80. Пример, используемый скомпилирован программу MS BASIC и запустил его на спектре гх.
Скрытый текст
SDCC did not write its own assemblers / linkers - they adopted ASXXX written by Alan Baldwin. The version of the ASXXX assemblers that SDCC uses is behind the current release that Alan has written. A primary reason for SDCC choosing ASXXX is that ASXXX is a family of assemblers that targets many different cpus which brings a common feature set and syntax across all cpu targets. These assemblers all share a similar library format with the same name as CPM's .rel but it is not the same thing. Some of SDCC's targets use an assembler outside the ASXXX family. I think the PIC and DS targets use different assemblers and different library formats.
If CPM .rel is important, it shouldn't be too hard to write a tool that converts CPM .rel format to another assembler's library format. This was partially done in Z88DK many years ago (~10 years now! Time flies) (rel2z80.c) but I don't think this would work anymore without modification because Z88DK/Z80ASM's library format has since changed. At the time this was used to compiled an MS BASIC program in CPM, move that to Z88DK and link for several other Z80 targets. The example used compiled an MS BASIC program and ran it on the zx spectrum.
[свернуть]





Ответить с цитированием