Основные форматы команд МК изображены на рис. 5.15.
Система команд МК подгруппы PIC16F8X приведена в табл. 5.11.
Основные форматы команд.
Таблица 5.11. Система команд МК подгруппы PIC16F8X.МнемоникаОписание командыЦиклыБиты состоянияПрим.
ADDWF f, d | Сложение W с f | 1 |
C ,DC ,Z | 1, 2 |
ANDWF f, d | Логическое И W и f | 1 |
Z | 1, 2 |
CLRF f |
Сброс регистра f | 1 |
Z | 2 |
CLRW |
Сброс регистра W | 1 |
Z | |
COMF f, d | Инверсия регистра f | 1 |
Z | 1, 2 |
DECF f, d | Декремент регистра f | 1 |
Z | 1, 2 |
DECFSZ f, d | Декремент f, пропустить команду, если 0 | 1(2) | | 1, 2, 3 |
INCF f, d | Инкремент регистра f | 1 |
Z | 1, 2 |
INCFSZ f, d | Инкремент f, пропустить команду, если 0 | 1(2) | | 1, 2, 3 |
IORWF f, d | Логическое ИЛИ W и f | 1 |
Z | 1, 2 |
MOVF f, d | Пересылка регистра f | 1 |
Z | 1, 2 |
MOVWF f | Пересылка W в f | 1 | | |
NOP - | Холостая команда | 1 | | |
RLF f, d | Сдвиг f влево через перенос | 1 |
C | 1, 2 |
RRF f, d | Сдвиг f вправо через перенос | 1 |
C | 1, 2 |
SUBWF f, d | Вычитание W из f | 1 |
C,DC,Z | 1, 2 |
SWAPF f, d | Обмен местами тетрад в f | 1 | | 1, 2 |
XORWF f, d | Исключающее ИЛИ W и f | 1 |
Z | 1, 2 |
|
BCF f, b |
Сброс бита в регистре f | 1 | | 1, 2 |
BSF f, b | Установка бита в регистре f | 1 |
| 1, 2 |
BTFSC f, b | Пропустить команду, если бит в f равен нулю | 1(2) |
| 3 |
BTFSS f, b | Пропустить команду, если бит в f равен единице | 1(2) | | 3 |
|
ADDLW k | Сложение константы и W | 1 |
C, DC, Z | |
ANDLW k | Логическое И константы и W | 1 |
Z | |
CALL k | Вызов подпрограммы | 2 | | |
CLRWDT - |
Сброс сторожевого таймера WDT | 1 |
/TO, /P | |
GOTO k | Переход по адресу | 2 | | |
IORLW k | Логическое ИЛИ константы и W | 1 |
Z | |
MOVLW k | Пересылка константы в W | 1 |
| |
RETFIE - | Возврат из прерывания | 2 | | |
RETLW k | Возврат из подпрограммы с загрузкой константы в W | 2 | | |
RETURN - | Возврат из подпрограммы | 2 | | |
SLEEP - | Переход в режим SLEEP | 1 |
/TO, /P | |
SUBLW k | Вычитание W из константы | 1 |
C, DC, Z | |
XORLW k | Исключающее ИЛИ константы и W | 1 |
Z | |
|
Примечания к таблице:
- Если модифицируется регистр ввода/вывода (например, MOVF PORTB,1), то используется значение, считываемое с выводов. Например, если в выходной защелке порта, включенного на ввод, находится "1", а внешнее устройство формирует на этом выводе "0", то в разряде данных будет записан "0".
- Если операндом команды является содержимое регистра TMRO (и, если допустимо, d=1), то предварительный делитель, если он подключен к TMRO, будет сброшен.
- Если в результате выполнения команды изменяется счетчик команд или выполняется переход по проверке условия, то команда выполняется за два цикла. Второй цикл выполняется как NOP.
|