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



кодируются по-разному, и если напи­сать «оконную» программу с помощью редактора оболочки 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 флагов. Солидная частица этих джокеров может быть рассчитана после произведения арифметических операций с помощью процедур сравнительного скачка, и вдобавок с поддержкой процедуры INTO (прерывание по заполнению). Влияние арифметических функций на указатели изображено далее.

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

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


назад далее