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



Смысл процедуры WndProc (листинг 13.1) прост: ее интересует, живо ли подшефное ей окно. Если да — сообщения WM_DESTROY не возникает и всякое другое сообщение от­правляется стандартной процедуре DefWi ndowProc, в которой они и обрабатываются. Если же окно уничтожается, процедура PostQuitMessage генерирует сообщение WMQUIT, которое встает в общую очередь, а затем направляется нашей процедуре GetMessage.

Это сообщение (WM_QUIT) — особенное, и GetMessage отвечает на него тем, что воз­вращает ноль в регистре еах. Поэтому цикл .WHILE прекращается и программа за­вершает работу, переходя к метке QUIT.

Арифметико логические операции с присвоением флага

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

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

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


назад далее