« Назад
Лабораторная работа №1 на тему Архитектура ЭВМ и система команд
Цель: знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации.
Теоретические сведения
Для решения с помощью ЭВМ некоторой задачи должна быть разработана программа. Программа на языке ЭВМ представляет собой последовательность команд. Код каждой команды определяет выполняемую операцию, тип адресации и адрес. Выполнение программы, записанной в памяти ЭВМ, осуществляется последовательно по командам в порядке возрастания адресов команд или в порядке, определяемом командами передачи управления.
Для того чтобы получить результат выполнения программы, пользователь должен:
-
ввести программу в память ЭВМ;
-
определить, если это необходимо, содержимое ячеек ОЗУ и РОН, содержащих исходные данные, а также регистров IR и BR;
-
установить в PC стартовый адрес программы;
-
перевести модель в режим Работа.
Каждое из этих действий выполняется посредством интерфейса модели, описанного в главе 8. Ввод программы может осуществляться как в машинных кодах непосредственно в память модели, так и в мнемокодах в окно Текст программы с последующим ассемблированием.
При выполнении лабораторной работы необходимо ввести в память ЭВМ и выполнить в режиме Шаг некоторую последовательность команд (определенную вариантом задания) и зафиксировать все изменения на уровне программно-доступных объектов ЭВМ, происходящие при выполнении этих команд.
Команды в память учебной ЭВМ вводятся в виде шестиразрядных десятичных чисел (смотри форматы команд на рисунке 8.3, коды команд и способы адресации в таблице 8.4-8.5).
В настоящей лабораторной работе необходимо выполнить программирование ЭВМ в машинных кодах.
Пример 1
Дана последовательность мнемокодов, которую необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг и зафиксировать изменение состояний программно-доступных объектов ЭВМ (таблица 1.1).
Таблица 1.1 Команды и коды
Последовательность
|
Значения
|
Команды
|
RD #20
|
WR 30
|
ADD #5
|
WR @30
|
JNZ 002
|
Коды
|
211020
|
220030
|
231005
|
222030
|
120002
|
Введем полученные коды последовательно в ячейки ОЗУ, начиная с адреса 000. Выполняя команды в режиме Шаг, будем фиксировать изменения программно-доступных объектов (в данном случае это Асc, PC и ячейки ОЗУ 020 и 030) в таблице 1.2.
Таблица 1.2 Содержимое регистров
PC
|
Асc
|
М(30)
|
М(20)
|
|
PC
|
Асc
|
М(30)
|
М(20)
|
000
|
000000
|
000000
|
000000
|
004
|
|
|
000025
|
001
|
000020
|
|
|
002
|
|
|
|
002
|
|
000020
|
|
003
|
000030
|
|
|
003
|
000025
|
|
|
004
|
|
|
000030
|
Задание
-
Ознакомиться с моделью архитектуры ЭВМ (глава 8).
-
Записать в ОЗУ "программу", состоящую из пяти команд – варианты задания выбрать из таблицы 1.3. Команды разместить в последовательных ячейках памяти.
-
При необходимости установить начальное значение в устройство ввода IR.
-
Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.
-
Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов, определенных в пункте 4 задания, в таблице (на примере формы таблицы 1.2).
-
Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.
Таблица 1.3 Варианты заданий
№
|
IR
|
Команда 1
|
Команда 2
|
Команда 3
|
Команда 4
|
Команда 5
|
1
|
000007
|
IN
|
MUL #2
|
WR 10
|
WR @10
|
JNS 001
|
2
|
|
RD #17
|
SUB #9
|
WR 16
|
WR @16
|
JNS 001
|
3
|
100029
|
IN
|
ADD #16
|
WR 8
|
WR @8
|
JS 001
|
4
|
|
RD #2
|
MUL #6
|
WR 11
|
WR @11
|
JNZ 00
|
5
|
000016
|
IN
|
WR 8
|
DIV #4
|
WR @8
|
JMP 002
|
6
|
|
RD #4
|
WR 11
|
RD @11
|
ADD #330
|
JS 000
|
7
|
000000
|
IN
|
WR 9
|
RD @9
|
SUB #1
|
JS 001
|
8
|
|
RD 4
|
SUB #8
|
WR 8
|
WR @8
|
JNZ 001
|
9
|
100005
|
IN
|
ADD #12
|
WR 10
|
WR @10
|
JS 004
|
10
|
|
RD 4
|
ADD #15
|
WR 13
|
WR @13
|
JMP 001
|
11
|
000315
|
IN
|
SUB #308
|
WR 11
|
WR @11
|
JMP 001
|
12
|
|
RD #988
|
ADD #19
|
WR 9
|
WR @9
|
JNZ 001
|
13
|
000017
|
IN
|
WR 11
|
ADD 11
|
WR @11
|
JMP 002
|
14
|
|
RD #5
|
MUL #9
|
WR 10
|
WR @10
|
JNZ 001
|
Содержание отчета
-
Титульная страница;
-
Цель;
-
Вариант задания с машинными кодами команд;
-
Краткие теоретические сведения;
-
Результаты выполнения последовательности команд в соответствии пункта 4-5 задания;
-
Вывод.
Контрольные вопросы
-
Из каких основных частей состоит ЭВМ и какие из них представлены в модели?
-
Что такое система команд ЭВМ?
-
Какие классы команд представлены в модели?
-
Какие действия выполняют команды передачи управления?
-
Какие способы адресации использованы в модели ЭВМ? В чем отличия между ними?
-
Какие ограничения накладываются на способ представления данных модели ЭВМ?
-
Какие режимы работы предусмотрены в модели и в чем отличие между ними?
-
Как записать программу в машинных кодах в память модели ЭВМ?
-
Как просмотреть содержимое регистров процессора и изменить содержимое некоторых регистров?
-
Как просмотреть и, при необходимости, отредактировать содержимое ячейки памяти?
-
Как запустить выполнение программы в режиме приостановки работы после выполнения каждой команды?
-
Какие способы адресации операндов применяются в командах ЭВМ?
-
Какие команды относятся к классу передачи управления?
З повагою ІЦ "KURSOVIKS"!
|