ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ГРАЖДАНСКОЙ АВИАЦИИ»
Кафедра радиотехнических устройств
Контрольная работа
по дисциплине «Микропроцессорные устройства РЭО»
студента 4 курса заочного факультета
Храпова Владимира Алексеевича
Специальность 160905
Шифр: РС-071511
Адрес: Ростовская область, Чертковский район, пгт Чертково
Москва 2010
Исходные данные.
Таблица 1.
№ Номер варианта задания Адресация при пересылке данных из ОЗУ в РОНы Адресация при пересылке данных из РОНов в ОЗУ SP 1 1 Прямая косвенная 10F1
Таблица 2.
№ A1 A2 A3 A4 A5 A6 M1 M2 M3 M4 1 17 5 67 76 65 12 0041 0043 0044 0045
Задание на контрольную работу
· Сложить два числа 17, 5 и 67 (без учета единица переноса), результат уменьшить на единицу и записать в ячейку ОЗУ 0041.
· Загрузить ячейки ОЗУ 0043 и 0044 числами 76 и 65 соответственно, используя косвенную адресацию (регистровые пары Y и Z).
· Записать в регистр R16 число 12.
· Осуществить вызов подпрограммы, в которой требуется:
¾ сохранить указатели Y, Z и содержимое регистра R16 в стеке. Начальный адрес стека 10F1;
¾ записать в регистр R16 содержимое ячейки ОЗУ 0045 и сравнить с содержимым ячейки ОЗУ 0043, в случае неравенства прибавить к содержимому регистра R16 на единицу;
¾ извлечь сохраненные данные из стека, поменяв содержимое указательных регистров X и Y местами.
· При пересылке данных из ОЗУ в РОНы использовать прямую адресацию, при пересылке данных из РОНов в ОЗУ использовать косвенную адресацию (если вид адресации не указан в задании явно).
· Все числа и адреса – шестнадцатеричные.
· Выбор команд для программы.
В начале программы необходимо задать адрес стека, где будут сохранены необходимые данные при вызове подпрограммы. Указатель стека реализован в виде двух регистров ввода–вывода, для записи данных в регистры необходимо использовать команду OUT:
· для записи в регистр SPL (младший разряд):
OUT SPL, Rr ;
· для записи в регистр SPH (старший разряд):
OUT SPH, Rr ,
где r – номер регистра, из которого пересылаются данные в стек (r=0…31).
· Для непосредственной записи операндов в РОНы используем команду LDI Rd, k ,
где d – номер регистра, в который записывается операнд (d=16…31);
k – операнд.
· Для пересылки данных из ОЗУ в РОНы используем команду косвенной адресации
LD Rr, X ;
LD Rr, Y ;
LD Rr, Z ,
где X, Y, Z – 16-ти разрядные регистры для хранения адреса ячейки ОЗУ, из которой пересылаются данные. Каждый из этих регистров имеет в своем составе два РОНа. Структура регистров представлена в таблице 3.
Таблица 3
16-ти разрядный регистр Младший разряд Старший разряд X R26 R27 Y R28 R29 Z R30 R31 РОН
· Перед использованием команды LD адрес ячейки ОЗУ должен быть предварительно записан в соответствующий регистр, который используется в команде.
· Для прямой адресации данных из РОНов в ОЗУ используем команду STS n, Rr , где n – адрес ячейки ОЗУ.
· Для косвенной адресации данных из РОНов в ОЗУ используем команду
ST X, Rr ;
ST Y, Rr ;
ST Z, Rr .
· Адрес ячейки ОЗУ должен быть предварительно записан в один из регистров X, Y, или Z.
· Для выполнения операции сложения используем команду ADD Ra, Rb , где a, b – номера регистров, где хранятся операнды (a=0…31, b=0…31). ............