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



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

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

АЛУ и указатели

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

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

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


назад далее