Cтраница 4
![]() |
Косвенная регистровая адресация. [46] |
Программирование вычислительных циклов существенно упрощается, если после каждого цикла обеспечить автоматическое изменение в соответствующих командах их адресных частей. Процедура изменения адреса в командах называется модификацией адреса. Модификация адресов команд основана на возможности выполнения над кодами команд или их частями арифметических и логических операций. В качестве операндов в командах вычислительного цикла могут фигурировать элементы массивов, называемые переменными с индексами. [47]
![]() |
Индикация после вызова адреса ячейки памяти FCOO и ввода числа 8Е. [48] |
С помощью последних двух команд сервисная программа позволяет записать программу пользователя в отведенную область ОЗУ. После этого производится изменение адреса повторного пуска: начальный адрес сервисной программы заменяется на начальный адрес программы пользователя и дается сигнал сброса. [49]
Это позволяет обойтись без изменения адреса связи, ведущего к вершине перестраиваемой цепочки и, следовательно, избежать необходимости запоминания адреса узла, предшествующего возможной перестраиваемой цепочке в процессе выполнения алгоритма записи в дерево нового элемента. [50]
Если результат выполнения заданной операции является двойным словом, то его запись в местную память производится в два приема. После вышеописанных действий осуществляется изменение адреса записи на единицу, что приводит к выборке соседней нечетной ячейки в блоке местной памяти ( считается, что начальный. Далее содержимое РВ [32-63] передается для хранения в эту ячейку МП. [51]
Механизм составления цикла уже был рассмотрен: инициализация счетчика цикла в некоторой точке цикла, модификация счетчика цикла и проверка его с целью определения, будет ли цикл повторен. Нужен еще механизм для изменения адресов операндов в команде, которая выполняется в цикле. [52]
На этом примере видно, что ЭВМ действительно сама может изменять программу вычислений в ходе самих вычислений. Но этот частный случай изменения адресов в командах ( обычно на 1 или 2 единицы) может решаться и не столь интеллектуальным путем. [53]
В зависимости от представления данных имеются три типа арифметических операций: беззнаковые, знаковые и с плавающей запятой. Для получения, сравнения и изменения адресов используется указатель адресов типа POINTER, позволяющий вычислять 20-разрядные адреса. [54]