Académique Documents
Professionnel Documents
Culture Documents
Conjunto de Instruções
Repertório de 35 instruções
Instruções de 14 bits
Um ou mais operandos
Categoria de Instruções
Instruções orientadas a Registrador
Instruções orientadas a bit
Instruções com literais
Instruções de controle
Prof. Pastro
Microcontrolador PIC16F84: Conjunto de Instruções
Nomenclatura:
f : Registrador (endereço de memória)
W: Registrador de trabalho ( Acumulador)
b : Endereço de um bit do registrador
k : Literal (constante ou label)
x : Condição irrelevante (don´t care)
d : Destino do resultado de uma operação
d = 0: resultado é armazenado em W
d = 1: resultado é armazenado em um
registrador do Register File
label: Nome de um endereço sombólico
TOS: Topo da Pilha
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
ADDWF 0x25,0
W ← (W) + (0x25)
ADDWF 0x25,1
0x25 ← (W) + (0x25)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
ANDWF 0x28,0
W ← (W) AND (0x28)
ANDWF 0x28,1
0x28 ← (W) AND (0x28)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
CLRF f : Clear f
f ←0
Exemplos :
CLRF 0x30
0x30 ← 0
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
CLRW : Clear W
W ←0
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
COMF 0x35,0
W ← (0x35)’
COMF 0x35,1
0x35 ← (0x35)’
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
DECF 0x30,0
W ← (0x30) - 1
DECF 0x30,1
0x30 ← (0x30) - 1
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
DECFSZ 0x30,0
W ← (0x30) – 1
Salta próxima instrução se = 0
DECFSZ 0x30,1
0x30 ← (0x30) – 1
Salta próxima instrução se = 0
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
INCF 0x30,0
W ← (0x30) + 1
INCF 0x30,1
0x30 ← (0x30) + 1
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
INCFSZ 0x37,0
W ← (0x37) + 1
Salta próxima instrução se = 0
INCFSZ 0x37,1
0x37 ← (0x37) + 1
Salta próxima instrução se = 0
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
IORWF 0x23,0
W ← (W) OR (0x23)
IORWF 0x23,1
0x23 ← (W) OR (0x23)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
MOVF 0x32,0
W ← (0x32)
MOVF 0x32,1
0x32 ← (0x32)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
MOVWF 0x37
0x37 ← (W)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
NOP : No Operation
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
RLF 0x23,0
W ← (0x23) deslocado à esquerda
RLF 0x23,1
0x23 ← (0x23) deslocado à esquerda
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
RRF 0x23,0
W ← (0x23) deslocado à direita
RRF 0x23,1
0x23 ← (0x23) deslocado à direita
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
SUBWF 0x25,0
W ← (0x25) - (W)
SUBWF 0x25,1
0x25 ← (0x25) - (W)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
SWAPF 0x25,0
W ← (0x25) com nibbles trocados
SWAPF 0x25,1
0x25 ← (0x25) com nibbles trocados
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
XORWF 0x23,0
W ← (W) XOR (0x23)
XORWF 0x23,1
0x23 ← (W) XOR (0x23)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
BCF 0x24,5
Bit 5 do registrador 0x24 é zerado
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
BSF 0x28,3
Bit 3 do registrador 0x28 é setado
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
BTFSC 0x34,1
Salta próxima instrução se o bit 1 do
Registrador 0x34 for = 0
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
BTFSS 0x36,4
Salta próxima instrução se o bit 4 do
Registrador 0x36 for = 1
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
ADDLW 0x30
W ← (W) + 0x30
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
ANDLW 0x35
W ← (W) AND 0x35
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
IORLW 0x42
W ← (W) OR 0x42
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
MOVLW 0x77
W ← 0x77
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Exemplos :
SUBLW 0x55
W ← 0x55 – (W)
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
XORLW 0x85
W ← (W) XOR 0x85
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
Exemplos :
CALL sub
Desvia para sub-rotina cujo endereço
de entrada é sub
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
Exemplos :
CLRWDT
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
GOTO k: Go To Address
Desvia para o endereço k
Exemplos :
GOTO 0x125
Desvia para o endereço 0x125
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
Exemplos :
RETFIE
Encerra a interrupção que está sendo
atendida
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
RETLW 0x33
Retorna da sub-rotina, colocando o
valor 0x33 no registrador W.
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
Prof. Pastro
Microcontrolador PIC16Fxx: Conjunto de Instruções
Instruções de Controle:
Prof. Pastro