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

UptoLike

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

61
Таблица 2.15
Программа определения количества нечетных элементов массива
Адрес
Содержимое
Комментарии
Код
Мнемоника
5
6
7
8
0000
0001
FFE0
0010
Ячейка, отведенная для накопления результата.
Маска для выявления нечетных элементов
массива. При еѐ логическом умножении на
нечетное число результат будет равен 1 (иначе
0)
Отрицательное число элементов массива (-32)
Текущий адрес элемента массива
10
2F
Численные значения элементов массива
30
31
32
33
34
35
36
37
F200
4808
1006
4005
3005
0007
C030
F000
CLA
ADD (8)
AND 6
ADD 5
MOV 5
ISZ 7
BR 30
HLT
Очистка аккумулятора
Аккумулятор содержит очередной элемент
массива
Выделяется младший бит аккумулятора (элемента
масс-сива) и добавляется к сумме числа нечетных
элементов массива. Если младший бит равен 1
(нечетный элемент), то сумма увеличивается на
эту единицу
Модификация содержимого счетчика элементов
массива и переход по адресу 30, пока это
содержимое меньше 0
Останов ЭВМ
Команды ROL (ЦИКЛИЧЕСКИЙ СДВИГ ВЛЕВО НА 1 РАЗРЯД) и
ROR (ЦИКЛИЧЕСКИЙ СДВИГ ВПРАВО НА 1 РАЗРЯД) замыкают
аккумулятор и регистр переноса в кольцо и сдвигают всѐ биты кольца на
один разряд влево или вправо (рис. 2.5).
А15 А14 А13 А12 А11 А10 А9 А8 А7 А6 А5 А4 А3 А2 А1 А0С
а)
Регистр
переноса
Регистр переноса
До сдвига 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1
После сдвига 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0
А15 А14 А13 А12 А11 А10 А9 А8 А7 А6 А5 А4 А3 А2 А1 А0С
а)
Регистр
переноса
Регистр переноса
До сдвига 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1
После сдвига 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1
Рис. 2.5. Циклические сдвиги: а влево; б — право