Комады пересылочных операций
При выполнении пересылочной операции код, хранящийся в одном месте памяти по адресу источника, записывается в другую ячейку памяти по адресу приемника (см. табл. 2.6). Для задания адресов операндов могут использоваться любые способы адресации.
Таблица 2.6
No п/п | Операция | Формат данных |
Байт | Слово | Двойное слово |
1 | Пересылка в RRAM | LDB | LD | - |
2 | Пересылка в RRAM с расширением без знака | LDBZE | - |
3 | Пересылка в RRAM с расширением со знаком | LDBSE | - |
4 | Пересылка из RRAM | STB | ST | - |
5 | Обмен | XCHB | XCH | - |
6 | Групповая пересылка без прерывания | - | BMOV | - |
7 | Групповая пересылка с возможностью прерывания | BMOVI | - |
8 | Пересылка в стек | PUSH | - |
9 | Пересылка из стека | POP | - |
10 | Специальная пересылка в стек | PUSHF | PUSHA |
11 | Специальная пересылка из стека | POPF | POPA |
При выполнении операций No 2,3 данные, хранящиеся по адресу источника в формате "байт", записываются по адресу приемника в формате "слово".
Команды операций управления
Группа команд операций управления делится на две подгруппы - команды управления ходом программы и команды управления состоянием элементов и систем микроконтроллера. В первую подгруппу входят команды безусловного и условного переходов (см. табл. 2.7).
Таблица 2.7
No п/п | Операция | Мнемокод |
1 | Длинный безусловный переход | LJMP |
2 | "Короткий" безусловный переход | SJMP |
3 | Косвенный безусловный переход | BR |
4 | Табличный безусловный переход | TIJMP |
5 | "Длинный" безусловный переход с возвратом | LCALL |
6 | "Короткий" безусловный переход с возвратом | SCALL |
7 | Возврат | RET |
8 | Переход через один адрес | NOP |
9 | Переход через два адреса | SKIP |
10 | "Длинный" безусловный переход в расширенном пространстве | EJMP |
11 | Косвенный безусловный переход в расширенном пространстве | ERB |
12 | "Длинный" безусловный переход с возвратом в расширенном пространстве | ECALL |
В таблице 2.8 приведены мнемокоды команд условного перехода и сами условия, при выполнении которых совершается переход.
Таблица 2.8
No п/п | Мнемокод | Условие |
1 | JE | Z=1 |
2 | JNE | Z=0 |
3 | JLT | N=1 |
4 | JGE | N=0 |
5 | JV | V=1 |
6 | JNV | V=0 |
7 | JVT | VT=1 |
8 | JNVT | VT=0 |
9 | JC | C=1 |
10 | JC | C=0 |
11 | JST | ST=1 |
12 | JNST | ST=0 |
13 | JGT | N=0 Z=0 |
14 | JLE | N=1 Z=1 |
15 | JH | C=1 Z=0 |
16 | JNH | C=0 Z=1 |
17 | JBS | Бит=1 |
18 | JBC | Бит=0 |
19 | DJNZ | Переход, пока регистр не равен нулю |
20 | DJNZW | Переход, пока слово не равно нулю |
В командах условного перехода No 1-12 в качестве условия перехода используется наличие определенного значения одного из признаков результата в слове состояния программы. В командах No 13-16 требуется наличие определенного значения одновременно у двух признаков результата. Команды No 19,20 используются для организации цикла в программе. При каждом выполнении этой команды код числа, хранящийся соответственно в регистре или паре регистров (слово), уменьшается на единицу. Переход осуществляется, пока результат не равен нулю.
В подгруппу команд управления состоянием элементов и систем МК входят команды установки значений для некоторых разрядов регистра слова состояния программы (PSW) и команды программного сброса, программного прерывания и перевода микроконтроллера в энергосберегающие режимы (см. табл. 2.9).
Таблица 2.9
No п/п | Мнемокод | Действие |
1 | CLRTVT | VT=PSW.4:=0 |
2 | SETC | C=PSW.3:=1 |
3 | CLRC | C=PSW.3:=0 |
4 | EI | I=PSW.1:=1 |
5 | DI | I=PSW.1:=0 |
6 | EPTS | PSE=PSW.2:=1 |
7 | DPTS | PSE=PSW.2:=0 |
8 | RST | 2080 -> PC, 00H -> reg PSW |
9 | TRAP | (2 reg 18H)-2->2 reg 18H, (PC) 2 loc (2 reg 18H) (2 loc 2010H) -> PC |
10 | IDLPD#N | N=01H -> режим IDL N=02H -> режим PD |
Все команды данной подгруппы, кроме IDLPD # N, однобайтовые.
Команда RST переводит МК в состояние сброса, после чего начинается выполнение программы с первой команды, хранящейся по адресу 2080H.
Команда с мнемокодом TRAP вызывает прерывание текущей программы с переходом к выполнению прерывающей подпрограммы с начальным адресом, хранящимся в ячейке 2010H. Эта команда используется при работе МК в процессе отладки совместно с внешними отладочными средствами. В рабочих программах команда TRAP не используется.
Команда IDLPD при N=01H переводит МК в режим холостого хода (Idle mode), а при N=02H - в режим пониженного энергопотребления (Powerdown mode). При других значениях константы N эта команда выполняется как команда RST.
Далее мы подробно рассмотрим структуру, функционирование и программирование основных периферийных устройств микроконтроллера 8ХС196КС/КD.
<<<
Содержание
>>>
|