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



Листинг 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 флагов. Громадная область сих знаков может быть рассчитана после произведения арифметических операций с поддержкой процедур относительного перехода, а также с поддержкой процедуры CIN (прерывание по переполнению). Влияние циферных процедур на флаги обрисовано ниже.

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

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


назад далее