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



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


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

Поразрядные операции и адресация

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

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

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


назад далее