Você está na página 1de 3

Tabela Set de instrues do PIC16F877A

Instruo Descrio Ciclos Status afetado

Instrues com registradores em nvel de Bytes

ADDWF f,d Soma o contedo do registro W com o 1 C,DC,Z


contedo de um registrador F qualquer

ANDWF f,d Operao E entre o contedo do registro W e 1 Z


contedo de um registro F qualquer

CLRF f Limpa o contedo de um registrador F qualquer 1 Z

CLRW - Limpa o contedo do registrador W 1 Z

COMF f,d Complementa o contedo de um registrador F 1 Z


qualquer

DECF f,d Decrementa o contedo de um registrador F 1 Z


qualquer

DECFSZ f,d Decrementa o contedo de um registrador F 1(2) -


qualquer, pula prxima instruo se zero

INCF f,d Incrementa o contedo de um registrador F 1 Z


qualquer

INCFSZ f,d Incrementa o contedo de um registrador F 1(2) -


qualquer, pula prxima instruo se zero

IORWF f,d Operao OU entre o contedo do registro W 1 Z


e contedo de um registro F qualquer

MOVF f,d Move o contedo de um registrador F qualquer 1 Z

MOVWF f Move o contedo do registro W para um 1 -


registrador F qualquer

NOP - Consome um ciclo, sem executar nada 1 -


RLF f,d Gira a esquerda o contedo de um registrador F 1 C
qualquer, considerando o Carry

RRF f,d Gira a direita o contedo de um registrador F 1 C


qualquer, considerando o Carry

SUBWF f,d Subtra o contedo do registro W com o 1 C,DC,Z


contedo de um registrador F qualquer

SWAPF f,d Troca os nibbles de um registrador qualquer 1 -

XORWF f,d Operao OU Exclusivo entre o contedo do 1 Z


registro W e contedo de um registro F
qualquer

Instrues com registradores em nvel de Bit

BCF f,b Zera um bit de um registrador F qualquer 1 -

BSF f,b Seta um bit de um registrador F qualquer 1 -

BTFSC f,b Testa um bit de um registrador F qualquer, pula 1(2) -


prxima instruo se igual a zero

BTFSS f,b Testa um bit de um registrador F qualquer, pula 1(2) -


prxima instruo se igual a 1

Operaes com Literais e de controle

ADDLW k Soma o valor k ao registrador W 1 C,DC,Z

ANDLW k Operao E entre o valor k e o registrador 1 Z


W

CALL k Chama uma sub-rotina representada por k 2 -

CLRWDT - Limpa o WatchDog Timer 1 TO,PD

GOTO k Desvia para o endereco representado por k 2 -


IORLW k Operao OU entre o valor k e o registrador 1 -
W

MOVLW k Move o valor k para o registrador W 1 -

RETFIE - Retorno de uma interrupo 2 -

RETLW k Retorno de uma sub-rotina com valor k no 2 -


registrador W

RETURN - Retorno de uma sub-rotina 2 -

SLEEP - Entra em modo Standby 1 TO,TP

SUBLW k Subtra o valor k do registrador W 1 C,DC,Z

XORLW k Operao OU Exclusivo entre o valor k e o 1 Z


registrador W