CPFSLT

Автор: Super User Просмотров: 1997
CPFSLT Операция сравнения f с W, пропуск след. команды если f<.W
Синтаксис: [label] CPFSLT f,a
Операнды: 0<=f<=255
a Е [0,1]
Операция: (f)-(W),
пропуск след. команды если (f)<(W)
Изменяет флаги: Нет
Код: 0110 000a ffff ffff
Описание: Сравниваются данные регистра f с содержимым регистра W. Если f<.W, вместо следующей по списку команды выполняется пустая операция (NOP) растягивая выполнение данной команды на 2 цикла. Значение бита доступа к памяти a обрабатывается стандартным образом (по умолчанию a=1)
Слов: 1
Циклов: 1(2,3)

Пример:

            list          p=18F252 ; Используется микроконтроллер PIC18F252.
            #include   p18F252.inc ; Подключение INC-файла PIC18F252.
;*************************************************************************
; Конфигурирование.
;*************************************************************************
            CONFIG      OSC=XT     ; кварц.резонатор
            CONFIG      BOR=OFF    ; Сброс по снижению питания выключен
            CONFIG      WDT=OFF    ; WDT выключен.
            CONFIG      LVP=OFF    ; Режим низковол. программирования выкл.
;************************************
; Регистры общ. назначения
;************************************
            cblock             20h ;
            Temp                   ;      
            endc                   ;
;*******************************************************************
            org                  0 ;
            goto             START ;
;===================================================================
; Начало программы.
;===================================================================
START       movlw              .25 ; записываем десятичное число 25
            movwf             Temp ; в регистр Temp

            movlw               .7 ; записываем дяс.число 7 в аккумулятор W
            CPFSLT            Temp ; сравниваем регистр Temp с W            
nop ; если
Temp меньше "W" nop ; если Temp больше "W" ;===========================================             end

 

Разъяснение:

Если в регистре Temp находится число меньше чем в W,  то программа остановится на верхнем NOPe (вместо команды NOP может быть любая другая команда, здесь приведена в качестве примера). Если регистр больше аккумулятора, то соответственно программа остановится на нижнем  NOPe, пропустив тем самым  верхний.

 


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru