Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 КОНТРОЛЬНАЯ РАБОТА ПО АрхПК / ЛабораторныйПрактикумПоАрхПК для ЗО.doc
Скачиваний:
126
Добавлен:
29.05.2015
Размер:
2.42 Mб
Скачать

Форма и содержание отчета

  1. Титульный лист;

  2. Формулировка варианта задания:

  3. Граф-схема алгоритма решения задачи;

  4. Распределение памяти (размещение в ОЗУ переменных, программы и необходимых констант);

  5. Программа, в форме таблицы 2.14;

  6. Значения исходных данных и результата выполнения программы, в форме таблицы 2.17.

Контрольные вопросы

  1. Как работает механизм косвенной адресации?

  2. Как работает механизм косвенно-регистровой адресации?

  3. Как поведет себя программа, приведенная в табл. 2.14, если в ней будет отсутствовать команда wr 31 по адресу 014?

  4. Как поведет себя программа, приведенная в табл. 2.14, если метка М1 будет поставлена по адресу 005? 007? [2].

Рекомендуемая литература

  1. Майоров С.А, Кириллов В.А, Приблуда А.А. Введение в микроЭВМ. Л.: Машиностроение. Ленингр. отд-ние, 1988. – 304с.

  2. Жмакин А.П. Архитектура ЭВМ.-СПб.: БХВ-Петербург, 2006. -320 с.

  3. Таненбаум Э. Т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 – Пример размещения данных в РОН