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



Поэтому в ассемблере введены специальные директивы, .IF, .ELSE .ENDIF, с помощью которых программа из листинга 4.2 может быть переписана так, как показано в листинге 12.2.


Здесь проверку, равно ли нулю число digit, выполняет директива .IF digit = 0. Если digit равно нулю, выполняется первая ветвь программы, чьи инструкции расположены между директивой

Методики адресации разрядов

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

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

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


назад далее