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



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


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

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

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

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

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


назад далее