Está en la página 1de 1

include <p16f877a.

inc> ; con esta directiva puedo referirme a los regis


tros por
; su nombre de acuerdo a como estan en la hoja d
e datos.
ORG 0X00 ; con esta directiva hag
o la siguiente instrucción se carge en la
bsf STATUS,5 ; direccion 0X00 de la memoria d
e programa (es el vector de interrupciofn)
clrf TRISE
movlw 0x06
movwf ADCON1
bcf STATUS,5 ; directiva que regresa
el banco 0 para accesar a los PORTB, PORTC
bcf STATUS,2 ;se limpia la bandera Z
del registro STATUS
INICIO movf PORTB,W ;se carga w con el valor del puerto B
xorwf PORTC,W ;se realiza la operacion logica
xor y se guarda en Z
btfsc STATUS,Z ;testea Z si el cero se salta un instruc
cion y si es 1 pasa a la siguiente instruccion
bsf PORTE,0
BTFSS STATUS,Z
CALL DIFERENCIA
GOTO INICIO
DIFERENCIA movf PORTB,W
SUBWF PORTC,W ;RESTA B-C
BTFSC STATUS,C
BSF PORTE,2 ;B>C
BTFSS STATUS,C
BSF PORTE,1 ;B<C
RETURN
END

También podría gustarte