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



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


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

АЛУ и указатели

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

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

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


назад далее