Перейти к содержанию

Обсуждение участника:HelemendikKO

Содержимое страницы недоступно на других языках.
Добавить тему
Материал из Викиверситета

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

[править]

Вариант №17

Условие

[править]

(x+3)^2/x при x>25
(2x^2+7)/x при x<25

Блок схема

[править]

Код программы

[править]

IN

WR 30

SUB #25

JS 010

RD 30

ADD #3

WR 31

MUL 31

DIV 30

JMP 017

RD 30

MUL 30

MUL #2

ADD #7

WR 31

RD 31

DIV 30

OUT

HLT


Несколько значений из программы

[править]

IR 30 OR 36

IR 1 OR 9

Размещение данных в ОЗУ:

[править]
Адрес Команда Код
000 IN 010000
001 WR 30 220030
002 SUB #025 241030
003 JS 010 130012
004 RD 030 210030
005 ADD #3 250030
006 WR 31 250002
007 MUL 31 231007
008 DIV 30 210031
009 JMP 017 220031
010 RD 30 260030
011 MUL 30 100021
012 MUL #2 410000
013 ADD #7 250050
014 WR 031 220032
015 RD 031 210030
019 DIV 030 260033
020 OUT 02000
021 HLT 090000

Программа в форме таблицы

[править]
Адрес Команда
000 IN
001 WR 30
002 SUB #025
003 JS 010
004 RD 030
005 ADD #3
006 WR 31
007 MUL 31
008 DIV 30
009 JMP 017
010 RD 30
011 MUL 30
012 MUL #2
013 ADD #7
014 WR 031
015 RD 031
019 DIV 030
020 OUT
021 HLT


Последовательность состояния регистров ЭВМ

[править]
Адрес Команда Код команды Коментарии
000 IN 010000 Ввод Х
001 WR 30 220030 Запись в ячейку 30
002 SUB #025 241030 Сравнение с 25
003 JS 010 130012 Переход, если отрицательно (-)
004 RD 030 210030 Чтение х
005 ADD #3 250030 Прибавление 3
006 WR 31 250002 Запись в ячейку 31
007 MUL 31 231007 Умножение на ячейку 31
008 DIV 30 210031 Деление на х
009 JMP 017 220031 Переход в 17 ячейку
010 RD 30 260030 Чтение х
011 MUL 30 100021 Умножение на х
012 MUL #2 410000 Умножение на 2
013 ADD #7 250050 Прибавление 7
014 WR 031 220032 Запись в 31 ячейку
015 RD 031 210030 Чтение из 31 ячейки
019 DIV 030 260033 Деление на х
020 OUT 02000 Вывод х
021 HLT --- ---



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

[править]


Условие

[править]

Максимальное отрицательное число


Код программы

[править]

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



Граф-схема

[править]

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

[править]

Содержание отчета

1. Формулировка варианта задания.

2. Граф-схема алгоритма основной программы.

3. Граф-схема алгоритма подпрограммы.

4. Распределение памяти (размещение в ОЗУ переменных, программы и необходимых констант).

5. Тексты программы и подпрограммы.

6. Значения исходных данных и результата выполнения программы.


1. Составить и отладить программу учебной ЭВМ для нахождения максимального отрицательнеого числа.

Код программы

[править]

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



2.Граф-схема

[править]


3. Граф-схема алгоритма подпрограммы.

[править]


4. Текст подпрограммы.

[править]

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


5. Значения исходных данных и результата выполнения программы

[править]

Начиная с ячейки 40 по 43 присваиваем положительные значения чисел: 000001; 000002; 000003; 000004.

Ячейкам 44, 46 и 49 присвоим отрицательные значения чисел: 100010; 100001; 100009.

Ячейкам 45, 47 и 48 так же присвоим положительное значение: 000005; 000006; 000007.

При выводе результата программы OR = 100010.


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

[править]

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

[править]



Вариант №1

Составить последовательность состояний кэш-памяти размером 4 ячейки при однократном выполнении программы.

Текст программы

[править]

RD #12

WR 10

WR @10

ADD 12

WR R0

SUB 10

PUSH R0


Режимы кеш-памяти

[править]

RD #12

Тег Данные 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

WR10

Тег Данные Z U W
0 000 211012 1 1 0
1 000 000000 0 0 0
2 000 000000 0 0 0
3 000 000000 0 0 0

WR@10

Тег Данные Z U W
0 000 211012 1 1 0
1 001 220010 1 1 0
2 020 000012 1 1 0
3 000 000000 0 0 0

ADD 12

Тег Данные Z U W
0 000 211012 1 0 0
1 012 000012 1 1 0
2 010 000012 1 1 0
3 002 222010 1 0 0

WR R0

Тег Данные Z U W
0 000 211012 1 0 1
1 012 000012 1 1 1
2 010 000012 1 1 1
3 003 230012 1 1 1

SUB 010

Тег Данные Z U W
0 000 211012 1 0 1
1 012 000012 1 1 1
2 004 320000 1 1 1
3 003 230012 1 1 1

PUSH R0

Тег Данные Z U W
0 005 240010 1 0 0
1 010 000012 1 1 0
2 004 320000 1 0 0
3 003 230012 1 0 0


Лабораторная работа №10: Моделирование работы внешних устройств: клавиатура.

[править]

Ввод 2-х произвольных символов с клавиатуры:

[править]

Ввод фамилии с контроллера клавиатуры:

[править]

Коды соответствующие символам:

[править]

Данный результат получен при записи программы в "программа" а вывод - в результате выполнения программы и заноса данный в ОП.



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

[править]

RD #11

OUT 11

RD #0

OUT 13

RD #213

OUT 10

RD #197

OUT 10

RD #203

OUT 10

RD #197

OUT 10

RD #204

OUT 10

RD #197

OUT 10

RD #205

OUT 10

RD #196

OUT 10

RD #200

OUT 10

RD #202

OUT 10

HLT


Вывод, объясняющий особенности работы дисплея.

[править]

При работе с дисплеем учебной ЭВМ мы наблюдаем отображение информации находящейся в оперативной памяти. При вносе в ОП определенные данные, мы получим вывод этих данных на модель дисплея учебной ЭВМ. Каждое значение RD #... обозначает определенный символ, который выводится на дисплей учебной ЭВМ в виде букв, цифр или знаков. OUT задает значение, на какую строку выводить заданное значение.