Четверг, 02 февраля 2012 19:32

COMF

Written by
Rate this item
(0 votes)
COMF Инверсия содержимого регистра
Синтаксис: [label] COMF f,d,a
Операнды: 0<=f<=255
d E [0,1]
a Е [0,1]
Операция: NEG(f) ->(dest)
Изменяет флаги: N,Z
Код: 0001 11da ffff ffff
Описание: Инвертирование битов регистра f. Если d=0, то результат сохраняется в регистре W. Если d=1, то результат сохраняется в f регистре. Значение бита доступа к памяти a обрабатывается стандартным образом (по умолчанию a=1)
Слов: 1
Циклов: 1

 

Пример:

            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              02h ; записываем шестнадцатеричное число 2
            movwf             Temp ; в регистр Temp
            COMF              Temp ; инверсия регистра Temp
            nop                    ; для отладки
 ;===========================================
            end

 

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

После выполнения команды COMF  значение регистра Temp инвертируется. Или по другому, с  регистром выполняется логическая операция "НЕ".

Если d=0  (COMF        Temp,0  ;), то  результат будет  в W.

 

Read 3022 times Last modified on Суббота, 13 сентября 2014 05:37
More in this category: « ADDWF

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

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