Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 23:33, лабораторная работа
Цель: Исследование команд условной передачи управления.
Задание: Разработать программу вычисления и вывода значения функции
Тема: Программирование разветвляющего процесса.
Цель: Исследование команд условной передачи управления.
Задание: Разработать программу вычисления и вывода значения функции
Выполнение работы:
Граф схема алгоритма решения задачи:
-
Таблица 1. – текст программы
адрес |
команда |
комментарии |
000 |
IN |
Ввод Acc←IR |
001 |
WR 050 |
Запись M(050)←Acc |
002 |
SUB #15 |
Вычитание Acc←Acc-15 (Acc←x-15) |
003 |
JS 014 |
Переход, если отрицательно
if Acc<0 then PC←CR[ADR] |
004 |
RD 050 |
Чтение Acc←M(050) (Acc←x) |
005 |
SUB #91 |
Вычитание Acc←Acc-91 (Acc←x-91) |
006 |
JNS 023 |
Переход, если положительно
if Acc≥0 then PC←CR[ADR] |
007 |
RD 050 |
Чтение Acc←M(050) (Acc←x) |
008 |
MUL 050 |
Умножения Acc←M(050) (Acc←x*x) |
009 |
WR 051 |
Запись M(051)←Acc |
010- 011 |
RDI #8100 |
Чтение Acc←I (Acc←8100) |
012 |
DIV 051 |
Деление Acc←Acc/M(051) (Acc←8100/x2) |
013 |
JMP 022 |
Безусловный переход PC←CR[ADR] |
014 |
RD 050 |
Чтение Acc←M(050) (Acc←x) |
015 |
ADD #20 |
Сложения Acc←Acc+20 (Acc←x+20) |
016 |
JS 023 |
Переход, если отрицательно
if Acc<0 then PC←CR[ADR] |
017 |
RD 050 |
Чтение Acc←M(050) (Acc←x) |
018 |
ADD #3 |
Сложения Acc←Acc+3 (Acc←x+3) |
019 |
WR 052 |
Запись M(052)←Acc |
020 |
MUL 052 |
Умножения Acc←M(052) (Acc←(x+3)* (x+3)) |
021 |
MUL 052 |
Умножения Acc←M(052) (Acc←(x+3)2 * (x+3)) |
022 |
OUT |
Вывод OR ← Acc |
023 |
HLT |
Stop |
Таблица 2. – выполнения программы в пошаговом режиме для
PC |
IR |
Acc |
M(050) |
M(051) |
M(052) |
OR |
000 |
000089 |
000000 |
000000 |
000000 |
000000 |
000000 |
001 |
000089 |
|||||
002 |
000089 |
|||||
003 |
000074 |
|||||
004 |
||||||
005 |
000089 |
|||||
006 |
100002 |
|||||
007 |
||||||
008 |
000089 |
|||||
009 |
007921 |
|||||
010 |
007921 |
|||||
011 |
||||||
012 |
008100 |
|||||
013 |
000001 |
|||||
022 |
||||||
023 |
000001 |
Таблица 3. – выполнения программы в пошаговом режиме для
PC |
IR |
Acc |
M(050) |
M(051) |
M(052) |
OR |
000 |
000001 |
000000 |
000000 |
000000 |
000000 |
000000 |
001 |
000001 |
|||||
002 |
000001 |
|||||
003 |
100014 |
|||||
014 |
||||||
015 |
000001 |
|||||
016 |
000021 |
|||||
017 |
||||||
018 |
000001 |
|||||
019 |
000004 |
|||||
020 |
000004 |
|||||
021 |
000016 |
|||||
022 |
000064 |
|||||
023 |
000064 |
Информация о работе Программирование разветвляющего процесса