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



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


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

Арифметические команды и флаги

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

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

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


назад далее