Список операторов Ассемблера (может быть не весь но это не важно) 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) Кто в теме приведите пожалуйста пример
assch, n = high(1234h) mov eax,n --> eax = 0x12 https://msdn.microsoft.com/en-us/library/e807xea6.aspx
Спасибо за подсказку Indy_, Теперь ясен принцып этих операторов К сожелению как я понял они работают только с непосредственными значениями или просто значение - high 1234h или значение в константе - high n а с регистрами - high edx или идентификаторами - high dTemp они к сожелению не работают ну ладно теперь буду знать ещё раз большое спасибо Век живи век учись
assch, Я никогда не использую это, из вашего списка необходима лишь небольшая часть операторов. Остальные использовать вообще не стоит, большая часть deprecated.
HIGH, LOW, HIGHWORD, LOWWORD assch, очевидно же, что комбинация маскирования и сдвигов констант для получения их фрагмента
У меня просто промелькнула мысль что эти операторы работают так же как макросы C++ ( LOWORD, HIWORD, LOBYTE, HIBYTE )