- •Логические команды и команды сдвига
- •5 Приборы, оборудование и документация
- •6 Порядок выполнения работы
- •7 Содержание отчёта
- •10.1.2 Команды логического сложения
- •10.1.3 Команды логического умножения
- •10.1.4 Команды исключающие или
- •10.1.5 Команда инверсия
- •10.2.1 Теоретическое обоснование
- •10.2.2 Команды сравнения с содержимым регистра
- •10.3 Команды сдвига
- •10.3.1 Теоретическое обоснование
- •10.3.2 Команды циклического сдвига.
- •10.3.3 Команды сдвига через перенос
- •Логические команды и команды сдвига
10.2.2 Команды сравнения с содержимым регистра
CMR A – сравнение с содержимым рег. А
CMR B – сравнение с содержимым рег. B
CMR C – сравнение с содержимым рег. C
CMR D – сравнение с содержимым рег. D
CMR E – сравнение с содержимым рег. E
CMR H – сравнение с содержимым рег. H
CMR L – сравнение с содержимым рег. L
10.2.2.1 Записать в память, начиная с адреса 0840Н, коды программы сравнения содержимого регистров С и В (таблица 12).
Таблица 12 – Контрольная программа сравнения содержимого регистров
Адрес |
Команда |
Операнд |
Машинный код |
Комментарий |
0840 |
MOV |
A, C |
79 |
; Пересылка A ← (C) |
0841 |
CMR |
B |
B8 |
; Сравн. с рег.В |
Выполнить программу, предварительно задавая исходные значения в соответствии с таблицей 14:
СТ0840 0842ВП.
Проверить полученные результаты (см. таблицу 14). Для этого следует перевести содержимое регистра F из шестнадцатеричной системы счисления в двоичную. Распределение триггеров по разрядам регистра F следующее (таблица 13):
Таблица 13 – Распределение признаков в рег. F
Номер разряда рег. F |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Признак |
(TS) |
(TZ) |
0 |
(TAC) |
0 |
(TP) |
1 |
(TC) |
Таблица 14 – Исходные данные и результаты для контрольной программы сравнения содержимого регистров
Вариант |
1 |
2 |
3 |
4 |
5 |
(С) |
01 |
01 |
FF |
43 |
55 |
(В) |
01 |
09 |
00 |
FF |
55 |
(F) |
56 |
83 |
96 |
07 |
56 |
(TZ) |
1 |
0 |
0 |
0 |
1 |
(TC) |
0 |
1 |
0 |
1 |
0 |
(TS) |
0 |
1 |
1 |
1 |
0 |
(TP) |
1 |
0 |
1 |
1 |
1 |
Задание 3:
Написать и выполнить программу сравнения содержимого регистров Н и L. Заполнить таблицу 15. Начальный адрес программы 0А30Н.
Таблица 15 – Исходные данные и результаты для проверочной программы сравнения содержимого регистров
Вариант |
1 |
2 |
3 |
4 |
5 |
(H) |
20 |
1E |
FF |
00 |
10 |
(L) |
15 |
B8 |
FF |
00 |
15 |
(F) |
|
|
|
|
|
(TZ) |
|
|
|
|
|
(TC) |
|
|
|
|
|
(TS) |
|
|
|
|
|
(TP) |
|
|
|
|
|
Проверочную программу записать в таблицу, аналогичную по форме таблице 12.
10.3 Команды сдвига
10.3.1 Теоретическое обоснование
В системе команд микропроцессора КР580ВМ80 предусмотрены следующие команды сдвига:
циклический сдвиг влево;
циклический сдвиг вправо;
сдвиг влево через перенос;
сдвиг вправо через перенос.
Команды сдвига выполняются в регистре-аккумуляторе над 8-разрядными операндами. Результат пересылается в регистр-аккумулятор.
Команда циклического сдвига влево перемещает каждый бит байта на один разряд влево. При этом содержимое старшего разряда записывается в младший разряд и в бит переноса.
Команда сдвига влево через перенос перемещает содержимое каждого бита байта влево на один разряд. При этом содержимое бита переноса записывается в младший разряд, а содержимое старшего разряда пересылается в бит переноса. Используя эту команду можно реализовать операцию умножения на число, кратное 2.
Команда сдвига вправо через перенос перемещает содержимое каждого разряда байта вправо на один разряд. При этом в старший разряд байта записывается значение бита переноса, а в него заносится содержимое младшего разряда байта. Используя эту команду можно реализовать операцию деления на число, кратное 2.