- •Микропроцессоры в технике электросвязи
- •Глава 1. Структура микропроцессорного комплекта 580 серии.
- •Принцип работы
- •1.1. Структура цпэ
- •1.2. Форматы команд
- •1. 3. Виды адресации
- •1.4. Виды выполняемых операций
- •1.5. Примеры программирования микропроцессора
- •1.6. Циклические программы
- •1.7. Система сбора и обработки информации
- •1.8. Система групповой ару аналоговой системы передачи
- •Глава 2. Цифровые развязывающие устройства
- •2.1. Абсолютный компенсационый метод (акм)
- •2. 2. Относительный компенсационный метод (окм)
- •2.3. Структурная схема окм и алгоритм ее работы
- •Глава 3. Однокристалльные микроэвм к 1816 ве 48 (ве 51)
- •3.1. Цифровой цастотный демодулятор (модем)
- •Глава 4. Микропроцессор 1813 ве1
- •Глава 5. Реализация цифровых фильтров (цф) на 1813 ве 1
1.4. Виды выполняемых операций
-
Операции пересылки и непосредственной загрузки. При выполнении этого вида операций могут использоваться одно-, двух-, и трехбайтовые команды. Наиболее многочисленный класс операций – команды однобайтовые. Возможно использование семи регистров общего назначения, ячеек оперативной памяти, стеков. Производится пересылка или непосредственная загрузка одного или пары регистров.
-
Операции пересылки. Производится пересылка данных из одного регистра в другой.
Пример: СB - содержимое регистра В пересылается в регистр С. Мнемонически это записывается MOV C,B
В случае использования пар регистров HL ячейка оперативной памяти рассматривается как отдельный регистр общего назначения.
Пример: D[(HL)] DM – пересылка в регистр D содержимого пары регистров HL (M – ячейка оперативной памяти, адресом которой служит содержимое пары регистров HL)
-
Непосредственная загрузка регистра.
Е5D16 MVI E,5D
-
Непосредственная загрузка пары регистров
DE5D4F LXI D, 5D4F
-
Арифметические и логические операции. Все операции данного класса команд производятся исключительно через аккумулятор. Операции производятся как с данными, хранящимися в регистрах общего назначения, так и с данными, которые следуют в командах. Сложение 2-х байтовых чисел возможно только арифметически.
-
Логическое сложение
+1011 АAD ORA A,D
0111 AA<B2> ORI A,<B2>
1111
Арифметическое сложение
+1011 AA+D ADD A,D
0111 AA+<B2> ADI A,<B2>
10010
-
Сложение по модулю два
-
X1
X2
Y
0
0
0
1
0
1
0
1
1
1
1
0
AAD XRA A,D
AA<B2> XRI A,<B2>
-
Логическое умножение
A A B ANA A,B
A А <B2> ANI A, <B2>
AА+D+TC +1011
0111
TC
1
0011
-
Операции циклического сдвига
Циклические сдвиги возможны исключительно в аккумуляторе, при этом кодовая комбинация сдвигается либо влево, либо вправо
-
Сдвиг вправо без учета переноса
Мнемонически такая операция обозначается RRC.
Содержимое каждого разряда аккумулятора передается в соседний младший разряд (DiDi+1), содержимое младшего разряда передается в старший разряд (D7D0) и одновременно в триггер переноса (ТСD0).
-
Сдвиг вправо с учетом переноса.
Мнемонически такая операция обозначается RAR.
Отличие от сдвига без переноса в том, что триггер переноса передает свое содержимое в старший разряд аккумулятора (D7ТС) и принимает выданное из аккумулятора содержимое младшего разряда (ТСD0).
-
Сдвиг влево без учета переноса.
Мнемонически такая операция обозначается RLC.
Содержимое каждого разряда аккумулятора передается в соседний старший разряд (Di+1Di), содержимое старшего разряда переносится в младший разряд (D0D7) и одновременно в триггер переноса (ТСD7).
-
Сдвиг влево с учетом переноса.
Мнемонически такая операция обозначается RАL.
Отличие от сдвига без переноса состоит в том, что триггер переноса ТС вводится в замкнутый контур, в котором осуществляется сдвиг; триггер переноса передает свое содержимое в младший разряд аккумулятора (D0ТС) и принимает выдвигаемое из аккумулятора содержимое старшего разряда (ТСD7).
-
Положительное и отрицательное приращение регистра или пары регистров.
Увеличение (уменьшение) содержимого регистра необходимо для организации циклических операций и для обращения к ячейкам оперативной памяти (модификация адреса).
ВВ+1 – положительное приращение регистра. Мнемонически это будет INP B.
СС-1 – уменьшение содержимого регистра С. Мнемонически это будет DCP C.
Возможно положительное или отрицательное приращение содержимого пары регистров:
HLHL+1 - INX H.
BCBC+1 - INX B.
DEDE-1 - DCX D.
-
Операции условных и безусловных переходов.
Условные переходы позволяют организовать ветвящиеся программы. Условные переходы выполняются по значению признаков, хранящихся в регистре признаков (Всего их 5 – TZ, TS, TC, TP, TV). Каждый из этих признаков может принимать два значения – 0 и 1, – следовательно, всего можно организовать 10 условных переходов. Кроме того, имеется возможность перейти в любую точку программы (Мi) с помощью операции безусловного перехода (команда JMP Мi). Таким образом, имеется 11 команд условных и безусловных переходов, причем команды эти – трехбайтные.
Примеры команд условных переходов:
По признаку TZ: JNZ Mi – если TZ=0;
JZ Mi – если TZ=1;
По признаку TС: JNС Mi – если TС=0;
JС Mi – если TС=1;
По признаку TS: JNS Mi – если TS=0;
JS Mi – если TS=1;
-
Команды ввода/вывода.
Ввод (вывод) сигналов в (из) микропроцессора осуществляется исключительно через аккумулятор с помощью двухбайтовых команд.
1-ый байт – код операции, 2-ой байт – номер устройства ввода/вывода (УВВ). Т.к. восьмиразрядная кодовая комбинация может содержать 256 состояний, то имеется возможность опрашивать 256 устройств ввода и вывода.
Пример команд ввода/вывода:
Ввод в аккумулятор сигнала с устройства ввода №5:
АУВВ 5 - IN 5.
Вывод сигнала из микропроцессора через устройство вывода №2:
УВ 2 А - OUT 2.
-
Прочие операции.
В микропроцессоре можно производить еще множество операций, например:
Res – сброс;
HLT – остановка – вызывает прекращение выполнения программы и переход в состояние останова;
Инверсия аккумулятора и другие.