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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации.
Для начала ознакомимся с архитектурой ЭВМ:
Общая структура учебной ЭВМ представлена на (рис.1)
Рис.1. Общая структура учебной ЭВМ
Моделируемая ЭВМ включает процессор, оперативную (ОЗУ) и сверхоперативную память, устройство ввода ( УВв) и устройство вывода (УВыв). Процессор, в свою очередь, состоит из центрального устройства управления (УУ), арифметического устройства (АУ) и системных регистров (CR, PC, SP, и др).
Здесь обеспечивается доступ ко всем регистрам и флагам процессора (рис.2).
В окне Процессор отражаются текущие значения регистров и флагов. Регистры Acc, DR, IR, OR, CR все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры PC,SP, RA, и RB 3 разряда.
Рис.2. Окно «Процессор»
Программно-доступные регистры и флаги:
Acc- аккумулятор;
PC- счетчик адреса команд, содержащий адрес текущей команды;
SP- указатель стека, содержащий адрес верхушки стека;
RB- регистр базового адреса, содержащий базовый адрес;
RA- регистр адреса, содержащий исполнительный адрес при косвенной адресации;
IR- входной регистр;
OR- выходной регистр;
I-Флаг разрешения прерываний;
Системные регистры и флаги:
DR- регистр данных АЛУ, содержащий второй операнд;
MDR- регистр данных ОЗУ;
MAR- регистр адреса ОЗУ;
RDR- регистр данных блока РОН;
RAR- регистр адреса блока РОН;
CR- регистр команд, содержащий поля:
COP- код операции;
TA- тип адресации;
ADR- адрес или непосредственный операнд;
Z- флаг нулевого значения;
S- флаг отрицательного значения Acc;
OV- флаг переполнения.
Он отражает текущее состояние ячеек ОЗУ, как показано на рис. 3. В этом окне допускается редактирование содержимого ячеек, кроме того, предусмотрена возможность выполнения пяти команд: Сохранить, Загрузить, Перейти к, Вставить, Убрать.
Рис.3. Окно «Память»
Текст программы содержит стандартное поле текстового редактора, в котором можно редактировать тексты, загружать в него текстовые файлы и сохранять подготовленный текст в виде файла (рис.4).
Рис.4. Окно «Текст программы»(1-ый вид)
Рис.5. Окно «Текст программы»(2-ой вид)
Он отображает таблицу, имеющую 300 строк и 4 столбца. Каждая строка таблицы соответствует дизассемблированной ячейки ОЗУ. Второй столбец содержит адрес ячейки ОЗУ, третий дизассемблированный мнемокод, четвертый- машинный код команды. В первом столбце может помещаться указатель --> на текущую команду и точка останова красная заливка ячейки (рис.5).
Рис.6. Окно «Программа»
Окно Программа позволяет наблюдать процесс прохождения программы. В этом окне ничего нельзя редактировать. Органы управления окна позволяют сохранить содержимое окна в виде текстового файла, выбрать начальный адрес области ОЗУ, которая будет дизассемблироваться, а также установить/ снять точку останова.
Граф-схема алгоритма решения задачи показана на рис.7.
Начало
Ввод x
x10
нет да
y
y
Вывод y
Конец
Рис.7. Граф-схема алгоритма
В данной лабораторной работе используются двухсловные команды с непосредственной адресацией, позволяющей оперировать отрицательными числами и числами по модулю, превышающие 999, в качестве непосредственного операнда.
Оценив Размер программы примерно 20-25 команд, оведем для области данных ячеки ОЗУ, начиная с адреса 030. Составленная программа с комментариями представлена в виде табл.1.(2).
Адрес |
Команда |
Примечание |
|
Мнемокод |
Код |
||
000 |
In |
010000 |
Ввод x |
001 |
Wr 30 |
220030 |
Размещение х в ОЗУ(ОЗО) |
002 |
Sub #10 |
241010 |
Сравнение с границей (х-10) |
003 |
Jns 011 |
140011 |
Переход по положительной части |
004 |
Rd 30 |
210030 |
Вычисление по первой формуле |
005 |
Mul #2 |
251002 |
|
006 |
Wr 32 |
220032 |
|
007 |
Rd #13 |
211013 |
|
008 |
Add #5 |
231005 |
|
009 |
Div 32 |
260032 |
|
010 |
Jmp 015 |
100015 |
Переход на вывод результата |
011 |
Rd 30 |
210030 |
Вычисление по второй формуле |
012 |
Mul #3 |
251003 |
|
013 |
Add #5 |
231005 |
|
014 |
Div #2 |
261002 |
|
015 |
Out |
020000 |
Вывод результата |
016 |
HLT |
090000 |
Стоп |
Таблица 1. Пример программы (1-ый вид)
Адрес |
Команда |
Примечание |
|
Мнемокод |
Код |
||
000 |
In |
010000 |
Ввод x |
001 |
Wr 30 |
220030 |
Размещение х в ОЗУ(ОЗО) |
002 |
Sub #10 |
241010 |
Сравнение с границей (х-10) |
003 |
Jns M |
140011 |
Переход по положительной части |
004 |
Rd 30 |
210030 |
Вычисление по первой формуле |
005 |
Mul #2 |
251002 |
|
006 |
Wr 32 |
220032 |
|
007 |
Rd #13 |
211013 |
|
008 |
Add #5 |
231005 |
|
009 |
Div 32 |
260032 |
|
010 |
Jmp N |
100015 |
Переход на вывод результата |
011 |
M:Rd 30 |
210030 |
Вычисление по второй формуле |
012 |
Mul #3 |
251003 |
|
013 |
Add #5 |
231005 |
|
014 |
Div #2 |
261002 |
|
015 |
N:Out |
020000 |
Вывод результата |
016 |
HLT |
090000 |
Стоп |
Таблица 2. Пример программы (2-ой вид)
Я ввел программу в память ЭВМ (рис. 4). Определил содержимое ячеек ОЗУ и РОН, содержащих исходные данные, а также регистров IR и BR (рис.2). Перевел модель в режим Работа(GO) (рис. 6)
Рис.8. Сообщение о функционировании системы
В результате выполнения данной работы получили следующие результаты: