Hola solo debes modificar aca:
texto del asm.
; ****************************************************************
; RUTINA QUE GENERA UN NUMERO ALEATORIO MIENRAS ESTAN PULSANDO RA0
; ****************************************************************
NUM_ALEATORIO:
bsf STATUS,RP0 ; Seleccionamos Banco 1
MOVLW b'00000000' ; Deshabilitamos todas las interrupciones posibles
MOVWF INTCON
bcf STATUS,RP0 ; Seleccionamos Banco 0
MOVLW b'00000000'
MOVWF PORTB ; Escribimos en el puerto B
CLRF PULSA
SI: btfss PORTA,0 ; Se explora RA0 para ver si sigue pulsado
GOTO NO ; Si no sigue pulsando significa que ya no pulsan y x tanto mostramos
; el numero aleatorio que hemos generado anteriormente
INCF PULSA,F ; Incrementamos valor aleatorio
MOVF PULSA,W ; Miramos si es 6 segundos
SUBLW 8 ; ACA CAMBIAMOS 7 POR 8
BTFSS STATUS,Z ; Si Z esta a 1 es que la resta fue 0 y x tanto 1
GOTO SI ; Seguimos generando el numero aleatorio
MOVLW 1 ; Movemos un 0 a segundos, para q la cuenta siga 1..6
MOVWF PULSA
GOTO SI ; Seguimos generando el numero aleatorio
NO: MOVF PULSA,W ; Movemos el valor de PULSA a W
MOVWF SEG ; Movemos el valor de W a SEG, q muestra la rutina MOSTRAR_SEG
CALL MOSTRAR_SEG ; Mostramos el numero x el display
bcf STATUS,RP0 ; Seleccionamos Banco 0 y Cargamos TMR0 con 196
MOVLW b'11000100'
MOVWF TMR0
MOVLW b'10100000' ; Permitimos interrupcion de TMR0 y la global GIE
MOVWF INTCON ; Habilitamos de nuevo las interrupciones
CLRF SEG ; Limpiamos segundos anteriores
CLRF NUM ; Limipiamos numeros de interrupciones anteriores
RETURN
Solo debes cambiar el No 7 por el No 8 en la linea que esta marcado con rojo y listo, el genera un numero aleatorio, se detiene y resta con 7 para saber si es menor o igual a 7 y listo, ah pruebalo pues en esto no hay nada dicho, avisame, chauuuuuu, chauuuuuuuuuuuuuuuuu