Условное ассемблирование

В некоторых ассемблерах имеются средства, которые позволяют .в зависимости от условий, возникающих в момент ассемблирования, включать или не включать в объектную программу отдельные участки программы. В некоторых ассемблерах имеются даже операторы условного и безусловного переходов, цикла, вызова подпрограммы; эти операторы здесь не рассматриваются, информацию о них можно почерпнуть из литературы, приведенной в списке литературы. Условное ассемблирование осуществляется с помощью псевдокоманд IF и ENDIF. Приведены типичные примеры условного ассемблирования.

Пример. Выбор способа адресации.

IF XI <256

ADD XI

ENDIF

IF XI >= 256

LOAD # XI

STORE TEMPI

ADD ©TEMPI

ENDIF

Этой конструкцией можно воспользоваться, если данная ЭВМ позволяет осуществлять прямую адресацию только в пределах нулевой страницы (длина страницы равна 256 ячейкам).

Если переменная XI находится за пределами нулевой страницы, ассемблер будет использовать косвенную адресацию через ячейку памяти TEMPI, находящуюся на странице 0 и содержащую адрес XI. Значение переменной XI (заданной с помощью псевдокоманды DEFINE или в качестве метки ) в момент ассемблирования определяет, какая из двух ветвей будет включена в оттранслированную программу.

Пример. Выбор числа операндов.

Дополнительные операнды можно исключить, если в начале программы задать их адреса равными нулю. Одну и ту же программу на языке ассемблера можно использовать при наличии дополнительных операндов и без них. Условное ассемблирование также удобно использовать для включения в программу операторов, используемых только в процессе отладки.


 



Актуальная информация асбестоцементная труба 200 мм цена у нас на сайте.