Программирование разветвляющего процесса

Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 23:33, лабораторная работа

Краткое описание

Цель: Исследование команд условной передачи управления.
Задание: Разработать программу вычисления и вывода значения функции

Прикрепленные файлы: 1 файл

lr3v3.docx

— 23.32 Кб (Скачать документ)

Тема: Программирование разветвляющего процесса.

Цель: Исследование команд условной передачи управления.

 

Задание: Разработать программу вычисления  и вывода значения функции

 

 

Выполнение работы:

Граф схема алгоритма  решения задачи:


 

 

 

        •                                            +

 

 

-                                  +                                                +                                    -

 

 

 

 

 

 

 

 

Таблица 1. – текст программы

адрес

команда

комментарии

000

IN

Ввод Acc←IR                              (Acc←x)

001

WR 050

Запись M(050)←Acc                 (M(050)←x)

002

SUB #15

Вычитание Acc←Acc-15          (Acc←x-15)

003

JS 014

Переход, если отрицательно if Acc<0 then PC←CR[ADR]                       (PC←014)

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]                       (PC←023)

007

RD 050

Чтение Acc←M(050)           (Acc←x)

008

MUL 050

Умножения Acc←M(050)      (Acc←x*x)    

009

WR 051

Запись M(051)←Acc                 (M(051)←x2)

010-

011

RDI #8100

Чтение Acc←I           (Acc←8100)

012

DIV 051

Деление Acc←Acc/M(051)     (Acc←8100/x2)

013

JMP 022

Безусловный переход

 PC←CR[ADR]                                           (PC←022)

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]                       (PC←023)

017

RD 050

Чтение Acc←M(050)           (Acc←x)

018

ADD #3

Сложения Acc←Acc+3          (Acc←x+3)

019

WR 052

Запись M(052)←Acc                 (M(052)←x+3)

020

MUL 052

Умножения Acc←M(052)      (Acc←(x+3)* (x+3))    

021

MUL 052

Умножения Acc←M(052)      (Acc←(x+3)* (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



Информация о работе Программирование разветвляющего процесса