Abajo te adjunto un ejemplo de programa sacado de un libro. Su esquema lo tienes es www.ljlopez.com/Proteus.htm .
Codigo:
;************************************ Display_01.asm ************************************
;
; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ===================================================================
;
; En un display de 7 segmentos conectado al Puerto B se visualiza la cantidad leída por
; el Puerto A. Así por ejemplo si por la entrada lee "---0101" en el display visualiza "5".
;
; ZONA DE DATOS **********************************************************************
LIST P=16F84A
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
INCLUDE <P16F84A.INC>
; ZONA DE CÓDIGOS ********************************************************************
ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf PORTB ; Las líneas del Puerto B se configuran como salida.
movlw b"00011111" ; Las 5 líneas del Puerto A se configuran como entrada.
movwf PORTA
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
movf PORTA,W ; Lee la entrada
andlw b"00001111" ; Máscara para quedarse con el valor de las
; entradas correspondientes al nibble bajo.
call Binario_a_7Segmentos ; Convierte código binario a 7 segmentos del display.
movwf PORTB ; Resultado se visualiza por el puerto de salida.
goto Principal
; Subrutina "Binario_7Segmentos" --------------------------------------------------------
;
Binario_a_7Segmentos ; Tabla para display de 7 segmentos.
addwf PCL,F
Tabla retlw 3Fh ; El código 7 segmentos para el "0".
retlw 06h ; El código 7 segmentos para el "1".
retlw 5Bh ; El código 7 segmentos para el "2".
retlw 4Fh ; El código 7 segmentos para el "3".
retlw 66h ; El código 7 segmentos para el "4".
retlw 6Dh ; El código 7 segmentos para el "5".
retlw 7Dh ; El código 7 segmentos para el "6".
retlw 07h ; El código 7 segmentos para el "7".
retlw 7Fh ; El código 7 segmentos para el "8".
retlw 67h ; El código 7 segmentos para el "9".
retlw 77h ; El código 7 segmentos para la "A".
retlw 7Ch ; El código 7 segmentos para la "B".
retlw 39h ; El código 7 segmentos para la "C".
retlw 5Eh ; El código 7 segmentos para la "D".
retlw 79h ; El código 7 segmentos para la "E".
retlw 71h ; El código 7 segmentos para la "F".
END ; Fin del programa.