- •Лабораторная работа № 1 Ознакомление с работой учебной микроЭвм и процессом ввода-вывода информации
- •1 Цель работы
- •2 Теоретические сведения
- •1 3
- •2.1 Принцип работы микроЭвм
- •0000 03Ff 8000 83e0 8400 87ff ffff
- •2.2 Представление информации в микроЭвм
- •2.3 Инструкция по эксплуатации уоу "Электроника-580"
- •2.3.1 Индикатор адреса и данных
- •2.3.2 Ввод команд и данных в озу
- •2.3.3Чтение и запись информации в регистры
- •2.3.4 Чтение содержимого озу или ппзу
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требование к отчету
- •2.1 Команды передачи данных
- •2.2 Арифметические команды
- •2.3 Логические команды
- •2.4 Команды передачи управления
- •2.5 Команды ввода и вывода , обращения к стеку и управления микропроцессором
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Лабораторная работа № 3 Подпрограмма и стек
- •1 Цель работы
- •2 Теоретические сведения
- •2.1 Использование стековой памяти
- •3. Порядок выполнения работы
- •4 Контрольные вопросы
- •3 Порядок выполнения работы
- •Перечень заданий
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Список литературы
- •Уфимский Государственный Авиационный Технический Университет
- •450000, Уфа-центр, ул. К. Маркса, 12
2.1 Использование стековой памяти
Часто в основной программе одни и те же операции (умножение, деление, сортировка массива и др.) выполняются многократно с различными данными . Целесообразно также нестандартные операции оформлять в виде программ, которые в основной программе использовать в виде подпрограмм, в свою очередь , подпрограмма так же может использовать при работе другие программы выполнения некоторых операций и т.д. В результате закон (порядок) работы ЭВМ может включать несколько вложенных друг в друга программ .
Для организации вычислительного процесса с применением подпрограмм используется стековая область ОЗУ. Эта область резервируется программистом для осуществления прерываний при вызове подпрограмм. При этом "низ" стека фиксируется установкой его адреса в SP командой SPHL (в УОУ монитор устанавливает автоматически SP=83Е0) и, начиная с этого адреса, "вверх" (SP-1) размещаются промежуточные данные и коды адресов команд основных программ , которые должны выполняться вслед за выполнением подпрограмм. Для обращения к подпрограмме используется команда CALL аа и её модификации. Эти команды загружают в РС адрес аа начальной команды подпрограммы, а текущий адрес команды основной программы запоминается стековой памятью. Для возвращения вычислений из подпрограммы к следующей за CALL команде в подпрограмме используется команда RET и её модификации. Эта команда возвращает из стековой памяти в РС код адреса этой команды .
Следует отметить, что подпрограмма выполняет вычисления в процессоре с использованием набора тех же РОН, что и программа, поэтому, если данные основной программы, полученные в РОН перед выполнением подпрограммы, необходимы для вычислений после выполнения подпрограммы, их следует запомнить и восстановить,
НАЧАЛО
HL Nя A RG... AA+RG...
X M(HL) CALL 8400 M(Nя+2)A
HL+1 RG... A RST 4*8
Y M(HL) A M(Nя +1)
RG... M(Nя) CALL 8400
Рисунок 3.2
Подпрограмма перевода числа в аккумуляторе в дополнительный код
-
ЯЧЕЙКА (16)
МНЕМОНИКА
КОД КОМАНДЫ (16)
8400
RAL
17
8401
JNC 840A
D2
8402
0A
8403
84
8404
CMA
2F
8405
RAR
1F
8406
INR A
3C
8407
JMP 840B
C3
8408
0B
8409
84
840A
RAR
1F
840B
RET
C9
для чего перед обращением к подпрограмме данные заносятся в стековую память командами PUSH RP, а после её выполнения восстанавливаются командами POP RP.
3. Порядок выполнения работы
3.1 Ответить на вопросы, используя вариант задания лабораторной работы №1.
3.2 Написать программу в соответствии с заданием и ГСА (рисунок 3.2). Разместить подпрограмму перевода числа в дополнительный код, начиная с ячейки 8400(16). Разместить основную программу , начиная с ячейки 8200(16).
3.3 Осуществить пошаговый процесс вычислений операции [Z]д=[X]д+[-Y]д - сложения двух чисел в дополнительных кодах : кнопкой RST с помощью монитора установить начальный адрес основной программы , переключатель "Прогон-отладка" установить в положение "отладка"; нажать клавишу REG и А , проверить содержимое аккумулятора и нажатием клавиши NEXT остальных РОН. Осуществить прогон программы кнопкой STEP с документированием состояний РОН после выполнения каждой команды .
3.4 Вновь установить начальный адрес основной программы кнопкой RST. Установить переключатель "Прогон-отладка" в положение "прогон". Нажать клавишу RUN. Сравнить конечные результаты вычислений с п.3.3.