Холостая команда
Синтаксис: NOP
Операнды: Нет
Операция: Нет
Биты состояния: Не изменяются
Описание: Нет операции
Циклов: 1
RETFIE RETurn with Interrupt Enable
Возврат из подпрограммы с разрешением прерываний
Синтаксис: RETFIE
Операнды: Нет
Операция: (TOS) PC
Биты состояния: Не изменяются
Описание: Извлеченное из стека значение загружается в PC
Циклов: 2
RETLW RETurn with Literal in W
Возврат из подпрограммы с загрузкой константы в регистр W
Синтаксис: RETLW k
Операнды: 0 k 0FFH
Операция: k (W), (TOS) PC
Биты состояния: Не изменяются
Описание: 8-битовая константа k загружается в регистр W. Адрес возврата восстанавливается в PC из вершины стека (TOS)
Циклов: 2
RETURN RETURN with subroutine
Возврат из подпрограммы
Синтаксис: RETURN
Операнды: Нет
Операция: (TOS) PC
Биты состояния: Не изменяются
Описание: Извлеченное из стека значение загружается в PC
Циклов: 2
RLF Rotate Left f through carry
Сдвиг регистра f влево через перенос
Синтаксис: RLF f,d
Операнды: fmin f fmax, d [0,1]
Операция: f<n> d<n + 1>, f<7> C, C d<0>
Биты состояния: C
Описание: Содержимое регистра f сдвигается на 1 бит влево через бит переноса C. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же регистре f.
Циклов: 1
RRF Rotate Right f through carry
Сдвиг регистра f вправо через перенос
Синтаксис: RRF f,d
Операнды: fmin f fmax, d [0,1]
Операция: f<n> d<n - 1>, f<0> C, C d<7>
Биты состояния: C
Описание: Cодержимое регистра f сдвигается на 1 бит вправо через бит переноса C. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f.
Циклов: 1
SLEEP Go into standby mode
Переход в режим SLEEP
Синтаксис: SLEEP
Операнды: Нет
Операция: 00h WDT, 0 WDT prescale,
1 TO, 0 PD
Биты состояния: TO, PD
Описание: Команда сбрасывает сторожевой таймер WDT и предварительный делитель. В регистре состояния устанавливается бит TO и сбрасывается бит PD. Процессор переходит в режим SLEEP с выключенным генератором.
Циклов: 1
SUBLW SUBtract W from Literal
Вычитание регистра w из константы k
Синтаксис: SUBLW k
Операнды: 00H k 0FFH
Операция: (k) - (W) W
Биты состояния: C, DC, Z
Описание: Содержимое регистра W вычитается из 8-битовой константы k. Результат сохраняется в регистре W. Биты C и DC устанавливаются в 1 в случае отсутствия заема из старшего разряда.
Циклов: 1
SUBWF SUBtract W from f
Вычитание регистра w из регистра f
Синтаксис: SUBWF f,d
Операнды: fmin f fmax, d [0,1]
Операция: (f) - (W) (dest)
Биты состояния: C, DC, Z
Описание: Содержимое регистра W вычитается из содержимого регистра f. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же регистре f. Биты C и DC устанавливаются в 1 в случае отсутствия заема из старшего разряда.
Циклов: 1
SWAPF SWAP halves f
Обмен тетрад в регистре f
Синтаксис: SWAPF f,d
Операнды: fmin f fmax, d [0,1]
Операция: f<0:3> d<4:7>, f<4:7> d<0:3>
Биты состояния: Не изменяются
Описание: Содержимое старшей и младшей тетрад регистра f обменивается. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же регистре f.
Циклов: 1
XORLW eXclusive OR Literal to W
Инвертирование битов регистра W по маске k
Синтаксис: XORLW k
Операнды: 00H k 0FFH
Операция: (W).XOR.(k) W
Биты состояния: Z
Описание: В регистре W инвертируются те биты, которые в маске f равны 1.
Циклов: 1
XORWF eXclusive OR W and f
Сложение по модулю 2 регистров W и f
Синтаксис: XORWF f,d
Операнды: fmin f fmax, d [0,1]
Операция: (W).XOR.(f) (dest)
Биты состояния: Z
Описание: Содержимые регистров W и f поразрядно складываются по модулю 2. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же регистре f.
Циклов: 1
