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



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


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

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

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

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

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


назад далее