воскресенье, 29 сентября 2019 г.

Лабораторные работы по дисциплине "Архитектура компьютерных систем"

Лабораторные работы по дисциплине "Архитектура компьютерных систем"
Формат - Microsoft Word, ASM (Жмакин)

1. Дана последовательность мнемокодов, которые необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ.

Для того, чтобы ввести команды в ОЗУ, необходимо:

- ввести последовательно команды в окно Текст программы (рисунок 2.3);

- запустить процедуру компиляции (рисунок 2.4).

Рисунок 2.3 – Текстовый редактор

Рисунок 2.4 – Компиляция

При этом, дизассемблированные команды запишутся в ячейки ОЗУ, начиная с адреса 000, и автоматически появятся в окне Программа (рисунок 2.5).

Рисунок 2.5 – Окна Память и Программа после произведенной компиляции

Также возможна работа непосредственно с кодом команд. Для этого необходимо: внести последовательно в ОЗУ, начиная с адреса 000, код команд; при переходе на следующую ячейку, команда автоматически ассемблируется и отобразится в окне Текст программы (рисунок 2.6). Например: код операции
RD – 21, нам необходимо непосредственно адресовать операнд (20). Код непосредственной операции – 1. Заносим код (211020) команды RD #20 в ячейку памяти, начиная с адреса 000 и нажимаем кнопку Go в окне Память.

Рисунок 2.6 – Код команд в ОЗУ

2. В соответствии с вариантом задания (таблица 2.3), необходимо установить начальное значение в устройство ввода IR (рисунок 2.7).

Рисунок 2.7 – Установленное значение в IR

3. Выполнить в режиме Шаг последовательность команд (рисунок 2.8).

Рисунок 2.8 – Выполнение команд в режиме Шаг

4. Оформить последовательность мнемокодов и соответствующие машинные коды (таблица 2.1).

Таблица 2.1 – Команды и коды команд

Адрес

Мнемокод

Код

Примечание

000

RD #20

211020

АСС ← 20

001

WR 30

220030

М(30) ← ACC

002

ADD #5

231005

АСС ← АСС + 5

003

WR @30

222030

АСС ← М(М(30))

004

JNZ 002

120002

Переход к команде по адресу 002, если ≠ 0

5. Выполняя команды в режиме Шаг, зафиксировать изменения программно-доступных объектов (в данном случае Асс, PC и ячейки ОЗУ
М (30), М (М(30)) (таблица 2.2).

Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.

6. В соответствии с вариантом задания (таблица 2.4), записать состояние учебной модели ЭВМ на уровне микрокоманд (таблица 2.3).

Таблица 2.2 – Содержимое регистров

PC

Асc

М(30)

М(М(30))

000

000000

000000

000000

001

000020

002

000020

003

000025

004

000025

002

003

000030

004

000030


Таблица 2.3 – Состояние модели в режиме моделирования на уровне микрокоманд

Адрес (РС)

Мнемокод

Микрокоманда

ОЗУ

CR

АУ

Ячейки

MAR

MDR

COP

TA

ADR

Acc

DR

020

030

000

RD #20

MAR := PC

000

000000

00

0

000

000000

000000

000000

000000

MRd

000

CR := MDR

211020

PC := PC+1

21

1

020

001

Acc := ADR

WR 30

MAR := PC

000020

MRd

001

CR := MDR

220030

PC := PC+1

22

0

030

002

MAR := ADR

MDR:=Acc

030

MWr

000020

ADD #5

MAR := PC

000020

MRd

002

CR := MDR

231005

PC := PC+1

23

1

005

003

DR: = ADR

Fау:= ALI

000005

WR @30

MAR := PC

000025

7. Сохранить программу, для чего в окне Текст программы выбрать меню Файл → Сохранить как. В открывшемся окне, выбрать расположение файла на диске и задать имя файла. Тип файла указать .asm и нажать кнопку Сохранить.

Для каждого варианта индивидуального задания, последовательность мнемокодов приведена в таблице 2.4.

1. Записать в ОЗУ программу, состоящую из пяти команд. Команды разместить в последовательных ячейках памяти.

2. При необходимости установить начальное значение в устройство ввода IR.

3. Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.

4. Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов.

5. Если в программе образуется цикл, необходимо просмотрен, не более двух повторений каждой команды, входящей в тело цикла.

Таблица 2.4 – Список последовательности команд по вариантам

IR

Команда 1

Команда 2

Команда 3

Команда 4

Команда 5

1

2

3

4

5

6

7

1

000007

IN

MUL #2

WR 10

WR @10

JNS 001


Разработать программу вычисления и вывода значения функции:

Fi (х), при х ≥ а

Fj (х), при х < а

для вводимого из IR значения аргумента х. Функции и допустимые пре­делы изменения аргумента приведены в таблице 3.2, варианты задании в таблице 3.3.

1. Исходя из допустимых пределов изменения аргумента функций и значения параметра а для своего варианта задания (таблица 3.3) выделим, на числовой оси 0х области, в которых функция у вычисляется по представленной в п.1 формуле, и недопустимые значения аргумента. На недопустимых значениях аргумента программа должна выдавать на ОR максимальное отрицательное число: 199 999 (рисунок 3.2).


Рисунок 3.2 – Вывод в регистр вывода максимального отрицательного числа

2. Ввести текст программы в окно «Текст программы», при этом возможен набор и редактирование текста непосредственно в окне «Текст программы» или загрузка текста из файла, подготовленного в другом редакторе.

3. Ассемблировать текст программы, при необходимости, исправить синтаксические ошибки.

4. Отладить программу:

а) записать в IR значение аргумента х > а (в области допустимых значений);

б) записать в PC стартовый адрес программы;

в) проверить правильность выполнения программы (т.е. правильность результата и адреса останова) в автоматическом режиме. В случае наличия ошибки выполнить п. 4, г и п. 4, д; иначе перейти к п. 4, е;

г) записать в РС стартовый адрес программы;

д) наблюдая выполнение программы в режиме Шаг, найти команду, являющуюся причиной ошибки; исправить ее; выполнить п.4, a – 4, в;

е) записать в IR значение аргумента х < а (в области допустимых значений); выполнить п. 4, б и п. 4, в;

ж) записать в IR недопустимое значение аргумента х и выполнить п.4, б и п. 4, в.

5. Для выбранного допустимого значения аргумента JC наблюдать выполне­ние отлаженной программы в режиме Шаг и записать в форме таблицы 2.2 содержимое регистров ЭВМ перед выполнением каждой команды.

Таблица 3.2 – Функции

Номер варианта

i

j

a

13

7

6

25


1. Написать программу определения заданной характеристики последовательности чисел С1 , С2, ..., Сn. (варианты заданий приведены в таблице 4.2).

2. Записать программу в мнемокодах, введя ее в поле окна Текст программы.

3. Сохранить набранную программу в виде текстового файла и произвести ассемблирование мнемокодов.

4. Загрузить в ОЗУ необходимые константы и исходные данные.

5. Отладить программу.

Таблица 4.2 – Варианты задания

Номер варианта

Характеристика последовательности чисел С1, С2 ,..., Сn

13

Разность сумм четных и нечетных элементов массивов


Комментариев нет:

Отправить комментарий