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



Почему же не был сохранен есх? Очевидно, таковы правила компилятора: регистром есх он не дорожит, a ebx использует для каких-то сво­их целей и потому не допускает его порчи внутри функции. Список регист­ров, которые нужно сохранять в стеке, можно найти в документации к ком­пилятору. Но можно просто получить ассемблерный листинг сложной функ­ции, использующей все регистры и посмотреть, какие из них сохраняются в сте­ке.

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

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

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

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


назад далее