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



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

АЛУ и флаги

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

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

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


назад далее