Выполнение лабораторной работы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Для решения с помощью ЭВМ некоторой задачи должна быть разработана программа. Программа на языке ЭВМ представляет собой последовательность команд. Код каждой команды определяет выполняемую операцию, тип адресации и адрес. Выполнение программы, записанной в памяти ЭВМ, осу­ществляется последовательно по командам в порядке возрастания адресов команд или в порядке, определяемом командами передачи управления.

Для того чтобы получить результат выполнения программы, пользователь должен:

· ввести программу в память ЭВМ;

· определить, если это необходимо, содержимое ячеек ОЗУ и РОН, содер­жащих исходные данные, а также регистров IR и ВR;

· установить в РС стартовый адрес программы;

· перевести модель в режим Работа.

Каждое из этих действий выполняется посредством интерфейса модели, опи­санного в приложении Ввод программы может осуществляться как в машинных кодах непосредственно в память модели, так и в мнемокодах в окно Текст программыс последующим ассемблированием.

Цель настоящей лабораторной работы — знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации. Для этого необходимо ввести в память ЭВМ и выполнить в режиме Шагнекоторую последовательность команд (опреде­ленную вариантом задания) и зафиксировать все изменения на уровне про­граммно-доступных объектов ЭВМ, происходящие при выполнении этих команд.

Команды в память учебной ЭВМ вводятся в виде шестиразрядных десятич­ных чисел

В настоящей лабораторной работе будем программировать ЭВМ в машинных кодах.

Пример 1

Дана последовательность мнемокодов, которую необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг и зафикси­ровать изменение состояний программно-доступных объектов ЭВМ (табл. 1).

Таблица 1.Команды и коды

 

Последовательность Значения
Команды RD#20 WR30 ADD #5 WR@30 JNZ 002
Коды 21 1 020 22 0 030 23 1 005

 

Введем полученные коды последовательно в ячейки ОЗУ, начиная с адреса 000. Выполняя команды в режиме Шаг, будем фиксировать изменения про­граммно-доступных объектов (в данном случае это Асc, РС и ячейки ОЗУ 020 и 030) в табл.2.

Таблица 2.Содержимое регистров

 

РС Асе М(30) М(20) РС Асе М(30) М(20)
   
         
       
       

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

1.Ознакомиться с архитектурой ЭВМ

2. Записать в ОЗУ "программу", состоящую из пяти команд — варианты задания выбрать из табл. 3. Команды разместить в последовательных ячейках памяти.

3. При необходимости установить начальное значение в устройство ввода IR.

4. Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.

5. Выполнить в режиме Шагвведенную последовательность команд, фиксируя изменения значений объектов, определенных в таблице (см.
форму табл.2).

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

 

Задание 2

 

Цель работы

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

 

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

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

Пример 1

В качестве примера рассмотрим программу вычисления функции

(х-11)2-125, при х≥6,

х2 +72*-6400

У , при x<16,

-168

 

причем х вводится с устройства ввода IR, результат у выводится на OR. Граф-схема алгоритма решения задачи показана на рис. 1.

 


Рис. 1.Граф-схема алгоритма

 

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

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

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

 

Адрес Команда Примечание
  Мнемокод Код  
IN 01 0 000 Ввод х
WR 30 22 0 030 Размещение х в ОЗУ(ОЗО)
SUB #16 24 1 016 Сравнение с границей — (х — 16)
JS 010 13 0 010 Переход по отрицательной разности
RD 30 21 0 030 Вычисления по первой формуле
SUB #11 24 1 011  
WR 31 22 0 031  
MUL 31 25 0 03 1  
SUB #125 24 1 125  
JMP 020 10 0 020 Переход на вывод результата
RD 30 21 0 030 Вычисления по второй формуле
MUL 30 25 0 030  
WR 31 22 0 031  
RD 30 21 0 030  
MUL #72 25 1 072  
ADD 31 23 0 031  
ADI 10640000 43 0 000  
   
DIVI 46 0 000  
   
ОUT 02 0 000 Вывод результата
HLT 09 0 000 Стоп

Задание 1

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

y = |Fi-(x), при х ≥ а,

Fj-(x), при х < а,

 

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

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

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

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

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

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

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

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

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

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

пп. 5, а — 5, в;

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

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

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

Таблица 2.Содержимое регистров

 

РС Асс М(30) М(20) РС Асе М(30) М(20)
   
         
       
       

Таблица 3.Функции

 

K Fk(x) k Fk(x)
x + 17; 2х12 1 ( x + 2)² ; 50≤x≤75
(х + 3)2 ; 1≤x≤50 x 6. 2x² +17; 1≤x≤30 х
1000 ; 50≤x≤15 х + 10 +2x; 50≤x≤50 х
4 (х + 3);³ ; 20≤x≤20   8100 ; 1≤x≤90 х²

Таблица 4.Варианты задания 1

 

Номер варианта i j а Номер варианта i j а
-20

 

Содержание отчета

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

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

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

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

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

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

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

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

1. Что такое система команд ЭВМ?

2. Какие способы адресации использованы в модели ЭВМ? В чем отличие между ними?

3. Как просмотреть и, при необходимости, отредактировать содержимое ячейки памяти?

4. Какие способы адресации операндов применяются в командах ЭВМ?

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

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

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

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

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

 

 

Лабораторная работа 4




Дата: 2016-10-02, просмотров: 876.