Ich habs jetzt:
Vielleicht nicht die eleganteste Lösung aber es Funktioniert! (zumindest halbwegs!)
Code:
 'Test programm für die Conrad RS232 Relaisplatine Best. Nr.: 967720


 $regfile = "m32def.dat"                                    'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
 $framesize = 32                                            'Stackanweisungen, die eigentlich nur bei größeren Programmen
 $swstack = 32                                              'wirklich nötig werden
 $hwstack = 32
 $crystal = 16000000                                        'Die Frequenz des verwendeten Quarzes

 $baud = 19200                                              'Die Baudrate für RS232 Ausgabe.
 Dim A As Byte                                              ' die Ausgabe Bytes definieren
 Dim B As Byte                                              'A ist der Erste Befehl:
 Dim C As Byte                                              '1 = Platine Initialisieren, 2 = Schaltzustände abfragen,
 Dim D As Byte                                              '3 = Relais schalten, 4 = Option abfragen,
 Dim I As Integer                                          '5 = Option setzten (Brodcast(an alle Platinen)
 'die Relaisplatine initialisieren                          'B = Platinenadresse (1...256)
 A = 1                                                      'C = Relaisadressse:
 B = 1                                                      '1= Rel1; 2= Rel2; 4= Rel3; 8=Rel4 usw.
 C = 0                                                      'D = Prüfsumme =  A Xor B Xor C
 D = A Xor B
 D = C Xor D
 Print Chr(a) ; Chr(b) ; Chr(c) ; Chr(d)
 Wait 1
 'sämtliche Kombinationen durchschalten
 Start1:

  A = 3
  I = 0
  I = I + 1
  C = I
  D = A Xor B
  D = C Xor D
  Print Chr(a) ; Chr(b) ; Chr(c) ; Chr(d)
  Wait 1
 Do
  I = I + 1
  C = I
  D = A Xor B
  D = C Xor D
  Print Chr(a) ; Chr(b) ; Chr(c) ; Chr(d)
  Wait 1
 Loop Until I = 256

 Goto Start1
Gruß Florian