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



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

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

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

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

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


назад далее