Cтраница 1
Распределение разрядов ячейки при записи в ней команды. [1] |
Разряды индексной ячейки распределяются так, как показано на рис. 9.7. С 1-го по 12 - й разряды записывается константа п, определяющая количество повторения цикла n 8191; по двенадцать разрядов ( с 13 по 24 и с 25 по 36 - й) отводятся соответственно для записи шагов переадресации Ах и Д2 - первого и второго адресов. [2]
Распределение разрядов ячейки при записи в ней команды. [3] |
Разряды индексной ячейки распределяются так, как показано на рис. 9.7. С 1-го по 12 - й разряды записывается константа и, определяющая количество повторения цикла п 8191; по двенадцать разрядов ( с 13 по 24 и с 25 по 36 - й) отводятся соответственно для записи шагов переадресации А. [4]
В этом случае разряды индексной ячейки разделяются для представления двух слов: числа повторений цикла и значений индексов. Значения индексов размещаются в разрядах, соответствующих разрядам адресной части команды. Остальные разряды индексной ячейки используются для представления числа повторений цикла. При вхождении в цикл в индексную ячейку с адресом i заносится код ( т - 1) N, где т - заданное число повторений цикла и N - начальное значение индекса. [5]
AI п запись этого результата в старшие 12 разрядов индексной ячейки. Если результат меньше нуля, то управление передается следующей по порядку команде, а сам результат не передается в индексную ячейку. Поэтому, а также в связи с тем, что эта команда всегда размещается в конце цикла, в исходном положении, перед началом цикла, в старших 12 разрядах индексной ячейки должно быть число на единицу меньше требуемого количества повторений цикла. Единицей счета является единица 12-цифрового разряда. Знаковый разряд используется как старший цифровой разряд. [6]
ИЗ - адрес объекта расположен в последних 16 ( А2) разрядах индексной ячейки, номер которой задан абсолютной этикеткой ИЗ. [7]
ИЗ - адрес объекта расположен в последних 16 ( Д2) разрядах индексной ячейки, номер которой задан абсолютной этикеткой ИЗ. [8]
Как указывалось ранее, в первые 12 ( 10 в режиме Т) разрядов индексной ячейки и знаковый разряд помещается счетчик. Счет в индексной ячейке ведется вычитанием из записанного числа единицы 12-го ( 10-го в режиме Т) разряда. Как и при использовании обычного счетчика, до начала вычислений в разряды счетчика выбранной индексной ячейки необходимо занести величину, определяющую нужное количество повторений цикла. Эта команда размещается в программе в конце цикла. После каждого выполнения этой команды из счетчика индексной ячейки вычитается единица, и, если результат больше или равен нулю, управление передается по А. Если результатом будет отрицательное число, то управление передается следующей по порядку команде, а в счетчике индексной ячейки записанным остается нуль. В связи с этим в индексную ячейку сначала необходимо заносить число, на единицу меньшее количества повторений цикла. [9]
Структура команды Модифицировать индекс. [10] |
При умножении на индекс ( УИ) константы переадресации Дг и Д2 индексной ячейки умножаются на величину А2 содержимого ячейки ( В2) и записываются в тех же разрядах индексной ячейки. Если при умножении произведение вышло за пределы 16 разрядов, то Д ( ( А) или Д2 ( Aj) представляются только 16 младшими разрядами произведения. [11]
Структура команды Модифицировать индекс. [12] |
При умножении на индекс ( УИ) константы переадресации At и А2 индексной ячейки умножаются на величину Д2 содержимого ячейки ( В2) и записываются в тех же разрядах индексной ячейки. Если при умножении произведение вышло за пределы 16 разрядо-з, то AI ( А) или А2 ( Aj) представляются только 16 младшими разрядами произведения. [13]
С помощью индексной ячейки 0001 модифицируются команды, связанные с таблицей окладов. Команда - 200100370025 используется здесь только для модификации, и в старших 13 разрядах индексной ячейки записывается максимально возможное число. Поэтому команда из ячейки 0047 передает управление машиной команде из ячейки 0037 для выбора следующего табельного номера из таблицы окладов. Переход к команде из ячейки 0050 возможен только при сбое машины, что и покажет контрольный останов. [14]
При каждом выполнении этой команды к адресной части содержимого индексной ячейки с номером / прибавляется содержимое адресной части ячейки Л2 и, таким образом, происходит наращивание шага переадресации в индексной ячейке. При этом блокируются переносы из разрядов второго в разряды первого адреса и из разрядов первого адреса в старшие 12 разрядов, что позволяет производить изменение шага переадресации и в сторону уменьшения. Одновременно с наращиванием шага переадресации при каждом выполнении команды из содержимого старших 12 разрядов индексной ячейки, в которых записано количество повторений цикла, вычитается единица. [15]