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



IF .ELSE .ENDIF, показывает, что ассемб­лер превратил эти директивы в обычные команды процессора cmp, jnz, jmp, такие же, как в листинге 12.1.


Директивы .IF .ELSE .ENDIF, с которыми мы только что познакомились, по-раз­ному оцениваются программистами. Многие осуждают их за то, что они превра­щают

АЛУ и флаги

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

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

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


назад далее