Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BCF REG,6
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.
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
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.
INCF CONT,1
Instrucción INCF: Incrementa en 1 el contenido del registro “CONT”, como d=1 el resultado se
almacena “CONT”.
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.
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
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
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)
GOTO ciclo