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



И решать, использовать ли директивы, организующие ветвление в про­грамме, каждый должен сам. Но в любом случае эти директивы нужно по крайней мере знать, потому что они часто встречаются во многих исходных текстах.

Поэтому продолжим знакомство с ними, вернее, с различными условиями в ди­рективе .IF. Одно мы уже знаем. Знак — означает «равно». Другие условия ин­туитивно понятны (а тем, кто знает язык Си, еще и привычны):

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

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

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

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


назад далее