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



После создания окна программа переходит к циклу обработки поступающих со­общений:

.WHILE TRUE

invoke GetMessage. AODR msg. NULL. 0. 0 or eax.eax jz Quit

invoke DispatchMessage. ADDR msg .ENDW

с которым мы познакомились в предыдущем разделе. Выход из цикла произой­дет, когда процедура GetMessage получит сообщение WMJJUIT

АЛУ и указатели

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

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

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


назад далее