Instruction Set - acmlira/pic16f628a GitHub Wiki

If you don't speak portuguese, all information in this spot can be found compiled here.

Set de instruções

Todas as informações aqui estão compiladas no datasheet do microcontrolador e podem ser encontradas aqui.

Termos gerais

As seguintes letras compõe as instruções:

Letra Descrição
f Register file address, endereço de registrador
W Registrador de trabalho (acumulador)
b Bit de registrador de 8-bits
k Constante, dados literais ou labels
d Destino de operação 0 ou W; guarda em W. 1 ou f; guarda em f
¬TO Bit de Time-out
¬PD Bit de Power-down

Tabelas de instruções

Instruções de byte:

Mnemônico Descrição Ciclos de máquina Flag no STATUS
ADDWF f, d d = W + f 1 C, DC, Z
ANDWF f, d d = AND f com W 1 Z
CLRF f f = B'00000000' 1 Z
CLRW W = B'00000000' 1 Z
COMF f, d Inverte os bits de f 1 Z
DECF f, d d = f - 1 1 Z
DECFSZ f, d if((d = f - 1) == 0){pula uma linha} 1(2) Nenhum
INCF f, d d = f + 1 1 Z
INCFSZ f, d if((d = f + 1) == 0){pula uma linha} 1(2) Nenhum
IORWF f, d d = OR f com W 1 Z
MOVF f, d d = f 1 Z
MOVWF F = W 1 Nenhum
NOP Consome 1 ciclo de máquina 1 Nenhum
RLF f, d d = a rotação dos bits do carry de f para esquerda 1 C
RRF f, d d = a rotação dos bits do carry e de f para direita 1 C
SUBWF f, d d = f - W 1 C, DC, Z
SWAPF f, d d = nibbles de f trocados (aaaabbbb -> bbbbaaaa) 1 Nenhum
XORWF f, d d = XOR f com W 1 Z

Instruções de bit:

Mnemônico Descrição Ciclos de máquina Flag no STATUS
BCF f, b Limpa bit b do registrador f 1 Nenhum
BSF f, b Seta bit b do registrador f 1 Nenhum
BTFSC f, b if((bit b do registrador f) == 0){pule uma linha} 1(2) Nenhum
BTFSS f, b if((bit b do registrador f) == 1){pule uma linha} 1(2) Nenhum

Instruções de literal:

Mnemônico Descrição Ciclos de máquina Flag no STATUS
ADDLW k W = W + k 1 C, DC, Z
ANDLW k W = AND W com k 1 Z
CALL k Chama uma sub rotina k 2 Nenhum
CLRWDT Limpa a contagem do Watch Dog Timer 1 ¬TO, ¬PD
GOTO k Desvia para endereço de k 2 Nenhum
IORLW k W = OR W com k 1 Z
MOVLW k W = k 1 Nenhum
RETFIE Retorno de interrupção 2 Nenhum
RETLW k Retorna da sub rotina, W = k 2 Nenhum
RETURN Retorno de sub rotina 2 Nenhum
SLEEP Ativa modo de economia de energia 1 ¬TO, ¬PD
SUBLW k W = k - W 1 C, DC, Z
XORLW k W = XOR W com k 1 Z