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



Листинг 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.

АЛУ и флаги

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

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

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


назад далее