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



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, которая узнает дескриптор программы и запоминает его в двойном слове

Арифметические команды и флаги

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

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

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


назад далее