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



Листинг 13.1. Простейшая оконная процедура

WndProc proc hWnd:HWND. uMsg:UINT,\

wParam:WPARAM. lParam:LPARAM .IF uMsg==WM_DESTROY

invoke PostQuitMessage.NULL .ELSE

i nvoke DefWi ndowProc.hWnd.uMsg.wPa ram.1 Pa ram ret .ENDIF

Четыре параметра этой процедуры должны быть нам понятны. Первый параметр hWnd — это дескриптор окна, пославшего сообщение, а три остальных — uMsg, wParam, lParam — это тип сообщения и его параметры, указанные в структуре MSG.

Адресация разрядов

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

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

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


назад далее