Разработка и отладка программ

Для микропроцессора КР 580 ИК80А

Цель работы: изучение системы команд микропроцессора КР 580 ИК80А для написания простейших программ пользователя.

Оборудование: учебный микропроцессорный комплекс (УМК).

Написание программ для микропроцессора КР 580 ИК80А

Написание программы для микропроцессора КР 580 ИК80А, входящего в состав учебного микропроцессорного комплекса, заключается в написании последовательности кодов команд, в соответствии с заданным алгоритмом.

Основную часть команд, используемых программистом при написании программ, составляют арифметические и логические команды. В полном объеме эти команды (мнемоника на ассемблере и машинные коды) представлены в приложении 1.

Команды, используемые для написания программ, могут состоять из одного, двух или трех байт. В зависимости от объема памяти отводимого для той или иной команды соответственно требуется от одного до трех ячеек оперативной памяти. В целях сокращения формата команд широко используется такой способ адресации как подразумеваемый операнд или адрес, т.е. когда операнд или его адрес находятся в каком-либо заранее определенном месте. В арифметических командах для этих целей используется регистр A, называемый «аккумулятором». При выполнении арифметических операций один из операндов, как правило, помещается в «аккумулятор», а второй может находиться как в любом регистре, так и в оперативной памяти. Результат арифметической операции также записывается в «аккумулятор».

При обработке цепочки данных или массивов довольно удобно применять косвенную регистровую адресацию, когда значение адреса операнда помещается в пару регистров H и L. Соответственно в регистр H помещается старшая часть адреса, а в регистр L младшая часть адреса. Далее для перемещения по адресному пространству достаточно изменить значение адреса, находящегося в паре регистров H и L. Для этих целей используются отдельные команды, позволяющие увеличить или уменьшить содержимое регистров H и L на единицу.

Наряду с реализацией линейных алгоритмов возникает необходимость написания программ с разветвляющейся и циклической структурой. Для этих целей арифметико-логическое устройство микропроцессора формирует ряд значений – признаков результата выполнения отдельных операций. Все эти значения объединены и хранятся в специальном регистре – регистре флагов. Каждый отдельный бит регистра флагов информирует о наступлении какого-либо события. Используя значения отдельных бит регистра флагов может осуществляется переход на другие ветви алгоритма, используя соответствующие команды условного перехода.

Завершающей командой каждой программы должна быть команда HLT (стоп) или NOT (нет операций), сигнализирующей микропроцессору о завершении программы.

Порядок выполнения работы

1. Изучить арифметические и логические команды микропроцессора КР 580 ИК80А.

2. Разработать программу сложения трех произвольных чисел и записи результата в память. Первое число вводится с клавиатуры в память УМК, второе записывается непосредственной адресацией в один из регистров, третье записывается непосредственной адресацией в одну из ячеек оперативной памяти.

3. Разработать программу, реализующую следующие операции с записью результата в память:

№ варианта Выражение
(A+B-C)ÚD
(A+B+C)ÚD
(A-B+C)ÚD
(A-B-C)ÚD
(A+B-C)ÙD
A+(B+C)ÙD
(A-B)+CÙD
(A-B-C)ÙD
A+B-(CÚD)
A+B-(CÙD)

4. Разработать программу с циклической структурой сложения двух произвольных чисел (число итераций цикла - 10) , с занесением конечного и промежуточного результата в память.

5. Разработать программу умножения двух целых положительных чисел с записью результата в память.

6. Представить программы на проверку преподавателю.

7. Ввести программы по отдельности в УМК и запустить на выполнение.

8. Посмотреть ход выполнения программы в пошаговом режиме с промежуточной индикацией.

9. Представить результаты выполненной работы преподавателю.

10. Выключить УМК.

11. Оформить отчет по результатам работы.

Отчет должен содержать: название и цель работы; краткие теоретические сведения о программировании микропроцессора КР 580 ИК80А; результаты работы, оформленные в виде таблицы; ответы на контрольные вопросы.

Таблица 7

Таблица оформления результатов лабораторной работы



Адрес ячейки памяти Команда на машинном языке Комментарий
     
     

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

1. Каким будет содержание пары регистров с данными 0001 0000 0000 1111 после инкрементирования?

2. Каким будет содержимое регистра с данными 0100 1011 после декрементирования?

3. Как влияет выполнение команды CPI на состояние флага нуля?

4. Что будет результатом операции A or A?

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

Наши рекомендации