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



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


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

Методики адресации разрядов

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

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

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


назад далее