- •Микропроцессорные контроллеры
- •8.3 Система команд
- •10.4 Организация памяти
- •1. Типы архитектур микроконтроллеров
- •1.1 Основные структуры вычислительных систем
- •1.2 Определение микропроцессора
- •1.3 Шинная организация соединений
- •1.4. Типы архитектур микроконтроллеров
- •2 Микроконтроллер на базе 8-разрядного
- •2.1 Описание микропроцессора кр1821вм85
- •2.2 Режимы работы мп
- •3 Микроконтроллер на базе 16-разрядного микропроцессора к1810вм86
- •3.1 Технические характеристики мп к1810вм86
- •3.2 Назначение сигналов
- •3.3 Программно-доступные регистры
- •3.5 Организация внешней памяти
- •3.6 Структурная схема мк на базе мп к1810вм86
- •3.7 Способы адресации
- •3.8 Система команд мп 1810вм86
- •3.8.1 Команды пересылок данных
- •2. Пересылки “регистр-память” -
- •3.8.2 Команды преобразование данных
- •10. Команды сдвигов –
- •3.8.3 Команды передачи управления
- •1. Безусловные переходы -
- •8 Микроконтроллер на базе омэвм к1816ве48
- •8.1 Технические характеристики к1816ве48
- •8.2 Способы адресации операндов
- •8.3 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •8.4 Таймер
- •8.5 Структурная схема мк
- •9 Микроконтроллер на базе омэвм к1816ве51
- •9.1 Технические характеристики омэвм к1816ве51
- •9.2 Организация памяти
- •9.3 Регистры специальных функций
- •9.4 Способы адресации операндов
- •9.5 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •9.6 Управление прерываниями
- •9.7. Последовательный ввод-вывод данных
- •9.8 Таймеры
- •11.1 Семейство pic-контроллеров
- •12 Современные тенденции в развитии
- •12.1 Сигнальные процессоры фирмы Texas Instruments
- •12.2 Сигнальные процессоры Analog Devices
- •12.3 Транспьютеры
9.4 Способы адресации операндов
В системе команд ОМЭВМ К1816ВЕ51 реализованы широкие возможности по адресации операндов, при этом наряду с традиционными способами расширены возможности по способам представления форматов данных. Используются следующие форматы:
- побитовый;
- потетрадный (4 бита);
- побайтный (8 бит);
- 16-разрядный.
Кроме основных способов адресации, определение которых дано в разделе 2.4.1, добавлена базово-индексная адресация – разновидность косвенной адресации, когда в команде указываются источники двух частей адреса A+PC или A + DPTR. Часть адреса, находящаяся в аккумуляторе, воспринимается как смещение адреса с учетом знака, то есть смещение на 128. Например,
MOVC A, @A + PC ; M[A + PC] A,
MOVC A, @A + DPTR ; M[A + DPTR] A.
9.5 Система команд
В системе команд ОМЭВМ К1816ВЕ51 наблюдается преемственность от ОМЭВМ К1816ВЕ48. Выделим 4 группы команд и отметим основные из них.
1. Пересылки данных – фактически выполняется копирование данных, то есть при пересылке в источнике байт сохраняется. Команда “MOV” допускает 15 комбинаций адресации источника и приемника:
a). пересылки типа “регистр-регистр” – выполняются только через аккумулятор:
MOV A, Rn ; Rn A , где Rn - любой регистр R7-R0,
MOV Rn,A ; A Rn ,
MOV A, #D8; данные D8 A.
б). пересылки типа “память-регистр”. Используется как прямая, так и косвенная адресации с использованием регистров R0,R1,A,DPTR. Команды обращения к внутреннему ОЗУ (128 ячеек) имеют вид:
MOV Rm, direct addr ; M[direct addr] Rm , то есть из ячейки памяти с адресом, указанным в команде, переслать байт в регистр,
MOV direct addr , Rm, ; Rm M[direct addr]
MOV A, @R0 или R1 ; M[R0(1)] A,
MOV @R0(1), A ; A M[R0(1)],
MOV @R0(1), #D8 ; данные D8 M[R0(1)] .
Для обращения ко внешнему ОЗУ (64K) используются команды с косвенной адресацией c использованием регистрa DPTR :
MOVX A, @ DPTR ; M[DPTR] A;
MOVX @ DPTR, A ; A M[DPTR];
Для обращения к ячейкам памяти программы, например при обращении к таблицам, также используются команды с косвенной адресацией:
MOVC @A + PC, A ; A M[A + PC],
MOVC @A + DPTR, A ; A M[A + DPTR];
в). обмен данными выполняется только через аккумулятор:
XCH A,Rm ; A Rm,
XCH A, direct addr ; A M[direct addr]
XCHD A,@R0(1) ; A M[R0(1)];
г). команды записи в стек и чтения из стека используют прямую адресацию:
PUSH direct addr ; SP+1, M[direct addr] M[SP+1]
POP direct addr ; M[SP] M[direct addr], SP-1,
2. Преобразование данных. Для операций с двумя операндами по умолчанию в качестве источника одного операнда используется аккумулятор и результат записывается также в аккумулятор. Основные команды преобразования данных следующие:
a). команды сложения
ADD A, Rm ; A + Rm →A,
ADD A, direct addr ; A+ M[direct addr]→A,
ADD A, @R0(1) ; A+ M[R(0)1]→A,
ADD A, #D8 ; A+ #D8→A;
б). команды сложения с учетом признака переноса С, используются все типы операндов, что и для сложения без учета признака С
ADDC A, Rm ; A + Rm +C →A;
в). команды вычитания с заемом C
SUBB A, Rm ; A – C - Rm →A,
SUBB A, direct addr ; A – C - M[direct addr]→A,
SUBB A, @R0(1) ; A – C - M[R(0)1]→A,
SUBB A, #D8 ; A – C - #D8→A;
г). команды инкремента –декремента используют 4 типа операндов – r {A, Rm, direct addr, @R0(1)}, где direct addr – прямой адрес операнда из ОЗУ, @R0(1) – косвенная адресация операнда из ОЗУ,
INC r ; r +1→A,
DEC r ; r -1→A;
д). команда умножения использует только 8-разрядные регистры А (аккумулятор) и В. Старший байт 16-разрядного произведения сохраняется в регистре В, а младший байт – в А:
MUL AB ; A*B B,A;
е). команда деления - делит 8-разрядное целое число без знака из аккумулятора А на число из регистра В. При этом частное сохраняется в А, а остаток – в В.
DIB AB ; A/B A, остаток В;
ж). преобразование кода в аккумуляторе
CLR A ; A=0
CPL A ;обратный код (поразрядное инвертирование);
з). логические операции, в которых используется пять типов операндов, - r {A, Rm, #D8, direct addr, @R0(1)}, -
ANL A, r ; A r →A,
ORL A, r ; A r →A,
XRL A, r ; A r →A, “исключающее ИЛИ”;
и). сдвиги
RL A, RR A ; циклические сдвиги влево и вправо без учета признака переноса