- •Запись и выполнение простых программ
- •Задания для домашней подготовки
- •Задания к лабораторной работе
- •Организация условных переходов, подпрограмма и стек
- •Задания для домашней подготовки
- •Задания к лабораторной работе
- •Выполнение арифметических операций. Обмен данными с eeprom.
- •Задания для домашней подготовки
- •Задания к лабораторной работе
- •Организация работы с внешними устройствами. Порты ввода/вывода.
- •Регистр данных порта b - portb
- •Регистр направления данных порта b - ddrb
- •Выводы порта b - pinb
- •Задания для домашней подготовки
- •Задания к лабораторной работе
Задания для домашней подготовки
Изучите программы П-3.1 – П-3.5. Рассмотрите результат выполнения каждой программы на конкретных числовых примерах.
Определите в битах максимальный размер чисел, которые может вычитать программа П-3.2. Измените программу так, чтобы максимальный размер чисел увеличить вдвое.
Проведите оценку времени выполнения подпрограмм умножения и деления 8-разрядных чисел.
Составьте программу (П.3-8) вычисления корня 8-разрядного числа с точностью до целого, на основе алгоритма, приведенного в разделе «Вычисление специальных функций».
Измените программу П-3.5 так, чтобы таблицу квадратов можно было разместить в энергонезависимой памяти с адреса 0x20.
Задания к лабораторной работе
Задание 1. Исследовать программу сложения однобайтных чисел с получением двухбайтного результата (П-3.1).
Порядок выполнения задания:
Ввести программу П-3.1.
Записать 5 чисел для сложения в оперативную память с адреса 60h.
Осуществить пуск программы. Проверить результат выполнения программы путем исследования чисел, записанных в регистрах R1:R0.
Исследовать процесс выполнения программы по командам. После выполнения каждой команды проанализировать содержание всех программно-доступных регистров, а также регистра статуса.
Изменить программу таким образом, чтобы массив чисел, подготовленных для суммирования, располагался с адреса A0h, а также изменить указатель количества слагаемых.
Проверьте результаты выполнения программы на домашних примерах.
Задание 2. Исследовать программу вычитания двух чисел, имеющих одинаковую длину(П-3.2).
Порядок выполнения задания:
Ввести программу П-3.2.
Записать 4 байта вычитаемого числа в оперативную память с адреса 60h; записать 4 байта уменьшаемого числа с адреса 80h. Выбрать при этом уменьшаемое большим вычитаемого.
Осуществить пуск программы в режиме отладки.
Исследовать процесс выполнения программы по командам, а также результат по числу, записанному по адресу, где находилось вычитаемое.
Ввести и исследовать выполнение измененной программы в соответствии с п.2 домашнего задания. Для проверки используйте числа максимальной длины.
Протестируйте программу для случая когда вычитаемое больше уменьшаемого.
Задание 3. Исследовать программу умножения двух 8-разрядных чисел с получением 16-разрядного результата (П-3.3).
Порядок выполнения задания:
Ввести программу П-3.3.
Исследовать процесс выполнения программы по командам. Проанализировать результат выполнения по состоянию регистров R1:R0.
Изменить входные параметры подпрограммы умножения (множитель и множимое) в соответствии с примерами домашнего задания.
От каких параметров зависит скорость вычисления результата? Как можно теоретически повысить скорость работы данного алгоритма?
Задание 4. Исследовать программу деления двух восьмиразрядных чисел (П-3.4)
Порядок выполнения задания:
Ввести программу П-3.4.
Осуществить пуск программы и исследовать процесс выполнения, с проверкой состояния используемых регистров, флагов, а также состояния стека.
Сравните состояние регистров R2,R3,R31 до и после вызова подпрограммыDIVB.
Проверить результат выполнения программы по числам в регистрах R0 иR1.
Задание 5. Исследовать программу вычисления квадрата чисел с помощью таблицы (П-3.5).
Порядок выполнения задания:
Ввести программу П-3.5.
Заполнить память, начиная с адреса 60hквадратами чисел от 0 до 10, в соответствии с теоретическим материалом.
Осуществить пуск программы и исследовать процесс выполнения, с проверкой состояния используемых регистров, флагов, а также состояния стека.
Проверить результат выполнения программы по числу в регистре R0.
Видоизменить программу в соответствии с п.5 заданий для домашней подготовки.
Протестируйте измененную программу для каждого допустимого значения входного параметра(R16) подпрограммыSQR.
Задание 6. Исследовать программу вычисления корня 8-разрядного числа с точностью до целого(П-3-8).
Порядок выполнения задания:
Ввести программу П-3-8, разработанную при домашней подготовке.
Исследовать выполнение программы по командам.
Проверить результат выполнения программы на числах: 00h, 01h, 03h, 09h, 0Fh, 10h, 3Fh, 7Fh, 80h,F0h,FFh.
Содержание отчета
Отчет должен содержать:
Титульный лист.
Видоизмененную программу П-3.2, которая повышает допустимую разрядность исходных чисел вдвое.
Разработанную в процессе домашней подготовки программу П-3.8, описание алгоритма работы программы в виде блок-схемы.
Измененную программу П-3.5, работающую с EEPROM.
Результаты исследований программ П-3.1 – П-3.8.
Перечень арифметических команд МК, используемых в данной лабораторной работе.
Литература
Лабораторная работа № 4