6
4.Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.
5.Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов, определенных в п. 4, в таблицу (форма
втабл. 2).
6.Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.
|
|
|
|
|
|
Таблица 3 |
|
|
|
Варианты самостоятельных заданий |
|
|
|||
|
|
|
|
|
|
|
|
№ |
IR |
Команда 1 |
Команда |
Команда |
Команда 4 |
Команда 5 |
|
|
|
|
|
|
|
|
|
1 |
00000 |
IN |
MUL #2 |
WR 10 |
WR @10 |
JNS 001 |
|
2 |
X |
RD #17 |
SUB #9 |
WR 16 |
WR @16 |
JNS 001 |
|
3 |
10002 |
IN |
ADD #16 |
WR 8 |
WR @8 |
JS 001 |
|
4 |
X |
RD #2 |
MUL #6 |
WR 11 |
WR @11 |
JNZ 00 |
|
5 |
00001 |
IN |
WR 8 |
DIV #4 |
WR @8 |
JMP 002 |
|
6 |
X |
RD #4 |
WR 11 |
RD @11 |
ADD #330 |
JS 000 |
|
7 |
00000 |
IN |
WR 9 |
RD @9 |
SUB #1 |
JS 001 |
|
8 |
X |
RD 4 |
SUB #8 |
WR 8 |
WR @8 |
JNZ 001 |
|
9 |
10000 |
IN |
ADD #12 |
WR 10 |
WR @10 |
JS 004 |
|
10 |
X |
RD 4 |
ADD #15 |
WR 13 |
WR @13 |
JMP 001 |
|
11 |
00031 |
IN |
SUB |
WR 11 |
WR @11 |
JMP 001 |
|
12 |
X |
RD #988 |
ADD #19 |
WR 9 |
WR @9 |
JNZ 001 |
|
13 |
00001 |
IN |
WR 11 |
ADD 11 |
WR @11 |
JMP 002 |
|
14 |
X |
RD #5 |
MUL #9 |
WR 10 |
WR @10 |
JNZ 001 |
|
|
|
|
|
|
|
|
|
Требования к содержанию отчета
Отчет по лабораторной работе должен содержать следующие разделы:
1.Формулировка варианта задания.
2.Машинные коды команд, соответствующие варианту задания.
3.Результаты выполнения последовательности команд в форме табл. 2.
Контрольные вопросы
1.Из каких основных компонентов состоит ЭВМ, и какие из них представлены в модели?
2.Что такое система команд ЭВМ?
3.Какие классы команд представлены в модели?
7
4.Какие действия выполняют команды передачи управления?
5.Какие способы адресации использованы в модели ЭВМ? В чем отличие между ними?
6.Какие ограничения накладываются на способ представления данных в модели ЭВМ?
7.Какие режимы работы предусмотрены в модели и в чем отличие между
ними?
8.Как записать программу в машинных кодах в память модели ЭВМ?
9.Как просмотреть содержимое регистров процессора и изменить содержимое некоторых регистров?
10.Как просмотреть и, при необходимости, отредактировать содержимое ячейки памяти?
ЛАБОРАТОРНАЯ РАБОТА № 2 Тема: «Программирование разветвляющегося процесса»
Цель работы: изучение системы команд модели ЭВМ, реализация алгоритмов, пути в которых зависят от исходных данных и используют команды условной передачи управления.
Пример
В качестве примера рассмотрим программу вычисления функции:
Причем х вводится с устройства ввода IR, результат у выводится на OR. Граф-схема алгоритма решения задачи показан на рис. 1.
В данной лабораторной работе используются двухсловные команды с непосредственной адресацией, позволяющие оперировать отрицательными числами и числами по модулю, превышающие 999, в качестве непосредственного операнда.
Оценив размер программы примерно в 20—25 команд, отведем для области данных ячейки ОЗУ, начиная с адреса 030. Составленная программа с комментариями представлена в виде табл. 4.
8
Начало
Ввод X
НЕТ X<16 ДА
Y:=(x-11)^2-125 |
Y:=(x^2+72x-6400)/ |
|||
(-168) |
||||
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вывод Y
Конец
Рис. 1. Граф-схема алгоритма решения задачи
Таблица 4
Текст программы примера
Адрес |
Команда |
Примечание |
|
||
|
|
|
|
|
|
|
Мнемокод |
Код |
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
|
4 |
|
000 |
IN |
01 0 000 |
Ввод х |
|
|
|
|
|
|
||
001 |
WR 30 |
22 0 030 |
Размещение х в ОЗУ (030) |
||
002 |
SUB #16 |
24 1 016 |
Сравнение с границей — |
||
|
|
|
|
||
003 |
JS 010 |
13 0 010 |
Переход по отрицательной |
||
004 |
RD 30 |
21 0 030 |
Вычисления по первой |
||
005 |
SUB #11 |
24 1 011 |
|
|
|
006 |
WR 31 |
22 0 031 |
|
|
|
|
|
|
|
|
|
007 |
MUL 31 |
25 0 031 |
|
|
|
|
|
|
|
|
|
008 |
SUB #125 |
24 1 125 |
|
|
|
|
|
|
|
|
|
009 |
JMP 020 |
10 0 020 |
Переход |
на |
вывод |
|
|
|
|
|
|
010 |
RD 30 |
21 0 030 |
Вычисления |
по |
второй |
|
|
|
|
|
|
011 |
MUL 30 |
25 0 030 |
|
|
|
|
|
|
|
|
|
012 |
WR 31 |
22 0 031 |
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
Окончание табл. 4 |
|
1 |
2 |
3 |
|
4 |
|
|
|
|
|
|
|
013 |
RD 30 |
21 0 030 |
|
|
|
|
|
|
|
|
|
014 |
MUL #72 |
25 1 072 |
|
|
|
|
|
|
|
|
|
015 |
ADD 31 |
23 0 031 |
|
|
|
|
|
|
|
|
|
016 |
ADI 106400 |
43 0 000 |
|
|
|
|
|
|
|
|
|
017 |
|
10 6 400 |
|
|
|
|
|
|
|
|
|
018 |
DIVI 100168 |
46 0 000 |
|
|
|
|
|
|
|
|
|
019 |
|
10 0 168 |
|
|
|
|
|
|
|
|
|
020 |
OUT |
02 0 000 |
|
Вывод результатов |
|
|
|
|
|
|
|
021 |
HLT |
09 0 000 |
|
Стоп |
|
|
|
|
|
|
|
Задание на лабораторную работу
Вычислить значение функции согласно варианту из табл. 5. В случае, если x не лежит в заданном интервале, перейти на команду HLT, не выводя результата.
Таблица 5
|
|
|
|
|
|
Варианты самостоятельных заданий |
|
|
|
|
|
|
|
Вариант |
|
|
|
|
|
Функция |
|
|
|
|
|
|
|
1 |
|
2 |
||||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10
Окончание табл. 5
1 |
2 |
10
11
12
13
14
Требования к содержанию отчета
Отчет о лабораторной работе должен содержать следующие разделы:
1.Формулировка варианта задания.
2.Граф-схема алгоритма решения задачи.
3.Размещение данных в ОЗУ.
4.Последовательность состояний регистров ЭВМ при выполнении программы в режиме Шаг для одного значения аргумента.
5.Результаты выполнения программы для нескольких значений аргумента, выбранных самостоятельно.
Контрольные вопросы
1.Как работает механизм косвенной адресации?
2.Какая ячейка будет адресована в команде с косвенной адресацией через ячейку 043, если содержимое этой ячейки равно 102 347?
3.Как работают команды передачи управления?
4. Какие способы отладки программы можно реализовать в модели?