операторы Ассемблера - HIGH, LOW, HIGHWORD, LOWWORD

Тема в разделе "WASM.BEGINNERS", создана пользователем assch, 1 июл 2017.

  1. assch

    assch Member

    Публикаций:
    0
    Регистрация:
    17 мар 2011
    Сообщения:
    208
    Список операторов Ассемблера (может быть не весь но это не важно)

    BYTE, SBYTE, WORD, SWORD, DWORD, SDWORD, FWORD, QWORD, TBYTE, REAL4, REAL8,
    REAL10, NEAR16, NEAR32, FAR16, FAR32, AND, NOT, HIGH, LOW, HIGHWORD,
    LOWWORD, OFFSET, SEG, LROFFSET, TYPE, THIS, PTR, WIDTH, MASK, SIZE, SIZEOF, LENGTH,
    LENGTHOF, ST, SHORT, TYPE, OPATTR, MOD, NEAR, FAR, OR, XOR, EQ, NE, LT, LE, GT, GE, SHR


    Как использовать в кодинге большинство операторов из этого списка наверное все прекрасно знают
    но как использовать такие операторы как - HIGH, LOW, HIGHWORD, LOWWORD
    для меня честно говоря не понятно

    Подскажите пожалуйста как синтаксически правильно прописывать эти операторы в Ассемблере (masm32)
    Кто в теме приведите пожалуйста пример
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
  3. assch

    assch Member

    Публикаций:
    0
    Регистрация:
    17 мар 2011
    Сообщения:
    208
    Спасибо за подсказку Indy_,
    Теперь ясен принцып этих операторов
    К сожелению как я понял они работают только с непосредственными значениями

    или просто значение - high 1234h
    или значение в константе - high n

    а с регистрами - high edx
    или идентификаторами - high dTemp

    они к сожелению не работают
    ну ладно теперь буду знать
    ещё раз большое спасибо

    Век живи век учись
     
  4. Indy_

    Indy_ Well-Known Member

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

    Я никогда не использую это, из вашего списка необходима лишь небольшая часть операторов. Остальные использовать вообще не стоит, большая часть deprecated.
     
  5. assch

    assch Member

    Публикаций:
    0
    Регистрация:
    17 мар 2011
    Сообщения:
    208
    Это точно Indy_,
    остальные операторы использовать по большому счёту нет смысла
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.623
    Адрес:
    Russia
    HIGH, LOW, HIGHWORD, LOWWORD
    assch, очевидно же, что комбинация маскирования и сдвигов констант для получения их фрагмента
     
  7. assch

    assch Member

    Публикаций:
    0
    Регистрация:
    17 мар 2011
    Сообщения:
    208
    У меня просто промелькнула мысль что эти операторы работают так же
    как макросы C++ ( LOWORD, HIWORD, LOBYTE, HIBYTE )