Логическое сложение регистров W и f




Микроконтроллер PIC16

Система команд

Г. Караганда

ADDLW ADD Literal to W

Прибавление регистра W к константе k

Синтаксис: ADDLW k

Операнды: 00H £ k £ 0FFH

Операция: (k) + (W) ® W

Биты состояния: C, DC, Z

Описание: Содержимое регистра W добавляется к 8-битовой константе k. Результат сохраняется в регистре W.

Циклов: 1

 

ADDWF ADD W and f

Прибавление регистра W к регистру f

Синтаксис: ADDWF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (f) + (W) ® (dest)

Биты состояния: C, DC, Z

Описание: Содержимое регистра W прибавляется к содержимому регистра f. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f.

Циклов: 1

ANDLW AND Literal to W

Сброс битов регистра W по маске k

Синтаксис: ANDLW k

Операнды: 00H £ k £ 0FFH

Операция: (W).AND.(k) ® W

Биты состояния: Z

Описание: В регистре W сбрасываются те биты, которые в маске k равны 0.

Циклов: 1

 

ANDWF AND W and f

Логическое умножение регистров W и f

Синтаксис: ANDWF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (W).AND.(f) ® (dest)

Биты состояния: Z

Описание: Содержимые регистров W и f поразрядно логически умножаются. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же ре­гистре f.

Циклов: 1

BCF Bit Clear f

Сброс бита b в регистре f

Синтаксис: BCF f,b

Операнды: f min £ f £ f max, 0 £ b £ 7

Операция: 0 ® b(f)

Биты состояния: Не изменяются

Описание: Бит b в регистре f сбрасывается в 0

Циклов: 1

 

BSF Bit Set f

Установка бита b в регистре f

Синтаксис: BSF f,b

Операнды: f min £ f £ f max, 0 £ b £ 7

Операция: 1 ® b(f)

Биты состояния: Не изменяются

Описание: Бит b в регистре f устанавливается в 1

Циклов: 1

BTFSC Bit Test f, Skip if Clear

Пропустить команду, если бит очищен

Синтаксис: BTFSC f,b

Операнды: f min £ f £ f max, 0 £ b £ 7

Операция: Пропустить команду, если b(f) = 0

Биты состояния: Не изменяются

Описание: Если бит b регистра f равен 1, выполняется следующая команда. Если бит b регистра f равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла.

Циклов: 1 (2)

 

BTFSS Bit Test f, Skip if Set

Пропустить команду, если бит установлен

Синтаксис: BTFSS f,b

Операнды: f min £ f £ f max, 0 £ b £ 7

Операция: Пропустить команду, если b(f) = 1

Биты состояния: Не изменяются

Описание: Если бит b регистра f равен 0, выполняется следующая команда. Если бит b регистра f равен 1, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла.

Циклов: 1 (2)

 

CALL CALL subroutine

Вызов подпрограммы

Синтаксис: CALL k

Операнды: 0 £ k £ 7FFH

Операция: (PC) + 1 ® TOS, k ® PC<10:0>, (PCLATH)<4:3> ® PC<12:11>.

Биты состояния: Не изменяются

Описание: Адрес возврата (PC) + 1 сохраняется в стеке. Младшие 11 бит адреса начала подпрограммы загружаются в PC из кода команды. Старшие два бита адреса загружаются в PC из регистра PCLATH.

Циклов: 2

CLRF CLeaR f

Очистка регистра f

Синтаксис: CLRF f

Операнды: f min £ f £ f max

Операция: 00h ® f, 1 ® Z

Биты состояния: Z

Описание: Содержимое регистра f сбрасывается в 0 и бит Z устанавливается в 1.

Циклов: 1

CLRW CLeaR W

Очистка регистра W

Синтаксис: CLRW

Операнды: Нет

Операция: 00h ® W, 1 ® Z

Биты состояния: Z

Описание: Содержимое регистра W сбрасывается в 0 и бит Z устанавливается в 1.

Циклов: 1

CLRWDT CLeaR WatchDog Timer

Сброс сторожевого таймера WDT

Синтаксис: CLRWDT

Операнды: Нет

Операция: 00h ® WDT, 0 ® WDT prescaler, 1 ® TO, 1 ® PD

Биты состояния: TO, PD

Описание: Команда сбрасывает сторожевой таймер WDT и предварительный делитель. В регистре состояния STATUS устанавливаются биты TO и PD.

Циклов: 1

COMF COMplement f

Инверсия регистра f

Синтаксис: COMF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция:. NOT.(f) ® (dest)

Биты состояния: Z

Описание: Содержимое регистра f инвертируется. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f.

Циклов: 1

DECF DECrement f

Декремент регистра f

Синтаксис: DECF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (f) – 1 ® (dest)

Биты состояния: Z

Описание: Содержимое регистра f декрементируется. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же регистре f.

Циклов: 1

DECFSZ DECrement f, Skip if 0

Декремент f, пропустить команду, если 0

Синтаксис: DECFSZ f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (f) – 1 ® (dest), пропустить, если (dest) = 0

Биты состояния: Z

Описание: Содержимое регистра f декрементируется. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f. Если результат не равен 0, выполняется следующая команда. Если результат равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла.

Циклов: 1 (2)

GOTO GOTO address

Переход по адресу

Синтаксис: GOTO k

Операнды: 0 £ k £ 7FFH

Операция: (k) ® PC <10:0>,

PCLATH<4:3> ® PC<12:11>.

Биты состояния: Не изменяются

Описание: Младшие 11 бит адреса перехода загружаются в PC из кода команды. Старшие два бита адреса загружаются в PC из регистра PCLATH.

Циклов: 2

INCF INCrement f

Инкремент регистра f

Синтаксис: INCF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (f) + 1 ® (dest)

Биты состояния: Z

Описание: Содержимое регистра f инкрементируется. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же регистре f.

Циклов: 1

INCFSZ INCrement f, Skip if 0

Инкремент f, пропустить команду, если 0

Синтаксис: INCFSZ f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (f) + 1 ® (dest), пропустить, если (dest)=0.

Биты состояния: Z

Описание: Содержимое регистра f инкрементируется. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f. Если результат не равен 0, выполняется следующая команда. Если результат равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла.

Циклов: 1 (2)

IORLW Inclusive OR Literal to W

Установка битов регистра W по маске k

Синтаксис: IORLW k

Операнды: 00H £ k £ 0FFH

Операция: (W).OR.(k) ® W

Биты состояния: Z

Описание: В регистре W устанавливаются те биты, которые в маске k равны 1.

Циклов: 1

 

IORWF Inclusive OR W and f

Логическое сложение регистров W и f

Синтаксис: IORWF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (W).OR.(f) ® (dest)

Биты состояния: Z

Описание: Содержимые регистров W и f поразрядно логически складывается. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f.

Циклов: 1

 

MOVF MOVe f

Пересылка регистра f

Синтаксис: MOVF f,d

Операнды: f min £ f £ f max, d Î [0,1]

Операция: (f) ® (dest)

Биты состояния: Z

Описание: Содержимое регистра f пересылается: при d = 0 – в регистр W, при d = 1 – в тот же регистр f. Назначение d = 1 имеет смысл использовать для проверки регистра на 0, поскольку команда изменяет флаг Z.

Циклов: 1

 

 

MOVLW MOVe Literal to W

Загрузка константы в регистр W

Синтаксис: MOVLW k

Операнды: 00H £ k £ 0FFH

Операция: (k) ® W

Биты состояния: Не изменяются

Описание: 8-битовая константа k загружается в регистр W

Циклов: 1

MOVWF MOVe W to f

Пересылка регистра W в регистр f

Синтаксис: MOVWF f

Операнды: f min £ f £ f max

Операция: (W) ® f

Биты состояния: Не изменяются

Описание: Содержимое регистра W пересылается в регистр f.

Циклов: 1

NOP No OPeration

Холостая команда

Синтаксис: 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

Операнды: f min £ f £ f max, 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

Операнды: f min £ f £ f max, 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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: