- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
- •«Вычислительные машины, системы и сети»
- •Оглавление
- •Требования к оформлению отчетов по лабораторным работам
- •Лабораторная работа №1. Изучение программной среды mpladide. Введение в язык ассемблер.
- •Цель работы
- •Содержание работы
- •1.1 Создание нового проекта
- •1.2 Подключение библиотек и упаковочных файлов процессора
- •1.3 Создание файла с исполняемым кодом
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •2.3 Битовые операции
- •2.4 Логические операции
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •3.3 Инструкция вычитания
- •Синтаксис:
- •3.4 Инструкция деления
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •4.2 Инструкции сравнения
- •4.3 Инструкции переходов
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •Лабораторная работа №5. Работа со стеком.
- •Цель работы
- •Содержание работы
- •5.1 Помещение в стек
- •Примеры помещения в стек
- •5.2 Извлечение из стека
- •Примеры извлечения из стека
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •6.2 Расчет зависимости.
- •Данную программу можно записать более компактно:
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •7.2 Инструкции сдвига
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •8.2 Сортировка обменом (метод пузырька)
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •9.2 Поиск с предварительным анализом
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •Контрольные вопросы
- •11.2 Rot13.
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •12.2 Вычисление crc
- •Прямой табличный алгоритм crc16
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •Лабораторная работа №13. Синтез сигналов специальной формы
- •Цель работы
- •Содержание работы
- •Программа работы и последовательность выполнения
- •Контрольные вопросы
- •Список литературы
- •Приложение 1. Ассемблерные инструкции микропроцессора
Программа работы и последовательность выполнения
Создайте новый проект. Процессор – dsPIC33FJ256GP710.
Подключите необходимые библиотеки и перепишите программу, приведенную выше. Разберитесь в ее работе.
Необходимо подключить отладчик (симулятор), встроенный в среду MPLABIDE. Выберете в меню <Debugger\SelectTool\MPLABSIM>.
Напишите программу, выполняющую заданную арифметическую функцию, с использованием минимального количества регистров.
№ Варианта
|
Арифметическая функция
|
1 |
e = ( a + 1 ) * ( b – 100 ) / (c + 1000)* (d – 1000) |
2 |
e = ( a + b ) * ( c – b ) / (c + d) |
3 |
e = ( a - b ) * ( c / d) + 123456 |
4 |
e = ( 100 - a ) / ( 100 - b ) * (c + d) – 4321 |
5 |
e = ( a + b - c ) * d / ( b – a ) + 9876 |
6 |
e = ( a * b + c ) * ( b – 100 ) / d |
7 |
e = a * ( b - c ) / ( c – d ) + 12345 |
8 |
e = a* b + b / c – c * d – 13579 |
9 |
e = ( a * b + 100 ) / ( c + d – 100 ) |
10 |
e = ( a + 1000 ) * c + ( b – 1000 ) / d |
11 |
e = ( a - d ) * ( b – c ) / d + 2468 |
12 |
e = a *d * ( b + 1000 ) / c – 1357 |
13 |
e = a / b + c / d – 1000 * a – 5431 * b |
14 |
e = ( a + c - d ) * ( a - c + d ) / b |
15 |
e = ( a + c * d ) * ( a – c* d ) / b |
Открыть окно Watchи внести в него все регистры, которые используются в коде. В пошаговом режиме отладить код, контролируя изменение регистров в окнеWatch. После отладки программы, показать код и результаты работы программы преподавателю.
Создать блок схему программы.
Контрольные вопросы
Для чего нужен стек?
Назовите основные инструкции работы со стеком?
Назовите количество тактов, за которые выполняются операции работы со стеком.
Лабораторная работа №6. Расчет рекуррентной зависимости
Цель работы
Приобрести практические навыки работы с арифметическими командами, командами передачи управления.
Содержание работы
6.1 Понятие рекуррентной зависимости.
Основным назначением цифровых процессоров является выполнение задач по обработке информации, в частности реализация цифровой фильтрации сигнала. Цифровые фильтры реализуются и выполняются в микропроцессоре по разностному уравнению. В данной работе предложены различные рекуррентные зависимости, которые являются разновидностью разностных уравнений. Основными инструкциями, которыми нужно будет пользоваться, являются: циклы, операции перемещения, арифметические инструкции. Они были рассмотрены в предыдущих лабораторных работах.
6.2 Расчет зависимости.
Рассмотрим пример программы вычисляющий следующую рекуррентную зависимость:
a(k) = a(k-1) + 2*a(k-2) + a(k-3), k = 1, 2, 3, …
Здесь a(k)значение последовательности наk шаге,a(k-1) - на предыдущем шаге выполнения программы и т.д.
Код программы: .include "p33FJ256GP710.inc"
; Определим адреса последовательности a[k] ; a[k] - 0x800 ; a[k-1] - 0x802 ; a[k-2] - 0x804 ; a[k-3] - 0x806
.equ a_begin, 0x800 .equ a_end, 0x806
.text .global __reset
__reset:
; Определим назначение рабочих регистры ; W2 = a(k) ; W3 = a(k-1) ; W4 = a(k-2) ; W5 = a(k-3) ; W6 - указатель на массив a[k]
mov #a_begin, W6
; Инициализация последовательности mov #0, W0 mov W0, [W6++] ; a[k] = 0 mov #7, W0 mov W0, [W6++] ; a[k-1] = 7 mov #3, W0 mov W0, [W6++] ; a[k-2] = 3 mov #1, W0 mov W0, [W6++] ; a[k-3] = 1
; Определяем количество итераций работы алгоритма do #15, lab_B
; Чтения из памяти mov #a_begin, W6 mov [++W6], W3 mov [++W6], W4 mov [++W6], W5
; Вычисление рекуррентной зависимости mul.su W4, #2, W0 add W3, W0, W1 add W1, W5, W2
; Запись нового значения в память mov W2, a_begin
; Сдвиг информации в памяти mov #a_end, W6 do #2, lab_A mov [--W6], [++W6] dec2 W6, W6 lab_A: nop lab_B: nop
.end |