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



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

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

Поразрядные операции и адресация

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

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

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


назад далее