Microcontroladores

Solo disponible en BuenasTareas
  • Páginas : 8 (1812 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de febrero de 2010
Leer documento completo
Vista previa del texto
CONJUNTO DE INSTRUCCIONES DEL LOS PIC’S
f: cualquier registro del microcontrolador
W: registro de trabajo
b: posición de un bit en el registro ‘f’
d: destino, puede ser ‘f’ (d=1) o ‘W’ (d=0)
etiqueta: grupo de caracteres que marcan el inicio de una parte del programa
[ ]: opcional
: posición de un bit dentro de un registro
INSTRUCCIONES ORIENTADAS A REGISTROS

ADDWF: Suma W y f
Suma el contenidodel registro ‘W’ y el registro ‘f’. Si “d” es 0, el resultado se almacena en el registro W. Si ‘d’ es 1 el resultado se almacena en el registro ‘f’.
Sintaxis: [etiqueta] ADDWF f,d
Operación: (W) + (f) –> (destino)
Flags afectados: C, DC, Z
Ejemplo: ADDWF REG,1
Antes de la instrucción: W=0×03, REG=0×04
Después de la instrucción: W=0×03, REG=0×07
ANDWF: W AND f
Realiza la operación lógica ANDentre el registro W y el registro “f”. Si “d” es 0 el resultado se almacena en el registro W. Si “d” es 1, el resultado se almacena en el registro “f”.
Sintaxis: [etiqueta] ANDWF f,d
Operación: (W) AND (f) –> (destino)
Flags afectados: Z
Ejemplo: ANDWF REG,1
Antes de la instrucción: W=0×17, REG= 0xC2
Después de la instrucción: W=0×17, REG= 0×02

CLRF: Borra un registro
Borra el contenido delregistro ‘f’ y se activa el flag Z.
Sintaxis: [etiqueta] CLRF f
Flags afectados: Z
Ejemplo: CLRF REG
Antes de la instrucción: REG=0×54
Después de la instrucción: REG=0×00, Z=1

CLRW: Borra el registro de trabajo W
Borra el contenido del registro ‘W’ y se activa el flag Z. Esta instrucción no tiene operandos.
Sintaxis: [etiqueta] CLRW
Flags afectados: Z
Ejemplo: CLRW
Antes de la instrucción: W=0×54Después de la instrucción: W=0×00, Z=1
COMF: Complementa el registro f
El contenido del registro ‘f’ se complementa. Si d=0 el resultado se almacena en el registro W. Si d=1 el resultado se almacena en el registro ‘f’.
Sintaxis: [etiqueta] COMF f,d
Flags afectados: Z
Ejemplo: COMF REG,0
Antes de la instrucción: REG=0×13
Después de la instrucción: REG=0×13, W=0xEC
DECF: Decrementa f en 1
De decrementaen uno el contenido del registro ‘f’. Si d=0, el resultado se almacena en W. Si d=1, el resultado se almacena en ‘f’.
Sintaxis: [etiqueta] DECF f,d
Flags afectados: Z
Ejemplo: DEC CONT, 1
Antes de la instrucción: CONT=0×01, Z=0
Después de la instrucción: CONT=0×00, Z=1
DECFSZ: Decrementa en 1 y salta si el resultado es 0
El contenido del registro ‘f’ se decrementa. Si ‘d=0, el resultado se colocaen el registro W. Si d=1, el resultado se coloca en el registro ‘f’. Si el resultado es 0, se salta la siguiente instrucción y se continúa con la ejecución.
Sintaxis: [etiqueta] DECFSZ f,d
Flags afectados: Ninguno
INCF: Incrementa el registro f
Incrementa en uno el contenido del registro ‘f’. Si d=0, el resultado se almacena en W. Si d=1, el resultado se almacena en ‘f’.
Sintaxis: [label] INCFf,d
Flags afectados: Z
Ejemplo: INCF CONT,1
Antes de la instrucción: CONT=0xFF, Z=0
Después de la instrucción: CONT=0×00, Z=1
INCFSZ: Incrementa en 1 y salta si el resultado es 0
El contenido del registro ‘f’ se incrementa. Si d=0, el resultado se coloca en el registro W. Si d=1, el resultado se coloca en el registro ‘f’. Si el resultado es 0, se salta la siguiente instrucción y se continúa con laejecución.
Sintaxis: [etiqueta] DECFSZ f,d
Flags afectados: Ninguno

IORWF: W OR f
Realiza la operación lógica OR entre el registro W y el registro ‘f’. Si d=0 el resultado se almacena en el registro W. Si d=1, el resultado se almacen en el registro ‘f’.
Sintaxis: [etiqueta] IORWF f,d
Flags afectados: Z
Ejemplo: IORWF REG,0
Antes de la instrucción: REG=0×13, W=0×91
Después de la instrucción:REG=0×13, W=0×93
MOVF: Mover el registro f
El contenido del registro ‘f’ se mueve al destino ‘d’. Si d=0, el destino es el registro W. Si d=1, el destino es el propio registro ‘f’.
Sintaxis: [etiqueta] MOVF f,d
Flags afectados: Z
Ejemplo: MOVF REG,0
Después de la instrucción: W=REG
RLF: Rota el registro f a la izquierda
El contenido del registro ‘f’ se rota una posición a la izquierda. El bit de más...
tracking img