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



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

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

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


назад далее