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

UptoLike

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

60
Побитовая обработка данных обеспечивается в базовой ЭВМ командами
логического умножения (AND), циклического сдвига влево (ROL) и
вправо (ROR), а также командами инвертирования (CMC) и очистки (CLC)
регистра переноса. Эти команды часто используются для упаковки
информации в памяти ЭВМ (например, размещения в одном слове
нескольких небольших чисел или кодов) и ее распаковки, обработки
текстовой информации, умножения (деления) на 2, 4, 8 ... и т. п.
Команда AND М выполняет над каждым разрядом содержимого
аккумулятора и содержимым ячейки памяти с адресом М булеву операцию
«И». Результат выполнения команды для каждой пары битов операндов
равен единице только тогда, когда оба бита равны единице; в остальных
случаях бит результата равен нулю. Так как аналогичный результат
получается и при поразрядном умножении битов (0х0 = 0, 0х1 = 0, 1х0 = 0
и 1х1 = 1), то команда называется логическим умножением. Эти свойства
позволяют выделять или очищать определенные биты слова.
Таблица 2.14
Третий вариант программы суммирования элементов массива
Адрес
Содержимое
Комментарии
Код
Мнемоника
5
6
F
0000
FFE0
0010
Ячейка, отведенная для накопления результата.
Отрицательное число элементов массива (-32)
Текущий адрес элемента массива
10
2F
Численные значения элементов массива
30
31
32
33
34
35
F200
480F
0006
С031
3005
F000
CLA
ADD (F)
ISZ 6
BR 31
MOV 5
HLT
Очистка аккумулятора
Суммирование очередного элемента массива. Так
как сначала в индексную ячейку F помещен адрес
первого элемента массива (10), то после первого
выполнения дан-ной команды содержимое ячейки
F увеличится на 1 и будет указывать на второй
элемент массива, после второго выполнения на
третий элемент и т.д.
Наращивание на 1 счетчика элементов массива и
переход к команде 31, пока его содержимое
меньше нуля
Запись результата в ячейку 5
Останов ЭВМ
В качестве последнего примера упрощения циклических программ
рассмотрим получение количества нечетных элементов массива,
расположенного в ячейках с адресами от 010 до 02F. Программа для
решения этой задачи приведена в табл. 2.15.