NersesyanE
Добро пожаловать в Викиверситет!
правитьЗдравствуйте, и добро пожаловать в русскоязычную часть Викиверситета! Надеемся, Вы получите большое удовольствие от участия в проекте.
Постарайтесь вначале статьи обозначить цель Вашей работы. Укажите, является ли создаваемая Вами страница учебным курсом или исследовательской работой.
Если Вы хотите написать энциклопедическую статью, то для этого есть Википедия, см. Чем не является Викиверситет.
Ознакомьтесь, пожалуйста, с вики-разметкой и принципами размещения и именования статей.
Чтобы получать актуальную информацию о событиях, происходящих в Викиверситете, Вы можете установить шаблон {{Актуально}}, например, в самое начало своей страницы обсуждения.
Иллюстрации загружайте на Викисклад, предназначенный для хранения медиафайлов вики-проектов. Прочитайте, пожалуйста, брошюру об основах иллюстрирования статей в Википедии и работе на Викискладе. Загруженные файлы на Викисклад можно будет одинаково легко использовать в Википедии и в Викиверситете.
По всем вопросам смело обращайтесь на портал сообщества или к одному из администраторов.
При этом, пожалуйста, подписывайтесь на страницах обсуждения (но не в статьях Викиверситета), используя четыре идущих подряд знака тильды (~~~~). И ещё раз — добро пожаловать! :-) вы можете убрать данный шаблон с вашей страницы обсуждения по собственному желанию
-- 15:26, 26 мая 2011 (UTC)
Лабораторная работа №4
правитьВариант №4
Условие
править8100/x^2 ,при 90>=x>=30
(2x^2+7)/x , при 1<=x<30
Блок схема
правитьКод программы
правитьIN
WR 31
SUB #30
JS 10
WR #8100
RD 030
DIV x^2
WR 30
JNS 18
RD 030
MUL #2
WR 030
RD 030
MUL #2
WR 030
RD 030
ADD #7
WR 030
RD 030
DIV 031
OUT
HTL
Размещение данных в ОЗУ
правитьАдрес | Команда | Код |
---|---|---|
000 | IN | 010000 |
001 | WR 031 | 220031 |
002 | SUB #030 | 241030 |
003 | JS 10 | 130010 |
004 | ADI 008100 | 43100 008100 |
005 | WR 033 | 220033 |
006 | RD 033 | 210033 |
007 | DIV #002 | 261002 |
008 | WR 030 | 220030 |
009 | JNS 18 | 140018 |
010 | RD 030 | 210030 |
011 | MUL #002 | 251002 |
012 | WR 030 | 220030 |
013 | RD 030 | 210030 |
014 | MUL #002 | 251002 |
015 | WR 030 | 220030 |
016 | RD 030 | 210030 |
017 | ADD #007 | 231007 |
018 | WR 030 | 220030 |
019 | RD 030 | 210030 |
020 | DIV 031 | 260031 |
021 | OUT | 020000 |
022 | HLT | 090000 |
Программа в форме таблицы
правитьАдрес | Команда |
---|---|
000 | IN |
001 | WR 031 |
002 | SUB #030 |
003 | JS 10 |
004 | ADI 008100 |
005 | WR 033 |
006 | RD 033 |
007 | DIV #002 |
008 | WR 030 |
009 | JNS 18 |
010 | RD 030 |
011 | MUL #002 |
012 | WR 030 |
013 | RD 030 |
014 | MUL #002 |
015 | WR 030 |
016 | RD 030 |
017 | ADD #007 |
018 | WR 030 |
019 | RD 030 |
020 | DIV 031 |
021 | OUT |
022 | HLT |
Последовательность состояния регистров ЭВМ
правитьАдрес | Команда | Код | Примечание |
---|---|---|---|
000 | IN | 010000 | Ввод Данных |
001 | WR 031 | 220031 | Запись в ячейку 31 |
002 | SUB #030 | 241030 | Сравнение с границей -(X-30) |
003 | JS 10 | 130010 | Переход по отрицательной разности |
004 | ADI 008100 | 43100 008100 | Запись числа 8100 |
005 | WR 033 | 220033 | |
006 | RD 033 | 210033 | |
007 | DIV #002 | 261002 | Деление (8100/x^2) |
008 | WR 030 | 220030 | |
009 | JNS 18 | 140018 | Переход если положительно |
010 | RD 030 | 210030 | |
011 | MUL #002 | 251002 | Умножение x^2 |
012 | WR 030 | 220030 | |
013 | RD 030 | 210030 | |
014 | MUL #002 | 251002 | |
015 | WR 030 | 220030 | |
016 | RD 030 | 210030 | |
017 | ADD #007 | 231007 | |
018 | WR 030 | 220030 | |
019 | RD 030 | 210030 | |
020 | DIV 031 | 260031 | |
021 | OUT | 020000 | Вывод результата |
022 | HLT | 090000 | Стоп |
Лабораторная работа №11
правитьУсловие
правитьВывести собственное имя на дисплей учебной ЭВМ.
Текст программы
правитьRD #11
OUT 11
RD #0
OUT 13
RD #221
OUT 10
RD #228
OUT 10
RD #194
OUT 10
RD #232
OUT 10
RD #237
OUT 10
HLT
Ввод имени на дисплее
правитьЛабораторная работа №5
правитьВариант №3
Условие
правитьНайти произведение всех чисел
Блок схема
править<img src="http://s48.radikal.ru/i121/1105/cd/07eba173f035.png"/>
Код программы
правитьRD #40
WR 30
RD #10
WR 31
RD #1
WR 32
Ml: RD 32
MUL @30
WR 32
RD 30
ADD #1
WR 30
RD 31
SUB #1
WR 31
JNZ MI: RD 32
RD 32
OUT
HLT
Распределение памяти
правитьЯчейки: 1 - Команды управления - 000-010 2 - Постоянные и параметры - 030-032 3 - Элементы массива - 040-049
Лабораторная работа №6
правитьУсловие работы
правитьРазработать программу учебной ЭВМ для нахождения максимального отрицательного числа при вводе различных данных. Можно выбирать произвольные данные....
Код программы
правитьRD #40
WR 30
RD #10
WR 31
RD #0
WR 32
Ml: RD @30
SUB 32
JS 12
RD 32
WR 32
JMP 14
RD @30
WR 32
RD 30
ADD #1
WR 30
RD 31
SUB #1
WR 31
JNZ Ml
RD 32
OUT HLT
Код подпрограммы
правитьMl: RD @30
SUB 32
JS 12
RD 32
WR 32
JMP 14
RD @30
WR 32
RD 30
ADD #1
WR 30
RD 31
SUB #1
WR 31
JNZ Ml
Работа программы
правитьПрограмма компилируется.
Далее нужно ввести значения переменных, которые мы начинаем вводить с 40 ячейки, как отрицательные, так и положительные.
Мы должны заполнить ячейки с 40 по 48.
Далее запускаем программу и нам будет выдан ответ самого максимально отрицательного числа.
Данная программа универсальна, то есть подходит практически для всех положительных и отрицательных целых чисел.
Например, при вводе значений 1,2,3,4,5,6,-7,8, программа выдаст в OR=100007
Лабораторная работа 7
правитьУсловие лабораторной
правитьЗапишите последовательность микрокоманд для следующих команд модели учебной ЭВМ:
IN
ADD #12
WR 10
WR @10
JS 004
Таблица
правитьПодробная таблица для Лабораторной 7
Данная таблица отражает все переменные микрокомандного уровня.
Примеры Микрокомандного уровня
правитьПрограмма в учебной ЭВМ Файл:Lab71.png
Включение Микрокомандного уровня
Микрокомандный уровень.
Лабораторная работа 8
правитьУсловие работы
правитьВариант №3
RD #16; SUB #5; WR 9; WR @9; WR r3; PUSH R3; POP R4
Код программы
правитьRD #16
SUB #5
WR 9
WR @9
WR r3
PUSH R3
POP R4
Параметры КЭШ памяти
правитьДолжен быть включен режим КЭШ-памяти
Можно выбрать различные параметры КЭШ-памяти
Режимы КЭШ памяти
правитьRD #16
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 000000 | 0 | 0 | 0 |
1 | 000 | 000000 | 0 | 0 | 0 |
2 | 000 | 000000 | 0 | 0 | 0 |
3 | 000 | 000000 | 0 | 0 | 0 |
SUB #5
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 211016 | 1 | 1 | 0 |
1 | 000 | 000000 | 0 | 0 | 0 |
2 | 000 | 000000 | 0 | 0 | 0 |
3 | 000 | 000000 | 0 | 0 | 0 |
WR 9
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 211016 | 1 | 1 | 0 |
1 | 001 | 241005 | 1 | 1 | 0 |
2 | 000 | 000000 | 0 | 0 | 0 |
3 | 000 | 000000 | 0 | 0 | 0 |
WR @9
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 211016 | 1 | 1 | 0 |
1 | 001 | 241005 | 1 | 1 | 0 |
2 | 002 | 220009 | 1 | 0 | 0 |
3 | 000 | 000000 | 1 | 0 | 0 |
WR R3
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 211016 | 1 | 0 | 0 |
1 | 001 | 000011 | 1 | 1 | 0 |
2 | 002 | 220009 | 1 | 0 | 0 |
3 | 000 | 000011 | 1 | 1 | 0 |
PUSH R3
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 211016 | 1 | 0 | 0 |
1 | 001 | 320003 | 1 | 1 | 0 |
2 | 002 | 220009 | 1 | 0 | 0 |
3 | 000 | 000011 | 1 | 1 | 0 |
POP R4
№ | Тег | Данные | Z | U | W |
---|---|---|---|---|---|
0 | 000 | 211016 | 1 | 0 | 0 |
1 | 001 | 000011 | 1 | 1 | 0 |
2 | 002 | 060003 | 1 | 1 | 0 |
3 | 000 | 000011 | 1 | 1 | 0 |
Лабораторная работа №9
правитьУсловие работы №9
правитьВычислить значение К эффективности при помощи КЭШ памяти
Код программы
править
IN
WR 31
SUB #30
JS 10
WR #0081
RD 030
DIV 31
WR 30
JNS 18
RD 030
MUL #2
WR 030
RD 030
MUL #2
WR 030
RD 030
ADD #7
WR 030
RD 030
DIV 031
OUT
HLT
Мы будем использовать данный код программы для вычисления коэффециента К
Таблица №9
править
КЭШ память
правитьРежим КЕШ памяти должен быть включен
Лабораторная работа №10
правитьУсловие работы
правитьРассмотреть посимвольный ввод с клавиатуры
Код программы
править
RD #10
OUT 1
RD #103
OUT 1
M1: IN 2
JZ M1
IN 0
JMP M1
Ввод символов с клавиатуры
правитьНужно подключить контроллер клавиатуры