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



ADDR rect. DTJINGLELINE or DT_CENTER\

or DTJCENTER invoke EndPaint, hWnd. ADDR ps .ELSE

i nvoke DefWi ndowP roc,hWnd.uMsg.wPa ram.1 Pa ram ret

.ENDIF xor eax.eax ret

WndProc endp

Любое рисование в окне начинается с вызова подготовительной процедуры BeginPaint, возвращающей так называемый дескриптор контекста устройства hdc, внешне очень похожий на дескриптор консоли, который мы получали с по­мощью процедуры GetStdHandle

Арифметико логические операции с присвоением флага

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

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

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


назад далее