Следует отметить отличие языка ассемблер для МК 1816 от МП К580ВМ80. Здесь вводятся специальные символы: # - префикс непосредственного операнда; @ - префикс косвенной адресации. В командах арифметических операций вычитание заменяется сложением с числом в дополнительном коде. Умножение и деление производятся по подпрограммам.
Для запуска программы пользователя необходимо ввести адрес запуска с помощью АПК или ПрСч и нажать клавишу «П». На индикаторе будет 0 – 1.
В автоматическом режиме надо после «П» нажать клавишу «0». После выполнения программы на дисплее – «progr».
Выход из программы производится нажатием на клавишу «Ст» (Стоп). При этом сохраняются внутренняя память данных и содержимое регистров, останавливается таймер, а на дисплей выводится адрес останова.
3. Порядок выполнения лабораторной работы
1. Исследовать программу, представленную в табл. 1: ввести число с порта Р1 (нижний переключатель – в положении «Аккумулятор»), инвертировать его и записать в ячейку памяти данных по адресу 35.
Основные команды: набрать число, набрать программу
MOV R0, #d - B8{(R035)}
IN А, Р1 - 09{(А) (Р1)}
CPL А - 37{(А) (А)}
MOV @R0, A - A0{((R0)) (A)}
Проверить, что инвертированное значение введенного с буферного регистра порта Р1 числа находится в ячейке 35 памяти данных.
Таблица 1
АПК |
Команда |
Код |
Комментарий |
001 002 |
MOV R0, # 35 |
В8 35 |
; В регистр R0 записан непосредственный операнд 35Н (номер ячейки памяти). Команда двухбайтная |
003 |
IN A, P1 |
09 |
; В аккумулятор вводятся данные с порта Р1 |
004 |
CPL A |
37 |
; Инверсия аккумулятора. Результат - в аккумуляторе |
005 |
MOV @R0, A |
А0 |
; Запоминание в яч. памяти 35 результата операции |
Перед выполнением программы необходимо записать в буферный регистр порта Р1 (8 нижних зеленых светодиодов) с помощью микротумблеров какое-нибудь число для исследования, например A016 = 1010 00002. Число для исследования заносится в двоичном коде, а результат будет получен на дисплее данных в 16-ричном. При записи считать, что светящийся диод соответствует 1.
Теперь можно приступить к выполнению программы: нажать последовательно клавиши Ст, АПК, затем набрать первый адрес программы 001, далее нажать клавиши ПУСК («П») и «0».
При правильно набранной программе на дисплее будет сообщение «progr», то есть программа выполнена.
Теперь необходимо исследовать результат, который получен при выполнении программы в ячейке 35. Последовательно набираем Ст, АПД, «О», № адресуемой ячейки (35) - число на дисплее данных 5F, то есть инвертирование выполнено правильно.
2. Исследовать процедуру выполнения простейших арифметических операций. В ячейках памяти 35, 36, 37 находятся соответственно числа: А = 05, В = = 07, С = 03. Набрать программу, реализующую арифметические действия X = А + В — С. Результат поместить в ячейку 38 АПД. Программу выполнить в соответствии с рекомендациями, приведенными в табл. 2, нажав предварительно на общий сброс «R», чтобы стереть предыдущую запись.
При выполнении программы обратить внимание, что операция вычитания заменена сложением в дополнительном коде операнда 03.
Таблица 2
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.