Санкт-Петербургский государственный технический университет
Факультет технической кибернетики
Кафедра автоматики и вычислительной техники
Лабораторная работа №2
"Микропроцессор К580"
По курсу: “Основы организации ЭВМ и микропроцессоров ”
Работу выполнил:
студент группы 3081/6
Работу принял:
Санкт-Петербург
2006
1. Введение
Цель работы:
Практическое ознакомление с организацией микропроцессорных систем на основе однокристальных микропроцессоров и приобретение навыков программирования микропроцессоров указанного типа. Изучение всех БИС МПК проводится поэтапно в составе типовой микроЭВМ (рис. 1), реализованной на базе данного МПК.
2. Схема исследуемого устройства.
3. Состав:
Ø Плата центрального процессора. На ней размещены собственно процессор (СБАИС К580ВМ80А), тактовый генератор двухфазных последовательностей импульсов Ф1 и Ф2 КР580ГФ24, системный контроллер сигналов управления обменом информации в микропроцессорной системе КР580ВК38и шинные формирователи адреса и данных КР580ВА86
Ø Плата оперативного запоминающего устройства ёмкостью 1024 восьмиразрядных слов на БИС К565РУ2А
Ø пульт управления и индикации, с помощью которого осуществляется управление работой микроЭВМ и индикация различных режимов работы, содержимого шин адреса и данных.
4. Задания:
1) выполнение вводной работы – изучение центрального процессорного элемента и системы его команд с помощью учебных команд
2) Умножение младшими разрядами вперёд
3) Вывод на индикацию попеременно: множимое, множитель, произведение.
5. Выполнение вводной работы.
(все адреса и команды представлены в восьмеричной системе, указание на Н = 000 опускается)
1) Загрузка данных в 2 заданных регистра РОН.
Адреса |
Команды |
Мнемоника |
Комментарии |
000 |
041 |
LXI H |
Загрузка начального адреса памяти |
001 |
200 |
B2 |
мл. байт адреса |
002 |
000 |
B3 |
ст. байт адреса |
003 |
001 |
LXI B |
Запись исходных данных в регистры B и C |
004 |
001 |
B2 |
B2 -> (C) |
005 |
010 |
B3 |
B3 -> (B) |
006 |
160 |
MOV M, B |
Запоминаем (B) |
007 |
043 |
INX H |
Формирование следующего адреса памяти |
010 |
161 |
MOV M, C |
Запоминание (C) |
011 |
166 |
HLT |
Останов |
В результате выполнения данной программы была осуществлена загрузка в регистры В и С данных 010 и 001, что было проверено косвенно путем пересылки содержимого указанных регистров в память. В режиме ПДП было установлено, что в ячейке по адресу 200 хранилось значение 010, в ячейке по адресу 201 – 001.
2) Занесение в стек содержимого регистров.
Адреса |
Команды |
Мнемоника |
Комментарии |
000 |
061 |
LXI SP |
Установка указателя стека |
001 |
202 |
B2 |
мл. байт адреса |
002 |
000 |
B3 |
ст. байт адреса |
003 |
001 |
LXI B |
Запись исходных данных в регистры B и C |
004 |
001 |
B2 |
B2 -> (C) |
005 |
010 |
B3 |
B3 -> (B) |
006 |
305 |
PUSH B |
Запоминание содержимого B и C в стеке |
007 |
166 |
HLT |
Останов |
В соответствии с описанием выполнения команды PUSH (B): (B) ->((SP) - 1), (C)-> ((SP) - 2), SP:= (SP) – 2, рост стека происходит в направлении младших адресов. Кроме того, следует обратить внимание на очередность записи содержимого регистров: сначала запись содержимого старшего, потом младшего байтов. В итоге, в ячейке по адресу 200 хранится 001, по адресу 201 – 010. Первоначально указатель стека указывал на ячейку под адресом 202.
3) Извлечение данных, занесенных в стек.
Адреса |
Команды |
Мнемоника |
Комментарии |
000 |
061 |
LXI SP |
Установка указателя стека |
001 |
202 |
B2 |
мл. байт адреса |
002 |
000 |
B3 |
ст. байт адреса |
003 |
301 |
POP B |
Извлечение данных из стека и загрузка их в регистровую пару B и C |
004 |
004 |
INR B |
Увеличение на единицу содержимого Рг B |
005 |
015 |
DCR C |
Уменьшение на единицу содержимого Рг C |
006 |
305 |
PUSH B |
Запоминание содержимого B и C в стеке |
007 |
166 |
HLT |
Останов |
команда POP (B): ((SP)) ->(C), ((SP) + 1)->(B), SP:= (SP) + 2.
Изначально в ячейки по адресам 200 и 201 были записаны значения 222 и 333. По ходу выполнения программы данные заносятся из стека в регистры и подвергаются изменению, модифицированные данные заносятся обратно в стек (200 – 221, 201 - 334). Такая последовательность и служит ответом на вопрос о характере изменения указателя стека, когда при выполнении команды PUSH формируются адреса (SP) – 1 и (SP) – 2, а при команде POP - (SP), (SP) + 1. Адреса формируются так, чтобы соответствовать правилу изменения SP, которое увеличивается или уменьшается по указанным выше правилам.
При ответе на оставшиеся к данному пункту исследования вопросы необходимо заметить, что на стенде установлен 16-ти разрядный клавишный регистр адреса. Следовательно, ожидаемый объем памяти составляет 216 = 64 кбайт. Но ОЗУ процессора обладает емкостью 1кбайт, что, соответственно, в 64 раза меньше. В итоге, мы получили, что максимальное значение указателя стека составляет 002000 вместо 377377. Принимая во внимание тот факт, что при включении микроЭВМ указатель стека принимает значение 377377, то есть несуществующее для данного процессора, мы можем сделать вывод о необходимости начальной инициализации указателя стека.
4) Выполнение операций сложения и вычитания данных в двоичном и двоично-десятичном кодах.
· Сложение двоичных чисел.
Адреса |
Команды |
Мнемоника |
Комментарии |
000 |
041 |
LXI H |
Загрузка начального адреса памяти в указатель памяти |
001 |
200 |
B2 |
мл. байт адреса |
002 |
000 |
B3 |
ст. байт адреса |
003 |
076 |
MVI A |
Непосредственная загрузка А одним из слагаемых |
004 |
010 |
B2 |
Байт данных слагаемого |
005 |
206 |
ADD M |
Сложение содержимого A с содержимым ячейки памяти |
006 |
167 |
MOV M, A |
Запоминание значения суммы в ячейке памяти |
007 |
166 |
HLT |
Останов |
Предварительно в ячейку памяти с адресом 200 было занесено значение 100. После выполнения операции сложения содержимого аккумулятора и памяти, значение аккумулятора стало равным 110. Это значение снова заносится в память (200 - 110). После замены команды ADD на ADC не было замечено изменений в процессе выполнения операции сложение - по адресу 200 было занесено значение 120. Отличие команд становится очевидным только при переполнении. В команде ADC учитывается значение флага переноса при циклическом
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.