Арифметико-логические операции
Приобретение навыков программирования арифметико-логических операций командами микроконтроллера. Характеристика блок-схемы алгоритма и исходного кода программы. Влияние арифметических и логических указаний командной строки МК Intel 8051 на флаги.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 30.11.2016 |
Размер файла | 102,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лабораторная работа
По дисциплине «Микропроцессоры и Микропроцессорные системы»
По теме: Арифметико-логические операции
Задание по лабораторной работе.
Пусть в памяти программ, начиная с ячейки ADR2 расположена таблица кодов длиной N (Xi, i=1,2,...,N, формат - байт)
Записать на языке ассемблера МК51 программу, которая выполняет вычисление заданной функции F над этими кодами. Результат вычисления разместить в регистре B. Программа должна начинаться с ячейки ADR1. Варианты заданий приведены в таблице 4.
Задание по лабораторной работе:
Таблица 1. Таблица вариантов заданий
Номер |
ADR1 |
ADR2 |
N |
Функция F |
|
13 |
2D8 |
3A1 |
7 |
Сумма(Xi)/\X3 |
1.Блок-схема алгоритма программы;
2. Исходный код программы:
org 0
jmp Start
org 02D8h
org 03A1h;
Start:
mov R2,#07h ; задаем счетчик циклов
mov R3,#0 ; задаем начальное значение суммы
mov DPTR,#2D8h ; задаем базу массива
mov R4,#0 ; задаем индекс элемента
cycle:
mov A,R0 ; заносим в А индекс элемента массива
movc A,@A+DPTR ; извлекаем в А текущий элемент массива
add A,R3 ; текущая сумма плюс текущий элемент массива
mov R3,A ; новая сумма
djnz R2, cycle ; если не все элементы процесс повтори
mov A,R3 ; в А заносим сумму
mov B,#07h ; в В число элементов
div AB ; вычисляем значение функции F
mov B,A ; пересылка значения функции F в регистр В
jmp $ ; остановка программы
end
Контрольные вопросы:
1. Краткая характеристика арифметических команд.
В данную группу входят 24 команды, краткое описание которых приведено в таблице. Из нее следует, что микроЭВМ выполняет достаточно широкий набор команд для организации обработки целочисленных данных, включая команды умножения и деления.
2. Краткая характеристика логических команд
В этой группе 25 команд, их краткое описание приведено в таблице. Нетрудно видеть, что эти команды позволяют выполнять операции над байтами: логическое И (/ ), логическое ИЛИ ( /), исключающее ИЛИ ((+)), инверсию (NOT), сброс в нулевое значение и сдвиг.
3. Влияние арифметических и логических команд на флаги.
По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги CY, AC, OV и P регистра PSW. Флаг CY устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA. Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком. Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.
команда микроконтроллер программа арифметический
Вывод
В результате лабораторной работы я приобрел навыки программирования в кодах микроконтроллера с использованием логических и арифметических команд МК Intel 8051.
Размещено на Allbest.ru
Подобные документы
Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.
контрольная работа [145,5 K], добавлен 05.09.2010Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.
курсовая работа [169,3 K], добавлен 25.12.2012Операционный блок микропроцессора, арифметические операции с целыми операндами. Пути увеличения производительности арифметико-логического устройства за счет параллельной обработки различных команд выполняемой программы. Сумматор частичных произведений.
контрольная работа [56,5 K], добавлен 05.09.2010Исследование арифметических, логических и вспомогательных операций, выполняемых микропроцессором. Построение блок-схемы инициализации резидентной программы и тела резидента. Характеристика основных особенностей написания программы на языке ассемблера.
лабораторная работа [67,8 K], добавлен 20.11.2012Представление данных в цифровых автоматах, методы контроля их работы. Построение алгоритма реализации численного метода "быстрой сортировки", построение кода и блок-схемы Хемминга. Выполнение арифметических и логических исчислений с целыми числами.
курсовая работа [98,7 K], добавлен 22.12.2009Проектирование арифметико-логических устройств (АЛУ). Отладка описания логических схем на языке VHDL. Классификация АЛУ по способу представления чисел, характеру использования элементов и узлов. Список стандартных функций АЛУ, его описание на языке VHDL.
лабораторная работа [633,4 K], добавлен 11.03.2014Применение математических методов для решения логических задач и построения логических схем. Определение и реализация булевых функций. Основные схемы функциональных элементов. Программируемые логические матрицы. Правила составления таблицы истинности.
курсовая работа [821,6 K], добавлен 19.03.2012Понятие и использование командной строки. Открытие командной строки. Команды, выполняемые с помощью командной строки. Как выполнить команду с повышенными привилегиями. Изменение внешнего вида окна командной строки с помощью параметров командной строки.
презентация [948,2 K], добавлен 22.10.2014Технология программирования задач для операторных и функциональных языков программирования, разработка алгоритма и отладка программы. Трансляция исходного текста, компоновка программы, ее выполнение с целью определения логических ошибок и тестирование.
курсовая работа [336,6 K], добавлен 24.04.2010Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014