- •10. Архитектура мк48
- •Арифметико-логическое устройство
- •Устройство управления микроконтроллера
- •Организация ввода/вывода информации
- •Память микроконтроллера
- •11. Однокристальные микроконтроллеры iMcs48 система команд
- •2. Команды логических операций
- •3. Команды передачи управления
- •12. Архитектура мк51
- •Арифметическо-логическое устройство
- •Устройство управления и синхронизации
- •13. Организация памяти в мк51
- •Сегменты памяти
- •Наращивание памяти
- •14. Организация подсистемы ввода/вывода в мк51
- •15. Организация таймеров и системы прерываний в мк51
- •Организация системы прерываний
- •16. Система команд мк51
- •Группа команд логических операций
- •Группа команд операций с битами
- •Группа команд передачи управления
- •17. Архитектура iMcs96
- •Почему iMcs96 быстрее, чем 8051?
- •20. Организация процессорного порта в iMcs96
- •21. Организация последовательного порта в iMcs96
- •Преобразование параллельного кода в последовательный
- •Протокол обмена
- •22. Система прерываний в iMcs96
- •24. Система команд iMcs96
- •25. Архитектура mc68hc05
- •Регистровая модель
- •Карта памяти для mc68hc705c8
- •Способы адресации
- •26. Архитектура mc68hc08
- •Регистровая модель
- •Способы адресации
- •Структура mc68hc11e9
- •Регистры
- •Способы адресации:
- •1. Подразумеваемая (inh):
- •2. Непосредственная (imm):
- •3. Прямая (dir):
- •5. Индексная с 8-битным смещением (IX, iy):
- •6. Относительная - в командах условного перехода (rel):
- •Система команд
24. Система команд iMcs96
Форматы команд:
Безадресные:
7 0
┌────────┐
│ OP │
└────────┘
Одноадресные:Способ адресации:
┌────────┐┌────────┐
│ OP ││ ad8 │ Прямая регистровая
└────────┘└────────┘
┌────────┐┌────────┐
│ OP 01││ data8 │ Непосредственная короткая
└────────┘└────────┘
┌────────┐┌────────┐┌────────┐
│ OP 01││ d16l ││ d16h │ Непосредственная длинная
└────────┘└────────┘└────────┘
┌────────┐┌────────┐
│ OP 10││ ad7 0│ Косвенная
└────────┘└────────┘
┌────────┐┌────────┐
│ OP 10││ ad7 1│ Косвенная автоинкрементная
└────────┘└────────┘
┌────────┐┌────────┐┌────────┐ Косвенная индексированная
│ OP 11││ ad7 0││ i8 │ короткая
└────────┘└────────┘└────────┘
┌────────┐┌────────┐┌────────┐┌────────┐ Косвенная индексированная
│ OP 11││ ad7 1││ i16l ││ i16h │ длинная
└────────┘└────────┘└────────┘└────────┘
┌────────┐┌────────┐ Относительная короткая с
│ OP ││ rel8 │ приращением адреса rel8
└────────┘└────────┘
┌────────┐┌────────┐ Относительная короткая с
│ OP rrr││ rel7_0 │ приращением адреса rel11
└────────┘└────────┘
┌────────┐┌────────┐┌────────┐ Относительная длинная с
│ OP ││ rel7_0 ││ rel15_8│ приращением адреса rel16
└────────┘└────────┘└────────┘
Обозначения:
OP - код операции;
ad8 - прямой восьмиразрядный адрес 8-разрядного либо 16-разрядно-
го регистра;
ad7 - старшая семибитная часть четного восьмиразрядного адреса
регистрового слова, содержащего 16-разрядный адрес байта либо слова;
data8 - непосредственные восьмиразрядные данные;
d16l, d16h - младший и старший байты непосредственных 16-разряд-
ных данных:
i8 - восьмиразрядное смещение со знаком из множества [-128,+127]
i16l, i16h - младший и старший байты шестнадцатиразрядного смеще-
ния со знаком из множества [-32768,+32767];
rel8, rel11, rel16 - приращение адреса из множества соответствен-
но [-128,+127], [-1024, 1023], [-32768,+32767] в командах перехода,
прибавляемого к адресу последнего байта данной команды.
Двухадресные:
┌────────┐┌────────┐┌────────┐ Только один из операндов
│ OP ││ ad8 ││ ad8 │ может иметь все способы
└────────┘└────────┘└────────┘ адресации, перечисленные в
┌────────┐┌────────┐┌────────┐ одноадресном формате, он
│ OP 01││ data8 ││ ad8 │ располагается всегда за
└────────┘└────────┘└────────┘ кодом операции;
┌────────┐┌────────┐┌────────┐┌────────┐ второй операнд является
│ OP 01││ d16l ││ d16h ││ ad8 │ всегда прямо адресуемым
└────────┘└────────┘└────────┘└────────┘ 8-ми либо 16 -разрядным
┌────────┐┌────────┐┌────────┐ регистром, адрес которого
│ OP 10││ ad7 0││ ad8 │ размещается в пооследнем
└────────┘└────────┘└────────┘ байте команды.
┌────────┐┌────────┐┌────────┐
│ OP 10││ ad7 1││ ad8 │
└────────┘└────────┘└────────┘
┌────────┐┌────────┐┌────────┐┌────────┐
│ OP 11││ ad7 0││ i8 ││ ad8 │
└────────┘└────────┘└────────┘└────────┘
┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐
│ OP 11││ ad7 1││ i16l ││ i16h ││ ad8 │
└────────┘└────────┘└────────┘└────────┘└────────┘
┌────────┐┌────────┐┌────────┐
│ OP ││ cnt ││ ad8 │
└────────┘└────────┘└────────┘
┌────────┐┌────────┐┌────────┐
│ OP ││ ad8 ││ rel8 │
└────────┘└────────┘└────────┘
┌────────┐┌────────┐┌────────┐
│ OP bbb││ ad8 ││ rel8 │
└────────┘└────────┘└────────┘
- cnt - число сдвигов из множества [0, 15] - непосредственный
операнд в командах сдвигов;
- bbb - трехразрядный адрес бита в регистре, адресуемом ad8.
В командах MUL/MULB, DIV/DIVB код операции OP занимает два байта.
Трехадресные: Только один из
┌────────┐┌────────┐┌────────┐┌────────┐ операндов может
│ OP 00││ ad8 ││ ad8 ││ ad8 │ иметь все способы
└────────┘└────────┘└────────┘└────────┘ адресации, перечис-
┌────────┐┌────────┐┌────────┐┌────────┐ ленные в одноадрес-
│ OP 01││ data8 ││ ad8 ││ ad8 │ ном формате, он рас-
└────────┘└────────┘└────────┘└────────┘ полагается всегда за
┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐ кодом операции; вто-
│ OP 01││ d16l ││ d16h ││ ad8 ││ ad8 │ рой и третий операн-
└────────┘└────────┘└────────┘└────────┘└────────┘ ды являются всегда
┌────────┐┌────────┐┌────────┐┌────────┐ прямо адресуемыми
│ OP 10││ ad7 0││ ad8 ││ ad8 │ 8-ми либо 16 -раз-
└────────┘└────────┘└────────┘└────────┘ рядными регистрами,
┌────────┐┌────────┐┌────────┐┌────────┐ адреса которых раз-
│ OP 10││ ad7 1││ ad8 ││ ad8 │ мещаются в последних
└────────┘└────────┘└────────┘└────────┘ двух байтах команды.
┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐ Последний байт -
│ OP 11││ ad7 0││ i8 ││ ad8 ││ ad8 │ всегда адрес регист-
└────────┘└────────┘└────────┘└────────┘└────────┘ ра назначения.
┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐
│ OP 11││ ad7 1││ i16l ││ i16h ││ ad8 ││ ad8 │
└────────┘└────────┘└────────┘└────────┘└────────┘└────────┘
!!! Процессор работает равноправно как со словами так и с байтами. Имеется в еаличии регистровый файл.
С функциональной точки команды подразделяются на группы:
1. пересылки,
2. логика,
3. арифметика,
4. команды переходов, 5. управления.