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



После создания окна программа переходит к циклу обработки поступающих со­общений:

.WHILE TRUE

invoke GetMessage. AODR msg. NULL. 0. 0 or eax.eax jz Quit

invoke DispatchMessage. ADDR msg .ENDW

с которым мы познакомились в предыдущем разделе. Выход из цикла произой­дет, когда процедура GetMessage получит сообщение WMJJUIT

АЛУ и флаги

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

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

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


назад далее