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



На мой взгляд, в этих упреках есть своя правда, хотя и до директив .IF .ELSE .ENDIF мы уже вступили на скользкую дорожку, ведущую к языкам высокого уровня, когда согласились использовать директиву invoke для запуска проце­дуры и терпели своеволие ассемблера, добавлявшего в процедуру пролог push ebp, mov ebp, esp и эпилог leave (см

АЛУ и указатели

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

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

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


назад далее