@vogon: ich hab mich jetzt noch ein bisschen informiert und es gibt keine mehrdimensionale arrays unter bascom... leider...

ich habe mich jetzt für folgende variante entschieden umd die Zeichen des strings ind die anzuzeigenden spalten zu bekommen:

Code:
$regfile = "m8def.dat"
$crystal = 8000000

$framesize = 512
$swstack = 512
$hwstack = 512

Config Portb = Output

Dim Umdrehung As Word
Dim Spaltenzeit As Byte
Dim A As Byte
Dim X As Byte

Dim I As Byte
Dim Anzeige As String * 30
Dim Zeichen As String * 1
Dim Spalte(150) As Byte
Dim Laenge As Byte
Dim Spalten As Byte

Config Int0 = Falling
On Int0 Int0isr
Enable Int0

Config Timer0 = Timer , Prescale = 64
On Timer0 Timer0isr
Enable Timer0

Config Timer1 = Timer , Prescale = 8
On Timer1 Timer1isr
Enable Timer1

Enable Interrupts

Start Timer0


Anzeige = "ABCDEFGHIJKLO"


Do

If I = Laenge Then
   I = 0
   X = 0
End If

Incr I

Zeichen = Mid(anzeige , I , 1)
Laenge = Len(anzeige)
Spalten = Laenge * 6

If Zeichen = "A" Then
   Incr X
   Spalte(x) = &B10000001
   Incr X
   Spalte(x) = &B01101111
   Incr X
   Spalte(x) = &B01101111
   Incr X
   Spalte(x) = &B01101111
   Incr X
   Spalte(x) = &B10000001
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "B" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B10010011
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "C" Then
   Incr X
   Spalte(x) = &B11000111
   Incr X
   Spalte(x) = &B10111011
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "D" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B10111011
   Incr X
   Spalte(x) = &B11000111
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "E" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "F" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B01101111
   Incr X
   Spalte(x) = &B01101111
   Incr X
   Spalte(x) = &B01111111
   Incr X
   Spalte(x) = &B01111111
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "G" Then
   Incr X
   Spalte(x) = &B10000011
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B01101101
   Incr X
   Spalte(x) = &B01100011
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "H" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B11101111
   Incr X
   Spalte(x) = &B11101111
   Incr X
   Spalte(x) = &B11101111
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "I" Then
   Incr X
   Spalte(x) = &B11111111
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B11111111
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "J" Then
   Incr X
   Spalte(x) = &B11111011
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B01111111
   Incr X
   Spalte(x) = &B11111111
   Incr X
   Spalte(x) = &B11111111
End If

If Zeichen = "K" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B11101111
   Incr X
   Spalte(x) = &B11010111
   Incr X
   Spalte(x) = &B10111011
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B11111111
End If


If Zeichen = "L" Then
   Incr X
   Spalte(x) = &B00000001
   Incr X
   Spalte(x) = &B11111101
   Incr X
   Spalte(x) = &B11111101
   Incr X
   Spalte(x) = &B11111101
   Incr X
   Spalte(x) = &B11111101
   Incr X
   Spalte(x) = &B11111111
End If



If Zeichen = "O" Then
   Incr X
   Spalte(x) = &B10000011
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B01111101
   Incr X
   Spalte(x) = &B10000011
   Incr X
   Spalte(x) = &B11111111
End If

Loop



Int0isr:
Umdrehung = Timer1
Umdrehung = Umdrehung / 1200
Spaltenzeit = Umdrehung
Timer1 = 0
A = 0
Return


Timer0isr:
Load Timer0 , Spaltenzeit
Incr A
If A > Spalten Then
Portb = 255
Else
Portb = Spalte(a)
End If
Return


Timer1isr:
I = 0
X = 0
Return