| » Статистика |  
 Онлайн всего: 1  Гостей: 1  Пользователей: 0  |  
  
 
 | 
 
НАБОР КОМАНД PIC МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА PIC18 
				
			 | Мнемоника | 
Краткое описание | 
Циклов | 
16-ти битный код | 
Изменяет флаги | 
Прим. |  
| БАЙТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ  |  
| ADDWF f,d,a | 
Сложение W и f | 
1 | 
0010 01DA FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 6 
 |  
| ADDWFC f,d,a | 
Сложение W и f с использованием флага переноса | 
1 | 
0010 00DA FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 6 
 |  
| ANDWF f,d,a | 
Поразрядная операция И W и f | 
1 | 
0001 01DA FFFF FFFF | 
Z, N | 
1, 2, 6 
 |  
| CLRF f,a | 
Очистка регистра f | 
1 | 
0110 101A FFFF FFFF | 
Z | 
2, 6 
 |  
| COMF f,d,a | 
Инверсия содержимого регистра | 
1 | 
0001 11DA FFFF FFFF | 
N,Z | 
1, 2, 6 
 |  
| CPFSEQ f,a | 
Операция сравнения f с W, пропуск след. команды если f=W | 
1(2,3) | 
0110 001A FFFF FFFF | 
Нет | 
4, 6 
 |  
| CPFSGT f,a | 
Операция сравнения f с W, пропуск след. команды если f>W | 
1(2,3) | 
0110 010A FFFF FFFF | 
Нет | 
4, 6 
 |  
| CPFSLT f,a | 
Операция сравнения f с W, пропуск след. команды если f<W | 
1(2,3) | 
0110 000A FFFF FFFF | 
Нет | 
4, 6 
 |  
| DCFSNZ f,d,a | 
Уменьшение значения регистра f, пропуск следующей инструкции если результат не равен нулю | 
1(2,3) | 
0100 11DA FFFF FFFF | 
Нет | 
1, 2, 3, 4, 6 
 |  
| DECF f,d,a | 
Уменьшение значения регистра f | 
1 | 
0000 01DA FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 3, 4, 6 
 |  
| DECFSZ f,d,a | 
Уменьшение значения регистра f, пропуск следующей инструкции если результат равен нулю | 
1(2,3) | 
0010 11DA FFFF FFFF | 
Нет | 
1, 2, 3, 4, 6 
 |  
| INCF f,d,a | 
Увеличение значения регистра f | 
1 | 
0010 10DA FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 3, 4, 6 
 |  
| INCFSZ f,d,a | 
Увеличение значения регистра f, пропуск следующей инструкции если результат равен нулю | 
1(2,3) | 
0011 11DA FFFF FFFF | 
Нет | 
1, 2, 3, 4, 6 
 |  
| INFSNZ f,d,a | 
Увеличение значения регистра f, пропуск следующей инструкции если результат не равен нулю | 
1(2,3) | 
0100 10DA FFFF FFFF | 
Нет | 
1, 2, 3, 4, 6 
 |  
| IORWF f,d,a | 
Поразрядная операция ИЛИ W и f | 
1 | 
0001 00DA FFFF FFFF | 
Z, N | 
1, 2, 6 
 |  
| MOVF f, d, a | 
Пересылка f | 
1 | 
0101 00DA FFFF FFFF | 
Z, N | 
1, 6 
 |  
| MOVFF fs, fd | 
Пересылка из fs в fd | 
2(3) | 
1100 FFFF FFFF FFFFS  1111 FFFF FFFF FFFFD | 
Нет | 
  |  
| MOVWF f,a | 
Пересылка содержимого регистра W в регистр f | 
1 | 
0110 111A FFFF FFFF | 
Нет | 
6 
 |  
| MULWF f,a | 
Умножение содержимого регистров W и f | 
1 | 
0000 001A FFFF FFFF | 
Нет | 
6 
 |  
| NEGF f, a | 
перевод в обратную форму записи содержимого регистра f | 
1 | 
0110 110A FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 6 
 |  
| RLCF f, d, a | 
Сдвиг влево регистра f через перенос | 
1 | 
0011 01DA FFFF FFFF | 
C, N, Z | 
6 
 |  
| RLNCF f, d, a | 
Сдвиг влево регистра f (без переноса) | 
1 | 
0100 01DA FFFF FFFF | 
N, Z | 
6 
 |  
| RRCF f, d, a | 
Сдвиг вправо регистра f через перенос | 
1 | 
0011 00DA FFFF FFFF | 
C, N, Z | 
6 
 |  
| RRNCF f, d, a | 
Сдвиг вправо регистра f (без переноса) | 
1 | 
0100 00DA FFFF FFFF | 
N, Z | 
6 
 |  
| SETF f,a | 
Установка всех битов регистра f | 
1 | 
0110 100A FFFF FFFF | 
Нет | 
6 
 |  
| SUBFWB f,d,a | 
Вычитание f из W c заемом | 
1 | 
0101 01DA FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 6 
 |  
| SUBWF f,d,a | 
Вычитание W из f | 
1 | 
0101 11DA FFFF FFFF | 
C, DC, Z, OV, N | 
6 
 |  
| SUBWFB f,d,a | 
Вычитание W из f c заемом | 
1 | 
0101 10DA FFFF FFFF | 
C, DC, Z, OV, N | 
1, 2, 6 
 |  
| SWAPF f, d, a | 
Обмен местами полу-байт регистра f | 
1 | 
0011 10DA FFFF FFFF | 
Нет | 
4, 6 
 |  
| TSTFSZ f,a | 
тест f, пропуск если ноль | 
1(2,3) | 
1011 BBBA FFFF FFFF | 
нет | 
1, 2, 6 
 |  
| XORWF f,d,a | 
Поразрядная операция исключающего ИЛИ W и f | 
1 | 
0001 10DA FFFF FFFF | 
Z, N | 
1, 2, 6 
 |  
| БИТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ  |  
| BCF f,d,a | 
Сброс бита в f | 
1 | 
1001 BBBA FFFF FFFF | 
Нет | 
1, 2, 6 
 |  
| BSF f,d,a | 
Установка бита в f | 
1 | 
1000 BBBA FFFF FFFF | 
Нет | 
1, 2, 6 
 |  
| BTFSC f,b,a | 
Пропуск следующей команды если бит сброшен | 
1(2,3) | 
1011 BBBA FFFF FFFF | 
Нет | 
3, 4, 6 
 |  
| BTFSS f,b,a | 
Пропуск следующей команды если бит установлен | 
1(2,3) | 
1010 BBBA FFFF FFFF | 
Нет | 
3, 4, 6 
 |  
| BTG f,b,a | 
Инвертирование бита в регистра f | 
1 | 
0111 BBBA FFFF FFFF | 
Нет | 
1, 2, 6 
 |  
| СИМВОЛЬНЫЕ КОМАНДЫ  |  
| ADDLW k | 
Сложение W и k | 
1 | 
0000 1111 KKKK KKKK | 
C, DC, Z, OV, N | 
  |  
| ANDLW k | 
Логическая операция И W и k | 
1 | 
0000 1011 KKKK KKKK | 
Z, N | 
  |  
| IORLW k | 
Логическая операция ИЛИ W и k | 
1 | 
0000 1001 KKKK KKKK | 
Z, N | 
  |  
| LFSR f,k | 
Загрузка регистра FSR | 
2 | 
1110 1110 00FF KKKK  1111 0000 KKKK KKKK | 
Нет | 
  |  
| MOVLB k | 
Пересылка литеры в регистр BSR | 
1 | 
0000 0001 KKKK KKKK | 
Нет | 
  |  
| MOVLW k | 
Пересылка литеры в регистр W | 
1 | 
0000 1110 KKKK KKKK | 
Нет | 
  |  
| MULLW k | 
Умножение константы и W | 
1 | 
0000 1101 KKKK KKKK | 
Нет | 
  |  
| RETLW k | 
Возврат прерывания с записью константы в регистр W | 
2 | 
0000 1100 KKKK KKKK | 
Нет | 
  |  
| SUBLW k | 
Вычитание W из константы | 
1 | 
0000 1000 KKKK KKKK | 
C, DC, Z, OV, N | 
  |  
| XORLW k | 
Логическая операция исключающего ИЛИ W и k | 
1 | 
0000 1010 KKKK KKKK | 
Z, N | 
  |  
| ТАБЛИЧНЫЕ КОМАНДЫ  |  
| TBLRD (*; *+; *-; +*) | 
Чтение таблицы | 
2 | 
0000 0000 0000 10NN  NN=0 *  NN=1 *+ 
  | 
Нет | 
  |  
| TBLWT (*; *+; *-; +*) | 
Запись в таблицу | 
2 | 
0000 0000 0000 00NN  NN=0 *  NN=1 *+ 
  | 
Нет | 
  |  
| КОМАНДЫ УПРАВЛЕНИЯ  |  
| BC n | 
Переход если установлен флаг переноса (CARRY) | 
1(2) | 
1110 0010 NNNN NNNN | 
Нет | 
  |  
| BN n | 
Переход если установлен флаг отрицательного результата (N) | 
1(2) | 
1110 0110 NNNN NNNN | 
Нет | 
  |  
| BNC n | 
Переход если сброшен флаг переноса (CARRY) | 
1(2) | 
1110 0011 NNNN NNNN | 
Нет | 
  |  
| BNN n | 
Переход если сброшен флаг отрицательного результата (N) | 
1(2) | 
1110 0111 NNNN NNNN | 
Нет | 
  |  
| BNOV n | 
Переход если сброшен флаг переполнения (OV) | 
1(2) | 
1110 0101 NNNN NNNN | 
Нет | 
  |  
| BNZ n | 
Переход если сброшен флаг нулевого результата (Z) | 
1(2) | 
1110 0001 NNNN NNNN | 
Нет | 
  |  
| BOV n | 
Переход если установлен флаг переполнения (OV) | 
1(2) | 
1110 0100 NNNN NNNN | 
Нет | 
  |  
| BRA n | 
Безусловный переход | 
2 | 
1101 0NNN NNNN NNNN | 
Нет | 
  |  
| BZ n | 
Переход если установлен флаг нулевого результата (Z) | 
1(2) | 
1110 0000 NNNN NNNN | 
Нет | 
  |  
| CALL k,s | 
Вызов подпрограммы | 
2 | 
1110 110S KKKK KKKK  1111 KKKK KKKK KKKK | 
Нет | 
  |  
| CLRWDT | 
Сброс сторожевого таймера (WDT) | 
1 | 
0000 0000 0000 0100 | 
TO, PD | 
  |  
| DAW | 
Десятичная коррекция регистра W | 
1 | 
0000 0000 0000 0111 | 
C | 
  |  
| GOTO k | 
Безусловный переход | 
2 | 
1110 1111 KKKK KKKK  1111 KKKK KKKK KKKK | 
Нет | 
  |  
| NOP | 
Нет операции | 
1 | 
0000 0000 0000 0000 | 
Нет | 
  |  
| NOP | 
Нет операции | 
1 | 
1111 XXXX XXXX XXXX XXXX | 
Нет | 
4 
 |  
| POP | 
Извлечение из стека | 
1 | 
0000 0000 0000 0110 | 
Нет | 
  |  
| PUSH | 
Размещение в стеке | 
1 | 
0000 0000 0000 0101 | 
Нет | 
  |  
| RCALL n | 
Относительный вызов подпрограммы | 
2 | 
1101 1NNN NNNN NNNN | 
Нет | 
  |  
| RESET | 
Сброс | 
1 | 
0000 0000 1111 1111 | 
Команда влияет на все флаги | 
  |  
| RETFIE s | 
Возврат из прерывания | 
2 | 
0000 0000 0001 000S | 
GIE/GIEH, PEIE/GIEL | 
  |  
| RETURN s | 
Возврат из подпрограммы | 
2 | 
0000 0000 0001 001S | 
Нет | 
  |  
| SLEEP | 
Переход в режим SLEEP | 
1 | 
0000 0000 0000 0011 | 
TO, PD | 
  |  
  Примечания: 
- При выполнении операции чтение - модификация - запись с портом ввода
 вывода исходное значение считывается с выводов порта, а не из выходных 
защелок 
 - При записи в TMR0 предделитель TMR0 сбрасывается, если он подключен к TMR0 
 - Если условие истинно, или изменяется PC, команда выполняется за два цикла. Вторая команда NOP 
 - Некоторые команды имеют 2 16-ти разрядных слова. Если по 
каким-то причинам счетчик команд попадет на 2-е слово команды, то оно 
будет выполнено как NOP. 
 - Если производится запись во внутреннюю память, то следующая 
команда не начнет выполнятся до тех пор пока не закончится цикл записи. 
 - В ассемблере MASM по умолчанию d=1. 
   
  Источник: http://kazus.ru |  
| Категория: Справочник | Добавил: tehnomir (30.06.2011) 
  
 |  
| Просмотров: 2718 
| Рейтинг: 0.0/0 |  
 
 |   
 | 
 
 
 |