Pues lo de cambiar la tabla de 0 al 1 ya lo hice.
Has cambiado todos? asi:
CERO equ H'7E' ; 01111110 asi 10000001
UNO equ H'0C' ; 00001100 11110011
DOS equ H'B6' ; 10110110 01001001
TRES equ H'9E' ; 10011110 01100001
CUATRO equ H'CC' ; 11001100 00110011
CINCO equ H'DA' ; 11011010 00100101
SEIS equ H'FA' ; 11111010 00000101
SIETE equ H'0E' ; 00001110 11110001
OCHO equ H'FE' ; 11111110 00000001
NUEVE equ H'DE' ; 11011110 00100001
SEGM_OFF equ H'00' ; 11111111Todos los segmentos apagados. Separador entre horas
; y minutos apagado (RB0).
La otra solucion que te decia era esta:
PROX_DIGITO
movf INDF,W ; Obtener el valor de la variable "digito" actual
call CODIGO_7S ; LLamar a la rutina de conversión a código 7 segmentos
comf W,0 ; Realiza el complemento, cambia 0 por 1 y viceversa movwf INDF ; Colocar en la variable "digito" el código 7 segmentos devuelto
incf FSR,F ; Incremente INDF para el próximo "digito"
decfsz conta1,F ; Permitir que conta1 de sólo 4 vueltas
goto PROX_DIGITO
Creo que aqui es el unico sitio que llama a la tabla. Pero seguramente habra que cambiar alguna cosa mas.