- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
- •«Вычислительные машины, системы и сети»
- •Оглавление
- •Требования к оформлению отчетов по лабораторным работам
- •Лабораторная работа №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. Ассемблерные инструкции микропроцессора
4.2 Инструкции сравнения
Полный список инструкций сравнения представлен в таблице 6 приложения А. Рассмотрим некоторые из них.
Пример 4.3:
mov #100, W0 mov #-100, W1 cpsgt W0, W1 goto _if_ nop nop _if_: nop nop |
4.3 Инструкции переходов
В примере 4.3 используется инструкция CPSQT. ЕслиW0большеW1, то следующая инструкция за командойCPSQTпропускается. Таким образом, в данном примере после выполнения инструкции сравнения, пропускается инструкция безусловного перехода и выполняется операцияnop.
Пример 4.4:
mov #100, W0 mov #10, W1 cpslt W0, W1 goto _if_ nop nop _if_: nop nop |
В примере 4.4 используется инструкция CPSLT. ЕслиW0меньшеW1, то следующая инструкция за командойCPSLTпропускается. Таким образом, в данном примере после выполнения инструкции сравнения, выполняется инструкция безусловного перехода на метку _if_,далее выполняется операцияnop.
Пример 4.5:
mov #100, W0 mov #100, W1 cpsne W0, W1 goto _if_ nop nop _if_: nop nop |
В примере 5 используется инструкция CPSNE. ЕслиW0не равноW1, то следующая инструкция за командойCPSNEпропускается. Таким образом, в данном примере после выполнения инструкции сравнения, выполняется инструкция безусловного перехода на метку _if_, далее выполняется операцияnop.
Программа работы и последовательность выполнения
Создайте новый проект. Процессор – dsPIC33FJ256GP710.
Подключите необходимые библиотеки.
Подключите отладчик (симулятор), встроенный в среду MPLABIDE.
Выполните задание.
№ Варианта
|
Задание
|
1 |
Разработать программу, которая находит сумму всех нечётных элементов массива. В массиве 7 элементов. |
2 |
Разработать программу, которая находит сумму элементов массива с чётными индексами. В массиве 9 элементов. |
3 |
Разработать программу, которая складывает чётные и вычитает все нечётные элементы массива. В массиве 8 элементов. |
4 |
Разработать программу, которая находит сумму всех элементов, которые делятся на три без остатка. В массиве 12 элементов. |
5 |
Разработать программу, которая находит сумму элементов массива с нечётными индексами. В массиве 11 элементов. |
6 |
Разработать программу, для вычисления суммы тех элементов массива, значения которых не меньше двенадцати. В массиве 7 элементов. |
7 |
Разработать программу, которая находит сумму всех чётных элементов массива. В массиве 10 элементов. |
8 |
Разработать программу для вычисления суммы тех элементов массива, значения которых не больше 47. В массиве 10 элементов. |
9 |
Разработать программу, которая складывает элементы массива с чётными индексами и вычитает все элементы с нечётными индексами. В массиве 12 элементов. |
10 |
Разработать программу, которая складывает нечётные и вычитает все чётные элементы массива. В массиве 7 элементов. |
11 |
Разработать программу для вычисления суммы элементов массива, значения которых больше 10 и меньше 78. В массиве 9 элементов. |
12 |
Разработать программу, которая суммирует каждый третий элемент массива. В массиве 16 элементов. |
13 |
Разработать программу, которая располагает по возрастанию элементы массива. В массиве 20 элементов. |
14 |
Разработать программу, которая располагает по убыванию элементы массива. В массиве 20 элементов. |
15 |
Разработать программу, которая суммирует каждый четвертый элемент массива. В массиве 16 элементов |
Открыть окно Watchи внести в него все регистры, которые используются в коде. В пошаговом режиме отладить код, контролируя изменение регистров в окнеWatch. После отладки программы, показать код и результаты работы программы преподавателю.
Создать блок схему программы.
Подготовить отчет.