Cтраница 1
Адреса второго ранга удобны для организации циклических вычислений при обработке массивов чисел. В этом случае числа располагаются в последовательных ячейках, начиная с какого-то номера, и, следовательно, число повторений цикла заранее известно. Если над числами производятся однотипные действия, то достаточно написать программу для обработки одного числа, а затем организовать изменение адресов и повторение цикла. Программа будет выполняться до тех пор, пока не будет обработано последнее число. [1]
При выполнении операторов косвенной адресации шестнадцатерич-ный адрес второго ранга N отображается одной или двумя десятичными цифрами. [2]
Команда БП2 а относится к операциям с адресами второго ранга. Подробно эти операции рассматриваются ниже. [3]
В машине имеются два типа команд обращения к запоминающему устройству - обычные команды и команды с адресами второго ранга. Последние используются при организации циклических вычислений, а именно: для изменения адресов памяти числовой информации с помощью команд программы. [4]
Использование команды СчП для организации циклических вычислений позволяет сократить число команд программы по сравнению с обычными операциями и адресами второго ранга. [5]
В таком случае подпрограмма должна заканчиваться специальным приказом переход по регистру возврата, извлекающим очередную команду из ячейки, адрес которой хранится в этом регистре. Заметим, что для использования в качестве регистра возврата любой заданной ячейки оперативной памяти машины целесообразно ввести обращение к памяти по так называемому адресу второго ранга. При таком обращении выборка из памяти или запись в память производятся не по адресам, указанным в исполняемой команде, а по адресам, которые хранятся в ячейках памяти и адреса которых указаны в этой команде. При наличии подпрограмм, включаемых в другие подпрограммы ( а не в основную программу), приходится использовать несколько регистров возврата либо переходов по адресам второго ранга. [6]
Изменения в алгоритме выполнения команды ЧТ2 а заключаются в следующем. Команда ЧТ2 а позволяет записывать программу в числовой памяти машины, и характер ее действий определяется содержимым ячейки а. Если содержимое разрядов знака и порядка числа, записанного в ячейке а, равно нулю, то эта операция выполняется обычным образом, как операция с адресом второго ранга. Однако, если эти разряды не нулевые, то содержимое ячейки а воспринимается как команда, записанная в памяти, и выполняется обычным образом. [7]
Команда может содержать поле для кода ( признака) адресации, если используются различные ее виды. При прямой адресации номер ячейки оперативной памяти, в которой хранится требуемое слово данных, равен адресу этого слова в команде. При косвенной адресации в команде указывается адрес ( второго ранга) ячейки памяти, в которой хранится адрес ( первого ранга) ячейки для запоминания нужного слова. В этом случае над адресом второго ранга могут выполняться различные операции, например его изменение ( модификация) на единицу при каждом обращении по этому адресу. Часто используется относительная адресация, при которой адрес разбивается на поля с указанием адреса начального слова из хранящегося в памяти массива последовательности и указателя смещения - числа, равного требуемой разности между адресами слов массива. [8]
В таком случае подпрограмма должна заканчиваться специальным приказом переход по регистру возврата, извлекающим очередную команду из ячейки, адрес которой хранится в этом регистре. Заметим, что для использования в качестве регистра возврата любой заданной ячейки оперативной памяти машины целесообразно ввести обращение к памяти по так называемому адресу второго ранга. При таком обращении выборка из памяти или запись в память производятся не по адресам, указанным в исполняемой команде, а по адресам, которые хранятся в ячейках памяти и адреса которых указаны в этой команде. При наличии подпрограмм, включаемых в другие подпрограммы ( а не в основную программу), приходится использовать несколько регистров возврата либо переходов по адресам второго ранга. [9]
Команды программы набираются с помощью штеккеров, и изменить их программным путем нельзя. Чтобы изменить, например, адресную часть команды, нужно заменить соответствующие штеккеры. В этом случае адрес, указываемый в команде на наборном поле, является не адресом ячейки, где хранится операнд, а адресом ячейки, в которой находится адрес операнда. Таким образом, это есть адрес адреса числа. Такие адреса называются адресами второго ранга. Если с помощью обычных команд изменять содержимое ячеек, указанных в адресных частях таких команд, то соответственно будет обеспечено изменение адресов числовой информации. [10]