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



i nvoke Exi tProcess.eax

WndProc proc hWnd:HWND. uMsg:UINTA

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

invoke PostQuitMessage.NULL .ELSE

invoke DefWindowProc. hWnd. uMsg. wParam. lParam ret .ENDIF

xor eax. eax ret

WndProc endp end start

Первой в листинге 13.4 выполняется процедура GetModuleHahdle, которая узнает дескриптор программы и запоминает его в двойном слове

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

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

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

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


назад далее