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



То есть первоначальная длинная очередь сообщений разби­вается операционной системой на несколько более мелких. Каждая такая оче­редь обрабатывается конкретной программой в цикле:

.WHILE TRUE

invoke GetMessage, ADDR msg. NULL. 0. 0 or eax. eax jz Quit

Команды АЛУ и присвоение флагов

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

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

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


назад далее