asm

Тема в разделе "WASM.ASSEMBLER", создана пользователем sato, 8 окт 2017.

  1. sato

    sato Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    125
    в MASM32 есть какие то ограничения?
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    6
    Регистрация:
    25 июн 2008
    Сообщения:
    2.473
    sato,
    ограничения на что?
    Перечитайте, пожалуйста Макросы хотя там не описано и десятой части от возможностей макроязыка masm
     
  3. sato

    sato Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    125
    что получил создатель этого кода,когда определил ecx как i ?

    1. Код (Text):
      1. %define i    ecx
      2. adc    dl, ih
     
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    6
    Регистрация:
    25 июн 2008
    Сообщения:
    2.473
    sato,
    а источник этого кода? Может имеет смысл спросить там?....
     
  5. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    1.040
    Да ладно, это просто перенос решения какой то задачи, не корректным способом на подобный функционал. Исходная задача какая ?

    Для чего вам нужны такие конструкции ?

    Если только для академ интереса, то это нужно пробовать и даже если оно как то заработает, то не факт что оно будет работать в разных версиях компиля одинаково. Уж слишком специфичная конструкция вам нужна. Если какое то выражение может быть корректно на одном языке(компиле), то это не означает, что в другом языке может быть найдена аналогия.
     
    Mikl___ нравится это.
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    1.040
    sato,

    > %define I ecx => макродефейн, var I = "ecx"

    adc dl, ih => .., "I" + "ecx" => это не макро подстановка. Каким то образом компиль разложил регистр на компоненты. Такое не может быть транслировано на масм, тоесть я не вижу способа.
     
    Mikl___ нравится это.
  7. sato

    sato Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    125
    наверно при обьявлении
    Код (Text):
    1. %define i    ecx
    сразу же обьявляется
    Код (Text):
    1. %define ih    ch
    Код (Text):
    1. %define  il    cl
    и тд..........................................
    .................................................