Для какого транслятора написан данный код?

Тема в разделе "WASM.BEGINNERS", создана пользователем ajak, 4 май 2008.

  1. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Привет!!! Помогите разобраться для какого транслятора написан данный код. Для масма или тасма? Просто странные конструкции.
    Не видел никогда _data. Знаю .data. Вот. Потом какой-то сегмент text. Или это так оформляетя сегмент кода?
    И ещё пара вопросов. Что даёт 586р. Почему Пирогов все примеры в книге приводит с этой директивой? Обычно .386, .486. А здесь ещё буква "p" зачем-то. И про память. Читал до этого книгу Юрова, он ниразу за 700 стр. не упомянул про плоскую модель памяти, вся везде сегментированная. А здесь сразу на первых листах, сразу, без рассказа исп. плоскую. Что она даёт. Что там сегментов нету? Или как? И для чего STDCALL? Здесь же нет процедур, а он написал, думаю не зря. Спасибо.


    .586p
    ;плоская модель памяти
    .MODEL FLAT, STDCALL

    _dATA SeGMENT
    _DaTA ENDS
    _TeXT SeGMENT
    STaRT:
    Ret ;выход
    _TEXT eNDS
    eND START
     
  2. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    масм

    586р :
    1. p - PLUS - расширенный набор "инструкций"
    2. 586 - читай маны, чем 386 отличается от 586.
    http://ru.wikipedia.org/wiki/Pentium
    В вики доступным языком описаны отличия.

    я думаю, для своих программ автор использовал готовые шаблоны.
    Он не набирал каждую новую программку с нуля.

    Читай про защищенный режим и про модели памяти.
    http://www.wasm.ru/author.php?author=Broken%20Sword

    .data - это секция
    _data - это сегмент
    В чем разница - написано в манах и учебниках.
     
  3. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Спасибо большое. Пробоема в том что в хэлпе который прилагается к масму нету ни про .586p ни про подчёркивания, ни про _text, а компилятор хавает.