Dasselbe Proramm, allerdings ohne Sub, bringt korrekte Ergebnisse.

Auszug aus dem Hyperteminal:
ADR1= 233
ADR2= 3
ADR3= 210
ADR4= 7

Der erste Wert stimmt: 256 * 3 + 233 = 1001
Wie es sein soll.
Der zweite Wert stimmt auch: 256 * 7 + 210 = 2002
Eben. Wie es sein soll.

Merkwürdig merkwürdig.

Hat jemand Ahnung?
Darf ich bei Bascom kein Sub verwenden?
Oder übersehe ich bei der Verwendung von Sub etwas Wichtiges?
Oder... Um zu vergleichen, ob wirklich von mir angegeben Werte rauskommen: Kann bitte jemad bei sich die erste Listing Mal testen.

Code:
regfile = "m8def.dat"
$crystal = 11059200
$baud = 19200


Dim datenwort_1 As Word
Dim Datenwort_2 As Word
Dim Naechste_puffer_adresse As Word
Dim Write_puffer(64) As Byte
Dim Temp_d As Byte


   Naechste_puffer_adresse = 0

For Temp_d = 1 To 1

   Datenwort_1 = 1001
   Datenwort_2 = 2002

   Incr Naechste_puffer_adresse
   Write_puffer(naechste_puffer_adresse) = Low(datenwort_1)
   Incr Naechste_puffer_adresse
   Write_puffer(naechste_puffer_adresse) = High(datenwort_1)

   Incr Naechste_puffer_adresse
   Write_puffer(naechste_puffer_adresse) = Low(datenwort_2)
   Incr Naechste_puffer_adresse
   Write_puffer(naechste_puffer_adresse) = High(datenwort_2)


Next

Print "DW1= " ; Datenwort_1
Print "DW2= " ; Datenwort_2
Print "ADR1= " ; Write_puffer(1)
Print "ADR2= " ; Write_puffer(2)
Print "ADR3= " ; Write_puffer(3)
Print "ADR4= " ; Write_puffer(4)
Print "ADRN= " ; Naechste_puffer_adresse
Print " "


Do

Loop

Gruss

Ali