Составители:
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. Циклические сдвиги: а — влево; б — право 
Страницы
- « первая
- ‹ предыдущая
- …
- 62
- 63
- 64
- 65
- 66
- …
- следующая ›
- последняя »
