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



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

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

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

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

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

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


назад далее