
- •Разработка и отладка программного обеспечения
- •1. Микропроцессорная система на базе микропроцессора мп кр580вм80а
- •1.1. Структурная схема мпс кр580вм80а
- •1.2. Программная модель мпс кр580вм80а
- •1.3. Система команд Команды пересылки данных
- •Межрегистровые передачи
- •Запись в память
- •Команды обращения к стеку.
- •Задания для самопроверки
- •Команды арифметических операций.
- •Команды сложения.
- •Команды вычитания
- •Команды приращения положительное и приращение отрицательное
- •Вопросы для самоконтроля
- •Логические команды
- •Вопросы для самоконтроля
- •Команды перехода и вызова подпрограмм.
- •Вопросы для самоконтроля
- •2. Организация временных интервалов в микро-эвм.
- •3. Микроконтроллер pic16f84
- •3.1. Общие характеристики
- •3.1.1. Периферия и Ввод/Вывод
- •3.1.2. Кмоп технология
- •3.2 Условное графическое обозначение
- •3.3. Структура кристалла pic16c84
- •Управляющий регистр прерываний intcon и его биты
- •3.4. Система команд
- •Бит ориентированные команды
- •Байт-ориентированные команды.
- •3.5. Запуск кристалла.
- •Последовательность запуска кристалла в работу
- •Типы генераторов
- •Установка конфигурации.
- •Код идентификации
- •3.6. Интегрированные устройства. Порт а
- •Таймер/счетчик.
- •Встроенный предварительный делитель частоты
- •Долговременная память данных eeprom.
- •Задания для самопроверки
- •4. Микропроцессорные устройства обработки информации.
- •4.1 Расчет основных характеристик системы сбора данных.
- •4.2. Микропроцессоры в системах передачи и обработки сигналов.
- •Программа формирования импульсной последовательности.
- •Формирование импульсных последовательностей с помощью pic16f84.
- •Программа формирования импульсной последовательности.
- •Микропроцессорные устройства регенерации сигнала икм.
- •4.3. Применение микропроцессорных систем в задаче кодирования информации
- •Заключение
- •Литература
Команды вычитания
Все команды вычитания выполняются в дополнительном коде. Вычитание реализуется путем инвертирования значений всех разрядов вычитаемого, добавления к ним 1 и сложения полученного числа с уменьшаемым. Единица в старшем разряде является признаком отрицательного числа, а ноль – признаком положительного числа. Восьми разрядный код дает возможность представлять числа в диапазоне от +127 до –127, включая 0.
Все рассмотренные ниже команды вычитают данные, на которые имеется указание в команде, из данных, находящихся в аккумуляторе. Другими словами, в аккумуляторе всегда размещается уменьшаемое.
Команды вычитания без переноса
а) Вычитание с регистром
SUB r (A)-(r)A
ПАМЯТЬ
-
SUB r
Содержимое регистра вычитается из содержимого аккомулятора (регистра А). Результат помещается в аккумулятор, исходное содержимое аккумулятора при этом теряется. Команда 1-байтовая, выполняется за 1 машинный цикл.
б) Вычитание с памятью
SUB М (A)-(М)A
ПАМЯТЬ
-
SUB М
По этой команде содержимое ячейки памяти, адрес которой находится в регистровой паре H,L, вычитается из содержимого аккумулятора (регистр А). Результат помещается в аккумулятор. Команда 1-байтовая, выполняется за 2 машинных цикла.
в) Вычитание с непосредственными данными
SUI данные (A)-<данные>A
ПАМЯТЬ
-
SUI
Данные
По команде ВЫЧИТАНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ содержимое второго байта команды вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Команда 2-байтовая, выполняется за 2 машинных цикла.
Команды вычитания с переносом
Кроме команд ВЫЧИТАНИЯ, в которых не предусматривается заем, существуют команды ВЫЧИТАНИЯ С ЗАЕМОМ. Заем происходит, когда вычитаемое оказывается больше уменьшаемого. При этом устанавливается в 1 перенос. Хотя при выполнении этих команд фактически имеет место заем, их называют ВЫЧИТАНИЕ С ПЕРЕНОСОМ, потому что в соответствии с результатом их выполнения устанавливается соответствующим образом разряд переноса в регистре состояния.
С помощью команд ВЫЧИТАНИЕ С ПЕРЕНОСОМ микропроцессор может выполнять вычитание с повышенной точностью. Команды ВЫЧИТАНИЯ С ПЕРЕНОСОМ аналогичны командам ВЫЧИТАНИЯ, в которых, как известно, заем не производится, и отличаются лишь тем, что при их выполнении участвует бит разряда переноса регистра состояния. Результат загружается в аккумулятор.
а) Вычитание с регистром и переносом
SBB r (A)-(r)-CA
ПАМЯТЬ
-
SBB r
Команда 1-байтовая, выполняется за 1 машинный цикл.
б) Вычитание с памятью и переносом
SBB М (A)-(М)-CA
ПАМЯТЬ
-
SBB М
По этой команде содержимое ячейки памяти, адрес которой находится в регистровой паре H,L, вычитается из содержимого аккумулятора (регистр А). Результат помещается в аккумулятор. Команда 1-байтовая, выполняется за 2 машинных цикла.
в) Вычитание с непосредственными данными и переносом
SBI данные (A)-<данные>-CA
ПАМЯТЬ
-
SBI
Данные
Команда 2-байтовая, выполняется за 2 машинных цикла.