Результат (f–w) представляет разность величин операндов. Значение регистра f не изменяется, результат сохраняется в рабочем регистре w и изменяет регистр признаков.
Для определения большего из них достаточно контролировать состояние флагов Z и C.
Байт данных больше, чем рабочий регистр f–w>0 даёт С=1, Z=0
Байт данных равен рабочему регистру f–w=0 даёт С=1, Z=1
Байт данных меньше, чем рабочий регистр f–w<0 даёт С=0, Z=0
Команда AND вычисляет поразрядное логическое умножение операндов. Результат операции—измененные флаги регистра признаков. Мы можем использовать AND для проверки значений отдельных битов в массиве битов (регистре данных).
Проиллюстрируем эти команды несколькими примерами:
SUBLW 4 ; сравниваем W со значением 4
SUBWF TEMP,W ;сравниваем W с TEMP
ANDLW B’00000100’ ;проверяем значение второго разряда W
Команды передачи управления. Команда «нет операции»
Команда NOP не изменяет состояние системы, единственным результатом ее работы будет изменение состояния счетчика команд РС. Она выполняется за один машинный цикл, так что ее основное назначение – реализация коротких задержек (с дискретностью 1 мкс при тактовой частоте 4МГц).
Пример: формирование импульса длительностью 2 мкс
BSF PORTA,0 ; установка 1 мкс
NOP ; 1 мкс
BCF PORTA,0 ; сброс