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



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

Адресация разрядов

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

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

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


назад далее