Составители:
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). 
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »
