14 El set de instrucciones.
Existen un total de 35 instrucciones. Todas las instrucciones son palabras de 14 bits, divididas en dos partes: el código
de operación y el operando. Los operandos, es decir los destinatarios de la operación a realizarse pueden ser bytes, bits de memoria o
registros. De esta forma se puede hablar de instrucciones "orientadas a bytes" u "orientadas a bits".
Todas las instrucciones, con excepción de las que modifican el contenido del contador del programa (como son los
saltos y llamados a subrutina) se ejecutan en un ciclo de instrucción, es decir, 4 ciclos de reloj. Para un sistema funcionando a 4 Mhz,
cada instrucción se ejecuta en 1 microsegundo. Si la instrucción modifica el contenido del contador del programa, entonces el tiempo
de ejecución es de 2 ciclos de instrucción ó 2 microsegundos. El grupo de 35 instrucciones es el siguiente:
MOVE GROUP
movf
f,d
movwf
f
movlw
k
clrf
f
clrw
swapf
f,d
ARITHMETIC GROUP
addwf
f,d
addlw
k
subwf
f,d
sublw
k
indf
f,d
incfsz
f,d
decf
f,d
decfsz
f,d
LOGIC GROUP
andwf
f,d
andlw
k
iorwf
f,d
iorlw
k
xorwf
f,d
xorlw
k
comf
f,d
16
move f
move w to f
move literal to w
clear f
clear w
swap nibbles in f
add w and f
add literal to w
substract w from f
substract w from literal
increment f
increment f, skip if 0
decrement f
decrement f, skip if 0
and w and f
and literal to w
inclusive or w and f
inclusive or literal to w
exclusive or w and f
exclusive or literal to w
complement f
EDUPIC 16F628 Punto Flotante, S.A. 2010