Порядок сегментов при линковке OMF-obj

Тема в разделе "WASM.ASSEMBLER", создана пользователем MrHammer, 17 ноя 2005.

  1. MrHammer

    MrHammer New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2003
    Сообщения:
    197
    Я конкретно не знаю, по какому алгоритму нужно линковать объектники в формате OMF. Конечно, мне известен dosseg, но есть ньюансы. Формат канечно ну очень интересный как и формат опкодов от Интела.

    Во первых непонятно, возможен в обьектниках такая связь:

    Target-Group и тип фиксапа - все кроме selector(seg).

    Rel. fixup в seg:off16/off32, в LIDATA.

    Как трактовать hibyte. Например, в тасме можно сделать примерно следующее LOW OFFSET some_locat, но в тоже время

    HIGH OFFSET some_locat делать не дает и т.д.

    Как группировать сегменты. Пока я представляю вот так.



    Сегменты с типом CODE ( даже если входят в группу )

    Сегменты с нестандартным типом

    DGROUP( исключая BSS и STACK )

    BSS

    STACK



    И как быть с группами сегментов.



    Кстати, Ида вообще при д. MSDOS exe-файлов не учитывает соглашения DOSSEG, что на мой взгляд выглядит совсем уж

    глупо. Даже если ввести небольшую эвристику на основе данной информации, то качество д. повысится в разы.