- •Описание лабораторного макета
- •Устройство умк
- •2. Подготовка умк к работе
- •3. Порядок работы
- •3.1. Описание клавиатуры.
- •Индикация и изменение содержимого памяти.
- •3.3. Индикация и изменение содержимого регистров.
- •3.4. Передача управления программе пользователя.
- •3.6. Заполнение массива памяти константой.
- •3.8. Прерывание выполнения программы пользователя.
- •3.9. Пошаговое выполнение программ.
- •Лабораторная работа № 1 запись и выполнение простых программ
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 виды адресации и команды пересылок
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Организация циклов
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 выполнение арифметических операций
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Методические указания
- •Способы адресации процессора к1801
- •Форматы команд микропроцессора кр 1801:
- •Коды способов адресации процессора к1801
- •Задание для домашней подготовки
- •Команды переходов
- •Пример 9.2.
- •Пример 9.3
- •Задание для выполнения в лаборатории
- •Контрольные вопросы
- •Лабораторная работа № 10 выполнение арифметических операций в машинных кодах микропроцессора к1801вм1
- •Теоретическая часть
- •Умножение
- •Деление
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Приложения
- •Система команд микропроцессора кр580вм80а
- •Система команд мп к1801вм1 Одноадресные команды
- •Двухадресные команды
- •Регистровые команды
- •Команды управления
- •Команды прерываний и специальные команды
- •Изменение кодов условий
- •Условные обозначения
- •Время выполнения команд мп к1801вм1
- •1. Устройство умк 3
Команды переходов
В МП К1801 предусмотрено 15 команд условного перехода и 2 команды безусловного перехода.
Команды безусловного перехода: BR и JMP.
Команда JMP имеет формат:
0001DD,
где DD - поде адресации.
На языке Ассемблера команда будет иметь вид:
JМР N(R7) 000167
N
где N - смещение в байтах относительно содержимого R7.
Пример 9.1
Адрес |
Мнемоника |
Код |
1000 |
JMP 6(R7) |
000167 |
1002 |
6 |
000006 |
1004 |
HALT |
000000 |
1006 |
HALT |
000000 |
1010 |
HALT |
000000 |
1012 |
HALT |
000000 |
После считывания команды JMP 6(R7) счетчик команд R7 имеет значение 1004. Происходит суммирование (в восьмеричной коде) чисел 1004 и 6, и совершается переход на адрес 1004+6=1012. В данной программе произойдет переход на 6 байтов вперед и выполнится команда НALТ по адресу 1012.
При переходе назад смешение N записывается в дополнительном коде.
Пример 9.2.
Адрес |
Мнемоника |
Код |
776 |
HALT |
000000 |
1000 |
JMP – 6(R7) |
000167 |
1002 |
– 6 |
177772 |
В данном примере происходит переход на одну инструкцию назад (т.е. на 2 байта назад). Когда процессор закончил чтение команды JМР –6(R7) и начал ее выполнение, счетчик команд R7 имел значение 1004. При выполнении команды содержимое счетчика команд суммируется с числом –6, записанном в дополнительном коде: 1004 – 6 = 776, и выполняется переход по адресу 776.
Команда безусловного перехода BR используется для переходов от -128 до127 и имеет вид:
000400+ХХХ - в восьмеричном коде,
где XXX - смещение (8 двоичных разрядов)
При выполнении перехода смещение автоматически умножается на 2.
Пример 9.3
Адрес |
Мнемоника |
Код |
1000 |
BR +3 |
000406 |
1002 |
HALT |
000000 |
1004 |
HALT |
000000 |
1006 |
HALT |
000000 |
1010 |
HALT |
000000 |
В отличие от команды JМР команда BR занимает лишь два байта, а не четыре. В примере 3 происходит переход с адреса 1000 по команде BR +3 на адрес 1010. После считывания процессором команды BR +3 счетчик команд R7 имеет значение 1002, при выполнении перехода указанное смещение умножается на 2 и переход происходит по адресу 1002+3*2=1010.
При переходе назад смещение записывается в дополнительном коде.
Пример 9.4
Переход на 2 слова назад (т. е. на 4 байта назад).
Адрес |
Мнемоника |
Код |
774 |
HALT |
000000 |
776 |
HALT |
000000 |
1000 |
BR – 3 |
000775 |
В данном примере происходит передача управления на 2 слова назад, но т. к. при выполнении инструкции BR счетчик команд R7 уже содержит адрес следующей по порядку инструкции (1002), то смещение равно -3. Это смещение умножается процессором на 2, и происходит переход на 6 байтов назад.
Команды условных переходов имеют такой же формат, как и команда BR, только в старшем байте записывается код, соответствующий данной команде условного перехода. Смещение в младшем байте слова, занимаемого командой, вычисляется по тем же правилам, что и в команде BR.