Sieht doch gar nicht so schlecht aus. Ich habe mal ein paar kleine Änderungen gemacht. Probier es mal aus.

Code:
$regfile = "M8def.dat"
$crystal = 1000000

'--------Segmente---------------
Config Portd = Output
Portd = 1

'----------Anode Display---------
Config Portb = Output
Digit1 Alias Portb.1
Digit2 Alias Portb.2

Portb = 0

'---------AD-Wandler Config-------------
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

'--------Timer Config----------------
Dim A As Byte                                               'Umschaltung einer/zehner


Config Timer0 = Timer , Prescale = 8
On Timer0 Timer_routine
Enable Timer0
Enable Interrupts
A = 1



Dim Messung As Word
Dim Stelle(2) As Byte

Dim I As Byte

Dim X(10) As Byte

Restore Segmente

For I = 1 To 10
Read X(i)
Next I

Do

   Messung = Getadc(0) / 11                                'Wert vom ADC/11 (0-99) in Variable speichern
   Stelle(1) =messung / 10                                  'Hinter dem Komma wird abgeschnitten, enthält also die Zehner
   Incr Stelle(1)                                                 'Damit die Werte von 1-10 gehen
   Stelle(2)=messung mod 10                             'gibt den Rest, also die Einer
   Incr Stelle(2)

Loop


   End


Timer_routine:
   Portb.a = 0                                              'Vorherige Stelle ausschalten
   Incr A
   If A=3 Then A=1
   Portd=X(Stelle(A))                                   'Neue Segmente ausgeben
   Portb.a = 1                                              'Neue Stelle einschalten
Return

Segmente:
'gemeinsame Anode:
'      0      1       2      3        4      5        6      7     8      9
'Data &H3F , &H6 , &H05B , &H04F , &H066 , &H06D , &H07D , &H7 , &H7F , &H6F
'gemeinsame kathode:
'      0      1       2      3      4      5     6      7     8      9
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10