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



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

Команды АЛУ и адресация

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

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

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


назад далее