ANDWF

Автор: Super User Просмотров: 1779
ANDWF Поразрядная операция И W и f
Синтаксис: [label] ANDWF f,d,a
Операнды: 0 <= f <= 255
d Е [0,1]
a Е [0,1]
Операция: (W).AND.(f)->(dest)
Изменяет флаги: Z, N
Код: 0001 01da ffff ffff
Описание: Логическая операция поразрядного сложения И регистров W и 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       b'10110110'; записываем двоичное число
            movwf             Temp ; в регистр Temp

            movlw      b'00001111' ; записываем двоичное число в аккумулятор W
            ANDWF             Temp ; логическая операция И с  Temp, результат в Temp
            nop                    ; нужен для точки остановки программы 
;===========================================
            end

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

После выполнения команды ANDWF выполняется логическая операция "И" с регистром Temp и  W.  Если d=0 результат сохраняется в аккумуляторе W.

С помощью такой команды очень удобно сбрасывать не нужные биты , к примеру в этой программе (после выполнения команды) сбрасываются старшие четыре бита, не зависимо от их состояния.

 


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

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