Мнемонические коды
Команда ТМ анализирует все биты байта PEREC. Если они все равны 1, будет установлен признак результата, равный 3. Команда ВС выполняет переход только тогда, когда признак результата равен 3, потому что маска 0001 соответствует этому значению. Если бы понадобился переход в случае только нулевых бит байта PEREC, в команде ВС надо было бы написать маску 8 . ,
Во всех приводимых примерах с расширенными мнемоническими кодами можно было указывать регистр индекса. Например, в последнем случае можно было записать команду ВО ADR, используя неявный адрес с индексом. Тогда выполнялся бы переход по адресу ADR, увеличенному на содержимое регистра индекса 2.
Организация циклов. При программировании почти всегда возникает необходимость обеспечить неоднократное выполнение некоторых команд программы, т. е. организовать цикл. Цикл — это повторение выполнения определенного участка программы заданное число раз. Каждое повторение происходит с новыми значениями некоторых величин, участвующих в вычислениях и называемых параметрами цикла. При организации циклов, как правило, используются различные команды переходов. Рассмотрим организацию циклов на простых примерах.
При выполнении команды BXLE приращение из регистра R3 складывается с содержимым регистра R1 и сумма алгебраически сравнивается с предельным значением. Затем сумма помещается в регистр R1 независимо от того, происходит переход или пет. Если сумма меньше предельного значения или равна ему, выполняется переход по адресу, указанному в команде перехода. Если сумма больше предельного значения, выполняется обычная последовательность команд.
В приведенном случае используются три регистра, назначение которых таково: регистр 10 содержит индекс; регистр 12 содержит число 4, на которое нужно увеличивать индекс после каждого повторения цикла; регистр 13 содержит число 36, которое является предельным значением. В начале программы эти регистры загружаются необходимыми первоначальными значениями.