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



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


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

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

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

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

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


назад далее