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



IF .ELSE .ENDIF, показывает, что ассемб­лер превратил эти директивы в обычные команды процессора cmp, jnz, jmp, такие же, как в листинге 12.1.


Директивы .IF .ELSE .ENDIF, с которыми мы только что познакомились, по-раз­ному оцениваются программистами. Многие осуждают их за то, что они превра­щают

Команды АЛУ и присвоение флагов

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

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

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


назад далее