Порядок сегментов и аттрибуты

Тема в разделе "WASM.ASSEMBLER", создана пользователем The Svin, 18 фев 2005.

  1. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia
    У меня такое смутное чувство, что я когда то знал как можно установить аттрибуты сегмента в MASM уже при декларации.

    Т.е. не через ссылку на класс типа

    _svin segment page 'CODE'

    а указать непосредственно как в опциях линкёра вместо 'CODE' типа e r w и т.п

    Это не приснилось мне?

    Вопрос непосредственно связан с порядком сегментов.

    Так как на .ALPHA MASM почему то не реагирует.

    Предпологаю, что это связано с тем, что он по дефолту использует порядок как с опцией DOSSEG (речь о порядке а не о досе, программа пишется для Win32) или возможно использует имена классов а не имена сегментов.



    Вобщем любые ответы связанные с вышеописанным приветствуются.

    1. Можно ли указывать атрибуты сегмента при декларации

    (те что будут использываться при пейджинге т.е. R W)

    2. Можно ли и как отключить DOSSEG (исходя из того что опция по предположению дефолтная)

    3. Как заставить работать .ALPHA
     
  2. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia
    Вот попробывал без имён классов продекларировать - .ALPHA раставила тогда по порядку.

    Но без декларирования птрибуты по умолчанию RW а E не ставится. На NT 4.0 лоудер на это внимание не обращает, лишь бы было то что в дескрипторы страниц будет писаться.

    Но не знаю как на остальных Win32 - будут ли там загрузчики обращать внимание что вход стоит в странице секция которой без E?
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    The Svin

    XP не обратила внимания. Сменил атрибуты секции кода с 60000020h на 40000000h