- •Содержание
- •Лабораторный практикум Введение
- •Лабораторная работа №1
- •Общие положения
- •Структура учебной эвм
- •Состав процессора учебной эвм
- •Регистры состояния
- •Оперативное запоминающее устройство
- •Исполнение команд
- •Порядок выполнения работы
- •Форма и содержание отчета
- •Общие сведения о форматах команд
- •Система команд
- •Способы адресации
- •Система операций
- •Порядок выполнения работы
- •Форма и содержание отчета
- •Рекомендуемая литература
- •Лабораторная работа № 3
- •Команды условной передачи управления
- •Порядок выполнения работы
- •Форма и содержание отчета
- •Контрольные вопросы
- •Форма и содержание отчета
- •Порядок выполнения работы
- •Форма и содержание отчета
- •Приложение Типы адресации, их коды и обозначения
Форма и содержание отчета
Титульный лист;
Формулировка варианта задания:
Граф-схема алгоритма решения задачи;
Распределение памяти (размещение в ОЗУ переменных, программы и необходимых констант);
Программа, в форме таблицы 2.14;
Значения исходных данных и результата выполнения программы, в форме таблицы 2.17.
Контрольные вопросы
Как работает механизм косвенной адресации?
Как работает механизм косвенно-регистровой адресации?
Как поведет себя программа, приведенная в табл. 2.14, если в ней будет отсутствовать команда wr 31 по адресу 014?
Как поведет себя программа, приведенная в табл. 2.14, если метка М1 будет поставлена по адресу 005? 007? [2].
Рекомендуемая литература
Майоров С.А, Кириллов В.А, Приблуда А.А. Введение в микроЭВМ. Л.: Машиностроение. Ленингр. отд-ние, 1988. – 304с.
Жмакин А.П. Архитектура ЭВМ.-СПб.: БХВ-Петербург, 2006. -320 с.
Таненбаум Э. Т18 Архитектура компьютера. 5-е изд. — СПб.: Питер, 2007. — 844 с.
Лабораторная работа № 5
Тема:подпрограммы и стек
Цель:изучение команд обращения к подпрограмме и исследование порядка функционирования ЭВМ при выполнении комплекса взаимосвязанных программ;
Техническое обеспечение:персональный компьютер, программная модель учебной ЭВМ;
Термины и понятия:стек, подпрограмма, адрес возврата, параметры
Стек. Подпрограмма
В программировании часто встречаются ситуации, когда одинаковые действия необходимо выполнять многократно в разных частях программы. В таких случаях повторяющиеся части программы выделяют в подпрограмму.
Подпрограмма– это группа команд, которая решает определенную задачу и которую можно вызвать из разных мест программы. В языках высокого уровня также используют термин «процедура». Для вызова подпрограммы необходимо указать ее начальный адрес в памяти и передать (если необходимо)параметры(аргументы) - те исходные данные, с которыми будут выполняться предусмотренные в подпрограмме действия.
Когда подпрограмма заканчивает решение задачи, она должна вернуться к оператору, расположенному в программе следом за оператором вызова подпрограммы. Адрес оператора, к которому возвращается подпрограмма, называется адресом возврата. Адрес возврата может помещаться в одном из трех мест: в памяти, в регистре или в стеке.
Стек ("магазин")- особым образом организованная безадресная память, доступ к которой осуществляется через единственную ячейку, называемую верхушкой стека.
При записи в стек содержимого регистра общего назначения (push) все ранее записанные слова сдвигаются на одну ячейку вниз, а новое слово помещается на вершину стека. При чтении из стека в РОН (pop) извлекается содержимое верхушки стека, а все оставшиеся слова смещаются вверх на одну позицию вверх. В программировании называют такую дисциплину обслуживания LIFO (Last In First Out), последним пришел — первым вышел).
В обычных ОЗУ нет возможности перемещать слова между ячейками, поэтому при организации стека перемещается не массив слов относительно неподвижной верхушки, а верхушка относительно неподвижного массива. Под стек отводится некоторая область ОЗУ, причём адрес верхушки хранится в специальном регистре процессора – указателе стека SP.
По команде вызова подпрограммы CALL, значение программного счётчикаPC(адрес следующей команды) помещается верхушку стека. а по командеRETсодержимое верхушки стека извлекается вPC. При каждом обращении в стек указательSPавтоматически модифицируется. В большинстве ЭВМ стек «растёт» в сторону меньших адресов, потому перед каждой записью содержимоеSPуменьшается на 1, а после каждого извлечения увеличивается на 1. Таким образом,SPвсегда указывает на верхушку стека.
В данной лабораторной работе для хранения данных, необходимых для решения задачи используются регистры общего назначения процессора (РОН) рисунок . В реальных ЭВМ доступ в РОН занимает значительно меньшее время, чем в ОЗУ. Кроме того, команды обращения с регистрами короче команд обращения к памяти. В системе команд учебной ЭВМ для работы с РОН используются команды, мнемоники которых совпадают с мнемониками соответствующих команд для работы с ОЗУ, но в адресной части содержат символы регистровR0 -R9.
Рисунок 25 – Пример размещения данных в РОН