Д ля выполнения лабораторных работ будет использована программная модель ЭВМ, которая была разработана Жмакиным А.П.[1]. Эта модель позволяет реализовать доступ к различным элементам ЭВМ. На рис.1 представлено главное окно этой программы.
р ис.1
Окно Процессор обеспечивает доступ ко всем регистрам и флагам процессора.
Программно-доступные регистры и флаги:
PC – счетчик адреса текущей команды;
SP – указатель стека;
RB – регистр базового адреса;
RA – регистр адреса, содержащий исполнительный адрес при косвенной адресации;
IR – входной регистр;
OR – выходной регистр;
I — флаг разрешения прерываний.
Системные регистры и флаги:
DR – регистр данных АЛУ, содержащий второй операнд;
MDR – регистр данных ОЗУ;
MAR – регистр адреса ОЗУ;
RDR – регистр данных блока РОН;
RAR – регистр адреса блока РОН;
CR – регистр команд, содержащий поля:
COP – код операции;
TA — тип адресации
ADR – адрес или непосредственный операнд.
Z – флаг нулевого значения Acc;
S – флаг отрицательного значения Acc;
OV – флаг переплнения
Кнопка R(Reset) устанавливает все регистры в начальное (нулевое) значение.
Окно Текст программы представляет собой окно текстового редактора, в котором можно редактировать тексты программ, загужать в него текстовые файлы и сохранять подготовленный текст в виде файла.
В этом окне присутствует кнопка Компилировать, которая запускает процедуру ассемблирования текста программы. При обнаружении синтаксических ошибок информация о них выводится в окно Сообщения.
Внимание! Откомпилированная программа размещается, начиная с адреса 000. Данные надо располагать в памяти так, чтобы они не пересекались с кодом программы.
Выполнение программы осуществляется нажатием на кнопку Пуск. На рис.2 представлены результаты выполнения программы сложения чисел 5 и 7, которые располагаются в ячейках памяти с адресами 070 и 071. Результат выполнения программы, число 12 записывается в ячейку ОП с адресом 072. Описание этой программы содержится в таблице 1.
Архитектура ЭВМ. Архитектура эвм. Лабораторные работы
Название
Архитектура эвм. Лабораторные работы
Анкор
Архитектура ЭВМ
Дата
12.07.2022
Размер
261 Kb.
Формат файла
Имя файла
Архитектура ЭВМ.doc
Тип
Документы #629457
Подборка по базе: Контрольные работы институц экономика.docx, Тема 3. Проведение АСР при наводнениях. Спасательные работы на в, Метод указания по выполнению контр работы ТМиМП 2020 (2).docx, Практическая 2.1. План работы с молодым специалистом.docx, Доклад тема 4_Технологии социальной работы с родителями, лишенны, Пример Научно-исследовательской работы.pdf, 1 ИНСТРУКЦИЯ для работы в дистанте.docx, Лабораторные работы.doc, продолжительность межпромывочного периода работы испарительных т, Задачи для аудиторной работы ЭО.docx
Архитектура ЭВМ.
Лабораторные работы.
Д ля выполнения лабораторных работ будет использована программная модель ЭВМ, которая была разработана Жмакиным А.П.[1]. Эта модель позволяет реализовать доступ к различным элементам ЭВМ. На рис.1 представлено главное окно этой программы.
р ис.1 Окно Процессор обеспечивает доступ ко всем регистрам и флагам процессора.
Программно-доступные регистры и флаги:
Acc – аккумулятор;
PC – счетчик адреса текущей команды;
SP – указатель стека;
RB – регистр базового адреса;
RA – регистр адреса, содержащий исполнительный адрес при косвенной адресации;
IR – входной регистр;
OR – выходной регистр;
I — флаг разрешения прерываний.
Системные регистры и флаги:
DR – регистр данных АЛУ, содержащий второй операнд;
MDR – регистр данных ОЗУ;
MAR – регистр адреса ОЗУ;
RDR – регистр данных блока РОН;
RAR – регистр адреса блока РОН;
CR – регистр команд, содержащий поля:
COP – код операции;
TA — тип адресации
ADR – адрес или непосредственный операнд.
Z – флаг нулевого значения Acc;
S – флаг отрицательного значения Acc;
OV – флаг переплнения
Кнопка R(Reset) устанавливает все регистры в начальное (нулевое) значение.
Окно Текст программы представляет собой окно текстового редактора, в котором можно редактировать тексты программ, загужать в него текстовые файлы и сохранять подготовленный текст в виде файла.
В этом окне присутствует кнопка Компилировать, которая запускает процедуру ассемблирования текста программы. При обнаружении синтаксических ошибок информация о них выводится в окно Сообщения.
Внимание! Откомпилированная программа размещается, начиная с адреса 000. Данные надо располагать в памяти так, чтобы они не пересекались с кодом программы.
Выполнение программы осуществляется нажатием на кнопку Пуск. На рис.2 представлены результаты выполнения программы сложения чисел 5 и 7, которые располагаются в ячейках памяти с адресами 070 и 071. Результат выполнения программы, число 12 записывается в ячейку ОП с адресом 072. Описание этой программы содержится в таблице 1.
Таблица1.
Адрес
Команда
Комментарий
000
rd 070
Загрузка в аккумулятор первого числа.
001
wr R1
Запись первого числа в регистр R1
002
rd 071
Загрузка в аккумулятор второго числа
003
add r1
Сложение чисел, результат в аккумуляторе
004
wr 072
Запись результата в ОЗУ
005
hlt
Стоп
Таблица 2. Система команд.
№п/п
Мнемокод
Название
00
NOP
Пустая операция
01
IN
Ввод
02
OUT
Вывод
03
RET
Возврат из подпрограммы
04
HLT
Стоп
05
JMP
Безусловный переход
06
JZ
Переход, если 0.
07
JNZ
Переход, если не 0
08
JS
Переход, если отрицательно
09
JNS
Переход, если положительно
10
JO
Переход, если переполнение
11
JNO
Переход, если нет переполнения
12
CALL
Вызов п/п
13
RD
Чтение (в аккумулятор)
14
WR
Запись (из аккумулятора)
15
ADD
Сложение
16
SUB
Вычитание
17
MUL
Умножение
18
DIV
Деление
19
ADI
Сложение с данными
20
SBI
Вычитание с данными
21
MULI
Умножение с данными
22
DIVI
Деление с данными
23
MOV
Пересылка R1← R2
Таблица 3. Типы адресации
Обозначение
Код
Тип адресации
Пример
0
Прямая (регистровая)
ADD 23 (ADD R3)
#
1
Непосредственная
ADD #33
@
2
Косвенная
ADD @33
@R
3
Косвенно — регистровая
ADD @R3
Ввести в окно Текст программы, программу, представленную в таблице 1. Выполнить ее, проанализировать полученные результаты. Лабораторная работа № 1.Архитектура ЭВМ и система команд Задание
Ознакомиться с архитектурой ЭВМ.
Записать в ОЗУ «программу», состоящую из пяти команд — варианты за дания выбрать из табл. 1 . Команды разместить в последовательных ячейках памяти.
При необходимости установить начальное значение в устройство ввода IR.
Определить те программно-доступные объекты ЭВМ, которые будут из меняться при выполнении этих команд.
Выполнить в режиме Шаг введенную последовательность команд, фикси руя изменения значений объектов, определенных в п. 4, в таблице (см. форму табл. 10).
Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.
Таблица 1 . Варианты задания 1
№
IR
Команда 1
Команда 2
Команда 3
Команда 4
Команда 5
1
000007
IN
MUL #2
WR10
WR @10
JNS 001
2
Х
RD #17
SUB #9
WR16
WR@16
JNS 001
3
100029
IN
ADD #16
WR8
WR@8
JS 001
4
Х
RD #2
MUL #6
WR 11
WR @11
JNZ 00
5
000016
IN
WR8
DIV #4
WR @8
JMP 002
6
Х
RD #4
WR 11
RD @11
ADD #330
JS 000
7
000000
IN
WR9
RD @9
SUB#1
JS 001
8
Х
RD 14
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
WR11
WR @11
JMP 001
12
Х
RD #988
ADD #19
WR9
WR @9
JNZ 001
13
000017
IN
WR11
ADD 11
WR @11
JMP 002
14
Х
RD #5
MUL #9
WR10
WR @10
JNZ 001
Лабораторная работа №2. Вычисление арифметических выражений Задание 1. Вычислить значение арифметического выражения: (a+b) + (c–d) Варианты заданий Таблица 5.
Вариант
a
b
c
d
Задание 2. Вычислить значение арифметического выражения
1
x 2 -5(x+7)+55 x=5
2
8(x-2) 2 -5x+10 x=7
3
250- x 2 + 12x x=8
4
12(x 2 -7) 2 x=6
5
2x 2 -7x+12 x=9
6
(x+6) 2 +120 x=6
7
x2+5(x+12) x=8
8
3x 2 -5(x+12)+10 x=5
9
(3x-7) 2 +5x-12 x=7
10
5x 2 +6(x+5)-25 x=6
11
(x-3) 2 -12x+30 x=5
12
5x 2 +4(x+3)-25 x=9
Лабораторная работа №3. Программирование разветвляющихся процессов.
Для реализации алгоритмов, пути выполнения которых зависят от исходных данных, используются команды условной передачи управления. В качестве примера рассмотрим программу вычисления функции.
Y=<
(x-11) 2 -125 при х>=16
x 2 +72x-680 при х
Адрес
Команда
Примечание
000
IN
Ввод х
001
WR 30
Запись х в ячейку 30
002
SUB #16
Сравнение х с границей (16)
003
JS 010
Переход по отрицательной разности
004
RD 30
Загрузка в аккумулятор х
005
SUB #11
Х-11
006
WR 31
Запись х -11 в ячейку 31
007
MUL 31
(х-11) 2
008
SUB #125
(х-11) 2 -125
009
JMP 018
Переход на вывод результата
010
RD 30
Загрузка в аккумулятор х
011
MUL 30
Х 2
012
WR 31
Запись Х 2 в ячейку 31
013
RD 30
Загрузка в аккумулятор х
014
MUL #72
72*Х
015
ADD 31
Х 2 +72*Х
016
SUB 680
Х 2 +72*Х-680
017
OUT
Вывод результата в регистр OR
018
HLT
Стоп
Разработать программу вычисления функции в соответствии с заданным вариантом.
1. Y=<
x 2 -5(x+7)+55 x>=10
5. Y=<
(3x-7) 2 +5x-12 x>=10
15x-(x-5) 2 x 2 -12x x 2 + 12x x>=10
6 Y=<
5x 2 +6(x+5)-25 x>=10
12(x 2 -7) 2 x 2 -12x+30 x 2 -7x+12 x>=10
7. Y=<
8(x-2) 2 -5x+10 x>=10
(x+6) 2 +120 x 2 +4(x+3)-25 x 2 +5(x+12) x>=10
8. Y=<
6(x+1) 2 -5x+12 x>=10
3x 2 -5(x+12)+10 x 2 -9(x-3)+31 x Лабораторная работа №4. Программирование циклических процессов.
Задание. Вычислить таблицу значений функции
1
x 2 -5(x+7)+55 x от 0 до 5 шаг 1
2
8(x-2) 2 -5x+10 x от 1 до 9 шаг 2
3
250- x 2 + 12x x от 4 до 10 шаг 2
4
12(x 2 -7) 2 x от 0 до 10 шаг 2
5
2x 2 -7x+12 x от 6 до 1 шаг -1
6
(x+6) 2 +120 x от 10 до 0 шаг -2
7
x 2 +5(x+12) x от 1 до 10 шаг 3
8
3x 2 -5(x+12)+10 x от 10 до 4 шаг -1
9
(3x-7) 2 +5x-12 x от 2 до 10 шаг 2
10
5x 2 +6(x+5)-25 x от 9 до 1 шаг -1
11
(x-3) 2 -12x+30 x от 5 до 10 шаг 1
12
5x 2 +4(x+3)-25 x от 5 до 0 шаг -1
Лабораторная работа №5. Обработка массивов При решении задач, связанных с обработкой массивов, возникает необходимость изменения исполнительного адреса при повторном выполнении некоторой последовательности команд.
Эта задача может быть решена путем использования косвенной адресации. В качестве примера рассмотрим программу суммирования последовательности чисел
Адрес
Команда
Примечание
000
rd #3
Загрузка в аккумулятор числа повторений цикла
001
wr r2
Запись числа повторений цикла в регистр R2
002
rd #070
Загрузка в аккумулятор адреса первого числа
003
wr r1
Запись адреса первого числа в регистр R1
004
rd #0
Загрузка в аккумулятор начального значения суммы S=0
005
wr r3
Запись начального значения суммы в регистр R3
006
m1:rd @r1
Загрузка в аккумулятор очередного числа
007
add r3
Добавление к текущей сумме очередного числа
008
wr r3
Запись текущего значения суммы в регистр R3
009
rd r1
Загрузка в аккумулятор адреса очередного числа
010
add #1
Увеличение на 1 адреса очередного числа
011
wr r1
Запись адреса очередного числа в регистр R1
012
rd r2
Загрузка в аккумулятор оставшегося числа повторений цикла
013
sub #1
Уменьшение на 1оставшегося числа повторений цикла
014
wr r2
Запись в R2 оставшегося числа повторений цикла
015
jnz m1
Проверка оставшегося числа повторений цикла(R2), и если R2<>0 переход на метку M1
016
rd r3
Загрузка в аккумулятор полученного значения суммы S
017
wr 080
Запись результата в ОЗУ
018
hlt
Стоп
Вариант
Задание
1
Количество четных чисел
2
Значение и порядковый номер минимального числа
3
Сумму нечетных чисел
4
Значение и номер первого числа >10
5
Количество чисел 10
7
А1-А2+А3-А4+А5…….
8
Значение и порядковый номер максимального числа
Задание 2. Решить задачу из Задания 3 для обработки 2х массивов с использованием подпрограммы, с записью полученного результата в ячейку, следующую за последним элементом массива. Литература.