Está en la página 1de 3

EJEMPLOS DE INSTRUCCIONES

BCF REG,6

Instrucción BCF: Pone en cero el bit 6 del registro REG

Antes de la instrucción REG = b’11111111’

Después de la instrucción REG= b’10111111’

XORLW b’10101100’

Instrucción XORLW: Operación lógica XOR entre el registro W y la constante k que en este caso
es b’10101100’ , el resultado se guarda en el registro W.

Antes de la instrucción: W = b’11110000’

Después de la instrucción: W = b’01011100’

RETLW, 0x39

Instrucción RETLW: El programa regresa de la subrutina y carga el valor de 8 bits en este caso
del registro 0x39 en el registro W

Antes de la instrucción: W=xx

Después de la instrucción: W=0x39

ADDWF REG, 0

Instrucción ADDWF: Suma el contenido del registro 'W' y el registro 'REG', debido a que d=0 el
resultado se almacena en el registro W.

Antes de la instrucción: W=0x02, REG=0x03


Después de la instrucción: REG=0x03, W=0x05

INCF CONT,1

Instrucción INCF: Incrementa en 1 el contenido del registro “CONT”, como d=1 el resultado se
almacena “CONT”.

Antes de la Instrucción: CONT=0x09, Z=0

Después de la instrucción: CONT=0x10, Z=0 (no se activa el flag)

LOURDES VERA MEDINA _MICROCONTROLADORES


SWAPF: REG,0

Instrucción SWAPF: El nibble bajo del registro ‘REG’ se intercambia con el nibble alto del mismo.
En este caso d=0, por lo tanto el resultado se coloca en el registro W.

Antes de la instrucción: REG=0x43

Después de la instrucción: W=0x34

DECFSZ CONT, 1

Instrucción DECFSZ: Decrementa el contenido del registro CONT en una unidad, el resultado se
almacena en “CONT” debido a d=1. Si el resultado es cero, se ignora la siguiente instrucción y,
en ese caso la instrucción tiene una duración de dos ciclos.

DECFSZ CONT,1

MOVF REG,0

CONTINUAR

Al ejecutarse CONT = CONT -1

Si el valor de CONT = 0 entonces salta hacia dirección CONTINUAR

Si el valor de CONT ≠ 0 entonces realiza la instrucción MOVF REG, 0 (el contenido del registro
REG se mueve hacia w en este caso)

INCFSZ CONT, 1

Instrucción INCFSZ: Incrementa el contenido del registro CONT en una unidad, el resultado se
almacena en “CONT” debido a d=1. Si el resultado es cero, se ignora la siguiente instrucción y,
en ese caso la instrucción tiene una duración de dos ciclos.

INCFSZ CONT, 1

SUBWF REG, 0
NOP

Al ejecutarse CONT = CONT +1

Si el valor de CONT = 0 entonces salta hacia la instrucción NOP (no realiza ninguna operación,
consume un ciclo de reloj)

Si el valor de CONT ≠ 0 entonces realiza la instrucción SUBWF REG, 0 (Resta el contenido del
registro ‘REG’ menos el contenido del registro W, almacenándolo en este caso en W ya que d=0)

LOURDES VERA MEDINA _MICROCONTROLADORES


CLRW

Instrucción CLRW: Borra el contenido del registro ‘W’ y se activa el flag Z.

Antes de la instrucción: W=0x48

Después de la instrucción: W=0x00, Z=1

GOTO ciclo

Instrucción GOTO: El contador de programa salta a la dirección “ciclo”

Antes de la instrucción contador de programa = ? (está ubicado en cualquier lugar)

Después de la instrucción contador de programa = ciclo

LOURDES VERA MEDINA _MICROCONTROLADORES

También podría gustarte