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



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

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

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

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

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


назад далее