A parte de lo indicado anteriormente veo otro problema. Este si e más gordo y es que si el ADC no cambia de valor siempre vas a tener el mismo valor.
Imagínate que el valor leído del ADc es 3 (nunca sera mayor de 5), luego lo incrementas una unidad por lo que pasa a valer 4. Con esto nunca vas a conseguir que pase de valer mas de 10 y ningún bit de RD va a valer 1 ya que vuelves a la etiqueta de inicio.
Como se vuelve a leer el adc y este tenia 3 al incrementar uno volverás a tener 4 y así indefinidamente.
Si sumas 1 al valor del adc como maximo siempre tendrás 6 y estaras repitiendo el ciclo simepre.
Asi que tendras que rehacer la logica de lo que pretendes realizar. Qquizas guardando el valr del adc en un registro auxiliar, incrementar este y en la proxima lectura del adc, sumar su valor al del registro. Bueno esto es un ejemplo. No se lo que pretendes realizar.