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

Автор работы: Пользователь скрыл имя, 01 Февраля 2013 в 16:53, лабораторная работа

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

Цель работы: научиться использовать команды условной передачи управления для реализации алгоритмов, пути в которых зависят от исходных данных.
Пояснения к работе
В качестве примера (несколько упрощенного по сравнению с заданиями лабораторной работы) рассмотрим программу вычисления функции:

причем х вводится с устройства ввода IR, результат выводится на OR.

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

Лабораторная работа2.doc

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

Лабораторная работа № 2.

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

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

Пояснения к работе

В качестве примера (несколько упрощенного по сравнению с заданиями лабораторной работы) рассмотрим программу вычисления функции:

причем х вводится с устройства ввода IR, результат выводится на OR.

Блок-схема алгоритма решения  задачи показана на рис.1.

 

Рисунок 1. Блок-схема  алгоритма

В данной лабораторной работе используются двухсловные команды  с непосредственной адресацией, позволяющие  оперировать отрицательными числами  и числами по модулю, превышающие 999, в качестве непосредственного операнда.

Оценив размер программы примерно в 20–25 команд, отведем для области данных ячейки ОЗУ, начиная с адреса 030. Составленная программа с комментариями представлена в виде табл. 4.

Таблица 4. Пример программы

Адрес

Команда

Примечание

Мнемокод

Код

000

IN

01 0000

Ввод х

001

WR  30

22 0 030

Размещение х в ОЗУ(ОЗО)

002

SUB  #16

24 1 016

Сравнение с границей — (х--16)

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

 

 

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

Стоп


 

 

Задание

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

для вводимого из IR значения аргумента х. Функции и допустимые пределы изменения аргумента приведены в табл. 9.5, варианты заданий – в табл. 9.6.

2. Исходя из допустимых пределов  изменения аргумента функций (табл. 5) и значения параметра а для своего варианта задания (табл. 6) выделить на числовой оси Ох  области, в которых функция  у  вычисляется по представленной в п. 1 формуле, и недопустимые значения аргумента. На недопустимых значениях аргумента программа должна выдавать на OR максимальное отрицательное число: 199 999.

3. Ввести текст программы  в окно Текст программы, при этом возможен набор и редактирование текста непосредственно в окне Текст программы или загрузка текста из файла, подготовленного в другом редакторе.

4. Ассемблировать текст программы, при необходимости исправить синтаксические ошибки.

5.  Отладить программу.  Для этого:

а) записать в IR значение аргумента х>а (в области допустимых значений);

б) записать в PC стартовый адрес программы;

в)  проверить правильность выполнения программы (т. е. правильность результата и адреса останова) в автоматическом режиме. В случае наличия ошибки выполнить пп. 5, г и 5, д; иначе перейти к п. 5, е;

г)  записать в PC стартовый адрес программы;

д)  наблюдая выполнение программы в режиме Шаг, найти команду, являющуюся причиной ошибки; исправить ее; выполнить пп. 5, а – 5, в;

е) записать в IR значение аргумента х<а (в области допустимых значений); выполнить пп. 5, б и 5, в;

ж) записать в IR недопустимое значение аргумента х и выполнить пп. 5, б и 5, в.

6. Для выбранного допустимого значения аргумента х: наблюдать выполнение отлаженной программы в режиме Шаг и записать в форме табл.2 содержимое регистров ЭВМ перед выполнением каждой команды. Таблица 5. Функции

 

k

k

1

5

2

6

3

7

4

8


 

Номер варианта

i

j

a

Номер варианта

i

j

а

1

2

1

12

8

8

6

30

2

4

3

–20

9

2

6

25

3

8

4

15

10

5

7

50

4

6

1

12

11

2

4

18

5

5

2

50

12

8

1

12

6

7

3

15

13

7

6

25

7

6

2

11

14

1

4

5


 

Отчет о лабораторной работе должен содержать следующие  разделы:

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

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

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

4.  Программа в форме табл.4.

5. Последовательность состояний  регистров ЭВМ при выполнении программы в режиме Шаг для одного значения аргумента.

6. Результаты выполнения программы  для нескольких значений аргумента,  выбранных самостоятельно.

 

Контрольные вопросы

1. Как работает механизм  косвенной адресации?

2. Какая ячейка будет адресована  в команде с косвенной адресацией через ячейку 043, если содержимое этой ячейки равно 102 347?

3. Как работают команды передачи  управления?

4. Что входит в понятие «отладка  программы»?

5. Какие способы отладки программы  можно реализовать в модели?


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