Случайное
Старые записи

Общий регистр

Общий регистрПо следующей команде S происходит вычитание числа, расположенного по адресу VIB, из числа, находящегося в регистре 5. Формат команды S такой же, как и команд L. A. Результат операции, являющийся результатом вычислений по формуле, помещается в тот же регистр 5. По условию его необходимо поместить в область памяти KONM. Запись содержимого общего регистра в память выполняется командой ST. Содержимое общего регистра при выполнении этой команды не меняется. Рассмотренные в этом примере команды L, A, S, ST имеют формат RX и позволяют при необходимости использовать регистр индекса.

После выполнения вычислений в программе записана команда BR, по которой выполняется выход из программы.

Оператор END сообщает транслятору о том, что программа закончена, и указывает, что первой командой, с которой должно начаться выполнение программы, является команда с именем BEGIN.

Команды L, A, S, ST обращаются к областям памяти длиной в слово. Для выполнения соответствующих операций над полусловами используются команды LH, АН, SH и STH.

Если числа с фиксированной точкой длиной в слово, расположенные в памяти друг за другом, нужно поместить в регистры, номера которых последовательные, можно использовать команду LM. Аналогично для сохранения в памяти содержимого регистров, номера которых последовательные, можно использовать команду STM. Команды LM и STM — команды формата RS. В поле операндов этих команд указываются номера двух общих регистров и адрес области памяти. По команде LM в общие регистры, начиная с регистра с номером, указанным в команде первым, и кончая регистром с номером, указанным вторым, загружаются данные из области памяти, адрес которой указан в команде. Первое слово из области помещается в первый регистр, второе — в регистр с номером на 1 больше и т. д. Общие регистры загружаются в порядке возрастания их: номеров до тех пор, пока не будет загружен регистр с номером, указанным в команде последним. При этом считается, что за регистром с номером 15 следует регистр с номером 0. В каждый последующий регистр загружается содержимое последующего слова из области памяти.

В приведенной программе оператор DC с именем DEC определяет десятичное число в упакованном формате длиной 8 байт. По команде CVB десятичное число 123, расположенное по адресу DEC, преобразуется в двоичную систему, и результат помещается в регистр 5. Содержимое регистра 5 после выполнения команды CVB будет: Х’0000007В Если бы число было отрицательным, то в результате выполнения команды CVB содержимое регистра 5 было бы следующим: X’FFFFFF5

Интересные статьи

Copyright © 2022. All Rights Reserved.