- •Описание лабораторного макета
- •Устройство умк
- •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
Лабораторная работа № 10 выполнение арифметических операций в машинных кодах микропроцессора к1801вм1
Цель работы: изучение программ выполнения операций и основных приемов работы с целыми числами со знаком.
Теоретическая часть
В МП К1801ВМ1 знак целого числа определяет состояние старшего бита (D15) двоичного кода: для положительных чисел D15 = 0, для отрицательных чисел, представленных в дополнительном коде, D15 = 1. Таким образом, с помощью шестнадцатибитного двоичного кода можно представить десятичные числа в диапазоне от -32768 до +32767. Если же для представления десятичных чисел 16 разрядов недостаточно, то используется несколько байт и слов. При этом за знаковый бит принимается более высокий разряд. Однако необходимо помнить, что анализ знака МП К1801ВМ1 проводит по старшему 15-му биту результата операции с помощью бита N регистра признаков.
Для выполнения операций сложения и вычитания используются команды ADD и SUB соответственно. Если при этом в результате сложения возникает перенос из старшего разряда результата или при вычитании происходит заем в старший разряд, то устанавливается бит С регистра признаков. Перенос в старший байт или слово или заем из старшего байта или слова можно учесть с помощью команд ADC и SBC соответственно.
Ознакомимся с некоторыми приемами работы с числами, представленными в виде нескольких слов. Допустим, для представления числа требуется 32 разряда, тогда оно будет занимать две 16-ти разрядных ячейки памяти или два регистра общего назначения. Например, число А размещено в регистрах общего назначения R1 и R2, а число В в регистрах R3 и R4, причем в регистрах R1 и R3 старшие слова чисел, а в регистрах R2 н R4 младшие. Результат операции разместим в регистрах R3 и R4.
Сложение: (R3,R4) (R1,R2) + (R3,R4)
ADD R1, R3 Сложение старших слов В и А
ADD R2, R4 Сложение младших слов В и А
АDС R3 Учет переноса
Вычитание: (R3,R4) (R3,R4)-(R1,R2)
SUB R1, R3 Вычитание старших слов В - А
SUB R2, R4 Вычитание младших слов В - А
SUB R3 Учет заема
Изменение знака числа: (R3,R4) -(R1,R2)
COM R3 Инвертирование R3
COM R4 Инвертирование R4
ADD #1, R4 Прибавление 1
ADC R3 Учет переноса
Отметим, что в последней программе нельзя заменить команду ADD#1,R4 на более короткую и быстровыполнимую команду INC R4, так как последняя не влияет на признак С. Команды COM R4 и ADD #1,R4 можно заменить на одну NEG R4. Следует помнить, что знаковым разрядом в этом примере является старший 31-й разряд (15-й разряд регистров R1 и R3), поэтому при проверке знака числа исследуется лишь старший регистр. Так, знак числа, размещенного в регистрах R1, R2, можно определить:
TST R1 Проверка R1
BPL PLUS Переход, если число (R1, R2) положительное
……………
PLUS…… Подпрограмма обработки положительных чисел
TST R1 Проверка R1
BMI MINUS Переход, если число(R1 ,R2) отрицательное
……………
MINUS……Подпрограмма обработки отрицательных чисел
В системе команд МП К1801ВМ1 нет команд умножения и деления. В системе команд МП K1801ВM2 есть команды MUL- умножение и DIV- деление над 16-ти разрядными операндами. Поэтому рассмотрим программы, позволяющие умножать и делить операнды с числом разрядов более 16-ти.