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



По сравнению с циклом, организован­ном директивой .WHILE, здесь все наоборот: цикл прекращается, когда условие в директиве .UNTIL истинно (в нашем примере — когда есх обратится в ноль).

Задача 12.1. Посмотрите с помощью отладчика OllyDbg, как ассемблер реали­зует циклы .WHILE .ENDW и .REPEAT .UNTIL.

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

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

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

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


назад далее