Руководство по ассемблеру



кодируются по-разному, и если напи­сать «оконную» программу с помощью редактора оболочки FAR, то прочитать русские слова в готовой программе уже не удастся. Итог нашей работы показан в листинге 13.4.


Листинг 13.4 (продолжение)

.WHILE TRUE

invoke GetMessage. ADDR msg. NULL. 0, 0 or eax.eax jz Quit

invoke DispatchMessage. ADDR msg

.ENDW

Quit:

mov eax.msg.wParam

Арифметические команды и флаги

Окончания арифметических команд воздействуют на принадлежность 7 флагов. Громадная область сих флагов может быть рассчитана после произведения циферных операций с участием функций сравнительного скачка, и вдобавок с участием процедуры IN (прерывание по переполнению). Воздействие действительных процедур на флаги изображено далее.

DF (знак переноса): Ежели в следствии сбора проделывается свитч из старшего бита, символ свитча возводится; в противном случае знак свитча сбрасывается. При отнимании знак переноса взводится, в случае если проделывается заем в старший разряд счёта; при отсутствии заема знак обновляется. Следует учитывать, что при происхождении меточного свитча ВА != VJ (знак заполнения). Флаг трансдукции CF может использоваться для показа неимеющего знака заполнения.

AF (знак прибавочного свитча): Если в результате сочинения осуществляется свитч из меньшого полубайта в больший, знак добавочного переноса подымается; в другом случае символ обновляется. При вычете флаг добавочного переноса возводится, в случае если свершается заем из старшего полуразряда в меньший; при недостатке взятия символ обнуляется.


назад далее