- •Лабораторная работа № 4..................................34
- •Лабораторная работа № 1 Ознакомление с работой учебной микроЭвм и процессом ввода-вывода информации
- •1 Цель работы
- •2 Теоретические сведения
- •2.1 Принцип работы микроЭвм
- •2.2 Представление информации в микроЭвм
- •2.3 Инструкция по эксплуатации уоу "Электроника-580"
- •2.3.1 Индикатор адреса и данных
- •2.3.2 Ввод команд и данных в озу
- •2.3.3Чтение и запись информации в регистры
- •2.3.4 Чтение содержимого озу или ппзу
- •Индикация ошибок
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требование к отчету
- •Лабораторная работа № 2 Система команд микроЭвм
- •1 Цель работы
- •2 Теоретические сведения
- •2.1 Команды передачи данных
- •2.2 Арифметические команды
- •2.3 Логические команды
- •2.4 Команды передачи управления
- •2.5 Команды ввода и вывода , обращения к стеку и управления микропроцессором
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Лабораторная работа № 3 Подпрограмма и стек
- •1 Цель работы
- •2 Теоретические сведения
- •2.1 Использование стековой памяти
- •3. Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Лабораторная работа № 4 Выполнение операций с повышенной точностью
- •1 Цель работы
- •2 Теоретические сведения
- •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.
