Арифметико-логические операции
Приобретение навыков программирования арифметико-логических операций командами микроконтроллера. Характеристика блок-схемы алгоритма и исходного кода программы. Влияние арифметических и логических указаний командной строки МК 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Технология программирования задач для операторных и функциональных языков программирования, разработка алгоритма и отладка программы. Трансляция исходного текста, компоновка программы, ее выполнение с целью определения логических ошибок и тестирование.
курсовая работа [336,6 K], добавлен 24.04.2010Понятие и использование командной строки. Открытие командной строки. Команды, выполняемые с помощью командной строки. Как выполнить команду с повышенными привилегиями. Изменение внешнего вида окна командной строки с помощью параметров командной строки.
презентация [948,2 K], добавлен 22.10.2014Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014Основные понятия алгебры логики. Логические основы работы ЭВМ. Вычислительные устройства как устройства обработки информации. Основные формы мышления. Обзор базовых логических операций. Теоремы Булевой алгебры. Пути минимизации логических функций.
контрольная работа [62,8 K], добавлен 17.05.2016Условная функция. Логические выражения. Вложенные логические функции ЕСЛИ. Особенности записи логических операций в табличных процессорах: сначала записывается имя логической операции (И, ИЛИ, НЕ).
реферат [7,9 K], добавлен 17.11.2002Программирование логических игр с помощью подходов СИИ. Методы работы с Windows Forms в языке С#, алгоритм поиска в пространстве состояний. Формализация дерева состояний. Описание использованных алгоритмов. Иерархическая схема и блок-схемы программы.
курсовая работа [1,7 M], добавлен 01.12.2015Разработка алгоритма выполнения операций умножения двоичных чисел в формате расширенной точности на сумматоре обратного кода. Преобразование входной строки в десятичное число. Разработка алгоритма арифметической операции. Тестирование программы-эмулятора.
курсовая работа [119,1 K], добавлен 24.06.2012Кодирование символьной и числовой информации. Основные системы счисления. Двоичная система счисления. Устройства вывода информации. Правила выполнения арифметических операций. Логические основы построения, функциональные узлы ЭВМ. Синтез логических схем.
презентация [1,2 M], добавлен 08.11.2016Характеристика графических возможностей пакета MS Excel. Сущность MS Accses. Анализ систем счисления и арифметические операции над ними. Модифицированный, дополнительный и обратный коды. Принципы построения логических схем, изучение логических операций.
курсовая работа [2,3 M], добавлен 25.03.2015Ознакомление со структурой языка программирования Turbo-Pascal 7.0, его алфавитом, выражениями и простейшими конструкциями (метками, идентификаторами). Способы описания арифметических, вещественных, логических и символьных операций в программной среде.
реферат [68,2 K], добавлен 07.02.2011Запоминающие устройства компьютера. Создание системы памяти. Характеристика микросхем динамических запоминающих устройств. Выполнение арифметических, логических или служебных операций. Ярусно-параллельная форма алгоритма. Степень и уровни параллелизма.
презентация [2,4 M], добавлен 28.03.2015Разработка на языке программирования С++ программы анализа логических дисков. Интерфейс, диалог с пользователем. Определение текущего диска, его размера, занятого и свободного места, информации о кластерах. Организация программы с использованием меню.
курсовая работа [182,1 K], добавлен 22.10.2012Исследование принципа работы основных логических элементов цифровых устройств. Описания вычислительных машин непрерывного и дискретного действия. Инверсия конъюнкции, дизъюнкции и равнозначности. Разработка программы, реализующей логические операции.
практическая работа [230,8 K], добавлен 25.03.2015