Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 2340 Лабораторная работа №2 на тему Программирование разветвляющегося процесса

Лабораторная работа №2 на тему Программирование разветвляющегося процесса

« Назад

Лабораторная работа №2 на тему Программирование разветвляющегося процесса

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

Теоретические сведения

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

Пример 2

В качестве примера (несколько упрощенного по сравнению с заданиями лабораторной работы № 2) рассмотрим программу вычисления функции, причем  вводится с устройства ввода IR, результат у выводится на OR. Граф-схема алгоритма решения задачи показана на рисунке 2.1. 

Рисунок 2.1 – Граф-схема алгоритма

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

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

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

Адрес

Команда

Примечание

Мнемокод

Код

000

IN

010000

Ввод x

001

WR 30

220030

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

002

SUB #16

241016

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

003

JS 010

130010

Переход по отрицательной разности

004

RD 30

210030

Вычисления по первой формуле

005

SUB #11

241011

 

006

WR 31

220031

 

007

MUL 31

250031

 

008

SUB #125

241125

 

009

JMP 020

100020

Переход на вывод результата

010

RD 30

210030

Вычисления по второй формуле

011

MUL 30

250030

 

012

WR 31

220031

 

013

RD 30

210030

 

014

MUL #72

251072

 

015

ADD 31

230031

 

016

ADI
106400

430000

 

017

 

106400

 

018

DIVI
100168

460000

 

019

 

100168

 

020

OUT

020000

Вывод результата

021

HLT

090000

Стоп

Задание

  1. Разработать программу вычисления и вывода значения функции, для вводимого из IR значения аргумента . Функции и допустимые пределы изменения аргумента приведены в таблице 2.2, варианты заданий – в таблице 2.3.

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 2.3 Варианты заданий

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

 

 

 

 

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

 

 

 

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. Краткие теоретические сведения;

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

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

  7. Программа по форме таблицы 2.1;

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

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

  10. Вывод.

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

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

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

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

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

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

З повагою ІЦ "KURSOVIKS"!