Ahora no se desborda en SENOI1 ahi va perfecto, se desborda la primera vez que llama a la tabla desde SENOI2 porque tiene un 9 en CUENTA2, te hice un arreglo de urgencia decrementandolo antes de entrar en SENOI2, Y YA TE VA, PRUEBALO, tuve que cambiar el GOTO SENOI2 por GOTO $+5, sino hacia dos decrementos, y se saltaba uno si uno no en la tabla, ahora creo que va.
SENOI1
MOVF CUENTA2,W ;MUEVO A W EL VALOR DE CUENTA (0 INICIALMENTE)
CALL TABLA1 ;Llamamos a TABLA
MOVWF AUX3
INCF CUENTA2,1 ;SUMO 1 A CUENTA PARA INCREME
MOVF CUENTA2,W ;MUEVO EL VALOR DE W A AUX
XORWF FACTOR3,0 ;COMPARO CON FACTOR EL VALOR DE W
BTFSC STATUS,Z ;PREGUNTO POR LA BANDERA Z
GOTO $+5 ;SI SE LEVANTO VOY A TRIANG2
MOVF AUX3,0 ;MUEVO LO QUE TIENE AUX A W
MOVWF PORTB ; cargamos W en el puerto BCUENTA2,F
CALL DEMORA ;LLAMO AL RETARDO
GOTO SENOI1 ;va a TRIANG1
DECF CUENTA2,1
SENOI2
;AHORA CUENTA TIENE EL VALOR 1F QUE ES EL MAXIMO QUE SE CARGO EN EL PASO ANTERIOR
MOVF CUENTA2,W ;IGUAL QUE LO ANTERIOR SOLO QUE AHORA DECIENDE EL VALOR DE CUENTA
CALL TABLA1 ; llamamos a TABLA
MOVWF AUX4
XORWF FACTOR2,0
BTFSC STATUS,Z
GOTO FIN
MOVF AUX4,0
MOVWF PORTB ; cargamos W en el puerto B
DECF CUENTA2,F ; DECREMENTO EL VALOR DE CUENTA Y POR ESO LA GRAFICA DEFIENDE
CALL DEMORA
GOTO SENOI2