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



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

Натуральные операции и указатели

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

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

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


назад далее