Архитектура базовой ЭВМ. Кириллов В.В. - 60 стр.

UptoLike

Составители: 

57
команда, расположенная по адресу А+2. Очень ценным свойством
команды ISZ М является то, что она не портит содержимого аккумулятора
и регистра переноса (увеличение М производится без использования этих
регистров).
В табл. 2.11 приведен вариант программы получения Z = 50Y, в
котором использованы все обсужденные выше возможности сокращения
памяти и времени для накопления результата (время уменьшается за счет
того, что в каждом из 50 циклов выполняются лишь три команды вместо
десяти).
Таблица 2.11
Второй вариант программы для получения Z=50Y
Адрес
Содержимое
Комментарии
Код
Мнемоника
5
6
7
10
11
12
13
14
15
0078
0000
FFCE
F200
4005
0007
C011
3006
F000
Y
Z
M
CLA
ADD 5
ISZ 7
BR 11
MOV 6
HLT
Множимое
Ячейка, отведенная для результата
Отрицательное значение множителя (-50)
Очистка аккумулятора
К содержимому аккумулятора добавляется Y
Содержимое M наращивается на 1, и если оно ещѐ
меньше 0, то выполняется команда BR 11. При
М=0 ко-манда BR 11 пропускается
Результат 50 сложений Y записывается в ячейку 6
Останов ЭВМ
В качестве следующего примера рассмотрим получение в ячейке 005
суммы 32 элементов массива, размещенного в ячейках памяти с 010 по
02F.
В отличие от предыдущей задачи, где многократно суммировалось
содержимое одной ячейки (Y), здесь надо суммировать содержимое
разных ячеек. Естественно, нас не может устроить программа, содержащая
последовательность из 32 команд сложения: 4010, 4011, 402Е, 402F.
Очевидно, что требуется организовать циклический процесс, в котором
при каждом прохождении цикла должен изменяться адрес суммируемого
элемента массива (первый раз этот адрес должен быть равен 10, при
втором прохождении цикла — 11, при третьем — 12 и т. д.). Как же
изменять адрес суммируемого элемента?
В первых ЭВМ изменение адреса осуществлялось путем
модификации адресной части команды (переадресации): после того как
содержимое какой-либо ячейки памяти было использовано ЭВМ в
качестве команды, последующие команды программы использовали это
содержимое в качестве операнда (числа) и преобразовывали его нужным
образом (например, наращивали на 1). Воспользуемся этим приемом
для решения поставленной задачи (табл. 2.12).