Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация ЭВМ - Отчет по всем лабам.docx
Скачиваний:
6
Добавлен:
11.04.2015
Размер:
92.68 Кб
Скачать

Лабораторная работа №1

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

Программа работы - составить программу вычислений по заданной формуле и продемонстрировать ее работу.

Вариант 7:

Формуа: 2(a + bd - c)/(d + 2)

Листинг программы:

Prog.cod

00002000 060 константа "2"

00000136 061 косвен.адр.команды 136

00000134 062 - АДР.ЗАГРУЗКИ ПРОГР. и косвен.адр.команды 134

00000014 063 - константа сдвига ( 12 в 10 с\с )

00000120 064 - косвенный адрес команды 120

00000001 065 - константа "1"

00000126 066 - косвенный адрес команды 126

00000123 067 - косвенный адрес команды 123

00000000 070 - константа "0"

10000101 071 - псевдокоманда 134

00000134 072 - косвенный адрес команды 134

00000116 073 - косвенный адрес ПП ДЕЛ

00000111 074 - косвенный адрес ПП УМН

07000020 075 - АДР.ПУСКА ПРОГР. и команда ввода исх.данных

05021101 076 – R1:=(021)->B

05023102 077 – R2:=(023)->D

16474200 100 – R1:=R1*R2

01020101 101 – R1:=R1+(20)->A

02022101 102 - R1:=R1-(22)->C

05060102 103 – R2:=(060)->2.0

16474200 104 - R1:=R1*R2

05023102 105 – R2:=(023)->D

01060102 106 – R2:=R2+(060)->2.0

16473200 107 - R1:=R1/R2

16461000 108 - Безусл. переход на 136

03102101 111 - ПП УМН . R1,R2 := R1 * R2

10211102 112 - лог.сдв.вправо R2 на 11(9) разрядов

10115101 113 - ариф.сдв.влево R1 на 15(13) разрядов

11102101 114 - R1 := R1 лог.слож. R2

16200000 115 - возврат из ПП УМН

05071472 116 - ПП ДЕЛ. Восстан.исх.сост. команды 134

05070103 117 - R3( счетчик сдвигов L ) := 0

05101300 120 - АК := делимое

13102300 121 - АК := делимое - делитель

06467466 122 - усл.переход на 123 по >=0 и на 126 по <0

10101102 123 - ариф.сдв.влево R2 на 1 разряд

01065103 124 - L(R3) := L + 1

16464000 125 - Безусл. переход на 120 (продолж.сдвигов)

04102101 126 - R1 (R2) : = R1 / R2

05063300 127 - АК := 14(12) - нач.знач. константы сдвигов

02103300 130 - АК := 14 - L

05300103 131 - R3 := AK

10311103 132 - сдв.влево R3 на 11(9) разр.-на место АДР1

11103462 133 - занесение в ком.134 числа сдвигов

10000101 134 - ариф.сдв.вправо частного (R1)

16200000 135 - возврат из ПП ДЕЛ

17101000 136 - Печать результата - R1

00000000 137 - Останов программы

17777777 140 - Конец программного файла (prog.cod)

Data1.cod

00003000 20 – A (3 в 10с.с.)

00000400 21 - B (0.5 в 10с.с.)

10003000 22 - C (-3 в 10с.с.)

00010000 23 – D (8 в 10с.с.)

Out data.cod

00002000 (2 в 10с.с.)

Выполнил:

Проверил:

Гурчин И.И.

Лабораторная работа №2

Программа работы: изменить ресурсы виртуальной ЭВМ и проверить с помощью программных тестов выполненные изменения.

Вариант 7:

ОП = 207; РП = 17;

СП = 29; КП = 19.

Изменение в листинге виртуальной машины:

……………………………………..

Wop=207; (* 317 8с/с = 0-316 8с/с *)

NRON=17; (* 21 8с/с = 0-20 8с/с *)

Wstek=29; (* 35 8с/с = 0-34 8с/с *)

Wkesh=19; (* 23 8с/с = 0-22 8с/с *)

………………………………………..

Программы проверки:

Оперативная память:

00000316 10 / косвенный адрес последней ячейки

00000317 11 / несуществующий адрес

05410101 12 / пересылка содержимого ячейки 316 в R1

05411101 13 / попытка прочитать ячейку 317 и переслать в R1 (Здесь получаем ошибку)

00000000 14 / конец программы

17777777

Стековая память:

05101200 / 21

05101200 / 22

05101200 / 23

05101200 / 24

05101200 / 25

05101200 / 26

05101200 / 27

05101200 / 30

05101200 / 31

05101200 / 32

05101200 / 33

05101200 / 34

05101200 / 35

05101200 / 36

05101200 / 37

05101200 / 40

05101200 / 41

05101200 / 42

05101200 / 43

05101200 / 44

05101200 / 45

05101200 / 46

05101200 / 47

05101200 / 50

05101200 / 51

05101200 / 52

05101200 / 53

05101200 / 54

05101200 / 55 Успешная 29-ая запись в стек

05101200 / 56 Переполнение стека, при записи 30-ой записи в стек

17777777

Кэш память:

05101101 / 21

05101101 / 22

05101101 / 23

05101101 / 24

05101101 / 25

05101101 / 26

05101101 / 27

05101101 / 30

05101101 / 31

05101101 / 32

05101101 / 33

05101101 / 34

05101101 / 35

05101101 / 36

05101101 / 37

05101101 / 40

05101101 / 41

05101101 / 42

05101101 / 43 сохраняет в Кэше текущую и первую операции– успешно

05101101 / 44 сохраняет в Кэше текущую операцию, но перезаписывается первая

00000000 / 45 конец программы

17777777

РОНы:

05101100 07 / R0 : = R1 Проверка 0-ого РОНа – успешно.

05101120 10 / R20 : = R1 проверка 20-ого РОНа– успешно.

05101121 11 / R21 : = R1 – Ошибка при пересылки в 21 РОН, т.к.его не сушествует

00000000 12 / конец программы

17777777

Выполнил:

Проверил:

Гурчин И.И.