
- •Тема 1. 7
- •Тема 2. 22
- •Тема 3. 41
- •Тема 4. 83
- •Основные временные параметры микропроцессора кр580ик80а
- •Программное обеспечение микропроцессора
- •Команды перемещения данных
- •Представлением операнда
- •Команды переходов ( альтернативные команды )
- •Специальные команды
- •Кодирование программы
- •Архитектура последовательного интерфейса кр580ик51
- •Управления от мп
- •Архитектура программируемого таймера кр580ви53
- •И микропроцессором
- •Архитектура бис параллельного интерфейса кр580вв55
- •Сигналами ппи
- •Архитектура контроллера прямого доступа к памяти кр580вт57
- •Архитектура бис программируемого контроллера прерываний кр580вн59
- •Генератор тактовыхимпульсов кр580гф24
- •Системный контроллер и шинный формирователь кр580вк28
- •Буферные регистры кр580ир82 и кр580ир83
- •Шинные формирователи кр580ва86 и кр580ва87
- •Пример подключения микросхемы кр580ви53 к микропроцессорной системе через контроллер прерываний кр580вн59
- •Пример подключения аналого-цифрового преобразователя.
- •Пример совместного использования микросхем комплекта для управления технологическим процессом.
- •Декларирование объектов
- •Структура программы
- •Константы
- •Арифметические операции
- •Преобразование типов операндов арифметических операций
- •Побитовые логические операции, операции над битами
- •Функции вывода информации
- •Стандартные математические функции
- •Условные операторы
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Пример использования оператора if
- •Циклические операторы while и do–while
- •Пример использования оператора for
- •Строки, как одномерные массивы символов
- •Указатели и операции над адресами
- •Операция sizeof
- •Указатели на указатели
- •Пример динамического размещения одномерного массива в с
Представлением операнда
Функция |
Перевод |
Мнемоника |
Сложить со вторым байтом команды |
Add Immediate |
ADI < B2 > |
Сложить со вторым байтом команды с учетом переноса |
Add & Carry Immediate |
ACI < B2 > |
Вычесть второй байт команды |
Subtract Immediate |
SUI < B2 > |
Вычесть второй байт команды с учетом переноса |
Subtract-Borrow Immediate |
SBI < B2 > |
Логическое И со вторым байтом |
AND Immediate |
ANI < B2 > |
Исключающее ИЛИ со вторым байтом |
Exclusive OR Immediate |
XRI < B2 > |
Логическое ИЛИ со вторым байтом |
OR Immediate |
ORI < B2 > |
Сравнить со вторым байтом |
Compare Immediate |
CPI < B2 > |
Команды инкремента и декремента. К группе команд обработки данных относятся также команды увеличения и уменьшения содержимого регистра на 1 - INR RиDCR R.
Система команд микропроцессора КР.580ИK80A дает возможность производить арифметические операции с 16-битными операндами. Считается, что в этих командах операнды - целые положительные числа, а значения всех триггеров состояния не изменяются. Две команды - инкремента пары INX Rр и декремента парыDCX Rр - позволяют увеличить или уменьшить содержимое регистров ВС, DE, HL и указателя стека SP на 1.
Команда сложения с удвоенной точностью DAD (Double Acceptation Data) суммирует содержимое регистровой пары (HL) и адресуемого шестнадцатибитного регистра: (HL) + (Rp) → Н, L. При этом модифицируется в соответствии с результатом операции триггер переноса.Команда DAD Н эквивалентна умножению на два регистров HL, т.е. сдвигу на один разряд влево.
Команды сдвига и десятичной коррекции.В системе команд микропроцессора КР.580ИК80А имеются команды сдвига двух видов: арифметического и циклического (табл. 2.3). При циклическом сдвиге аккумулятор замыкается через регистр связи (бит переноса). Сдвиги возможны как влево, так и вправо.
При арифметическом сдвиге влево самый младший бит аккумулятора заполняется значением, полученным из регистра связи. Производится последовательный сдвиг всех разрядов, и значение самого старшего бита направляется в освободившийся регистр сдвига CY.
Таблица 2.3. Команды сдвига и сложения десятичных чисел
Функция |
Перевод |
Мнемоника |
Циклический сдвиг влево |
Rotate Left |
RLC |
Циклический сдвиг вправо |
Rotate Right |
RRC |
Арифметический сдвиг влево |
Rotate Arithmetic Left |
RAL |
Арифметический сдвиг вправо |
Rotate Arithmetic Right |
PAR |
Операция с десятичными числами |
Decimal Adjust Accumulator |
DAA |
При арифметическом сдвиге вправо также используется регистр связи, но направление смещения меняется на противоположное : из регистра связи заполняется самый старший бит, а из младшего загружается освободившийся CY - регистр.
Однобайтная команда десятичной настройки аккумулятора DDA (Decimal Adjust Accumulator) в два приема корректирует восьмибитное значение в аккумуляторе на две бинарно кодированные десятичные цифры с правильной установкой триггера переноса с. . содержимое аккумулятора увеличивается на 6 при условии, что младшая тетрада содержит число больше 9 или AC = 1, т.е. установлен триггер полупереноса (переполнения 3-го бита). Если после выполнения этого условия старшая тетрада содержит число больше 9 или установлен в 1 триггер переноса с, то в старшую тетераду прибавляется 6. Например, промежуточный результат двоичного сложения БКД - чисел 79 и 39 имеет вид 1011 0010 (CY = 0 , AC = 1), а после выполнения команды DAA получаем (CY = 1) 0001 1000, т.е. правильный результат: 118 .
Команда DAA не корректирует результат двоичного вычитания.