
LR2_PRO-132B_Ikhsanova_Elina
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное
образовательное учреждение высшего образования
«Уфимский государственный авиационный технический университет»
Факультет информатики и робототехники
Кафедра ТК
Отчет по лабораторной работе №2 по дисциплине «Архитектура ЭВМ»
на тему: «Программирование разветвляющегося процесса»
Выполнил:
Студент группы ПРО-132Б Э. А. Ихсанова
Проверил: А.С.Давлиева
Уфа-2022
Оглавление
1. Цель работы 3
2. Ход работы 4
3. Вывод 13
4. Контрольные вопросы 14
Цель работы
Разработать программу вычисления и вывода значения функции для вводимого из IR значения аргумента x.
Ход работы
Формулировка варианта задания
Работа выполнялась по 8 варианту:
Номер варианта |
i |
j |
a |
4 |
6 |
1 |
12 |
Граф-схема алгоритма решения задачи

Начало


Ввод х

X<12


нет да





Ввод у

Конец
Размещение данных в ОЗУ
Программа в формате таблицы
Адрес |
Команда |
Примечание |
|
Мнемокод |
Код |
||
000 |
IN |
010000 |
Ввод x |
001 |
WR 30 |
220030 |
Размещение x в ОЗУ(ОЗО) |
002 |
SUB #12 |
241012 |
Сравнение с границей — (x -12) |
003 |
JS 010 |
130010 |
Переход по отрицательной разности |
004 |
RD 30 |
210030 |
Вычисления по первой формуле |
005 |
MUL 30 |
250030 |
|
006 |
MUL #2 |
251002 |
|
007 |
ADD #7 |
231007 |
|
008 |
DIV 30 |
260030 |
|
009 |
JMP 016 |
100016 |
|
010 |
RD 30 |
210030 |
Переход на вывод результата |
011 |
SUB #1 |
241001 |
Вычисления по второй формуле |
012 |
WR 31 |
220031 |
|
013 |
RD 30 |
210030 |
|
014 |
ADD #17 |
231017 |
|
015 |
DIV 31 |
260031 |
|
016 |
OUT |
020000 |
Вывод x |
017 |
HLT |
090000 |
|
Последовательность состояний регистров ЭВМ при выполнении программы в режиме Шаг для одного значения аргумента Х=15
Ш
аг
0
Шаг 1
Шаг 2
Ш
аг
3
Шаг 4
Шаг 5
Ш
аг
6
Шаг 7
Шаг 8
Ш
аг
9
Ш
аг
10
Ш
аг
11
Результаты выполнения программы для нескольких значений аргумента, выбранных самостоятельно
Х = 5
Х = 25
Вывод
В ходе лабораторной работы была разработана программа для вычисления и последующего вывода числового значения функции в OR для вводимого из IR значения аргумента Х, использующая двухсловные команды с непосредственной адресацией. Были изучены новые команды и способы написания программы.
Контрольные вопросы
Как работает механизм косвенной адресации?
При этом способе адресации в качестве исполнительного адреса используется содержимое ячейки памяти, задаваемой в команде прямым адресом. Таким образом, косвенная адресация может быть определена как «адресация адреса». На косвенную адресацию указывает либо код операции команды, либо значение специального разряда (признака адресации). Цифра «0» или «1» в нем указывает, является адресная часть команды прямым адресом или косвенным.
Какая ячейка будет адресована в команде с косвенной адресацией через ячейку 043, если содержимое этой ячейки равно 102 347?
102347
Как работают команды передачи управления?
Команды передачи управления изменяют содержимое регистров cs и eip/ip, в результате чего микропроцессор выбирает для выполнения не следующую по порядку команду программы, а команду в некотором другом участке программы.
Что входит в понятие "отладка программы"?
Отладка программы — это специальный этап в разработке программы, состоящий в выявлении и устранении программных ошибок, факт существования которых уже установлен. Программные ошибки, как правило, делятся на три вида:
Синтаксическая ошибка. Неправильное употребление синтаксических конструкций.
Семантическая ошибка. Нарушение семантики той или иной конструкции, например, передача функции параметров, не соответствующих ее аргументам.
Логическая ошибка. Нарушение логики программы, приводящее к неверному результату. Это наиболее трудный для "отлова" тип ошибки, ибо подобного рода ошибки, как правило, кроются в алгоритмах и требуют тщательного анализа и всестороннего тестирования.
Поскольку безошибочное программирование почти невозможно, а ручная отладка немыслима, необходимы средства поиска ошибки (иногда это не так просто) и ее исправления.
Какие способы отладки программы можно реализовать в модели?
Для отладки программ обычно применяют три способа:
Пошаговая отладка программ с заходом в подпрограммы;
Пошаговая отладка программ с выполнением подпрограммы как одного оператора;
Выполнение программы до точки останова.
Пошаговая отладка программ заключается в том, что выполняется один оператор программы и, затем контролируются те переменные, на которые должен был воздействовать данный оператор.
Если в программе имеются уже отлаженные подпрограммы, то подпрограмму можно рассматривать, как один оператор программы и воспользоваться вторым способом отладки программ.
Если в программе существует достаточно большой участок программы, уже отлаженный ранее, то его можно выполнить, не контролируя переменные, на которые он воздействует. Использование точек останова позволяет пропускать уже отлаженную часть программы. Точка останова устанавливается в местах, где необходимо проверить содержимое переменных или просто проконтролировать, передаётся ли управление данному оператору.
Практически во всех отладчиках поддерживается это свойство (а также выполнение программы до курсора и выход из подпрограммы). Затем отладка программы продолжается в пошаговом режиме с контролем локальных и глобальных переменных, а также внутренних регистров микроконтроллера и напряжений на выводах этой микросхемы.