# Programmausschnitt Modula 2



## MisterPhilister (27. Aug 2007)

Ich habe ein Problem mit einem Modula 2 Programm: Vielleicht hat ja einer ne Ahnung davon. Ich bin für jeden Hinweis dankbar.

Was macht folgende Funktion?


```
PROCEDURE WriteByte( byte : BYTE; 
master : MasterType ); 

VAR 
dummy : BOOLEAN; 

BEGIN (* WriteByte *) 
DEBUG( str, 'WriteByte' ); 
DEBUG( char, CHAR( byte )); 
dummy := WriteChar( GetInterface( master ), CHAR( byte )); 

chksum := ( chksum + ORD( byte ) ) MOD 0100H; 

END WriteByte; 

der Aufruf erfolgt folgendermassen: 

WriteByte( BYTE( 3 ), damoc ); 

Was also geschieht mit dem Wert 3? Wird von diesem der ASCI Code genommen und irgend was gemacht damit, oder wie ist das zu verstehen?
```


----------



## tuxedo (28. Aug 2007)

Auf den ersten Blick kann ich dir 3 Hinweise geben:
- Es heißt "modulO" und nicht "modulA". 
- Und es wird nicht Modulo 2, sondern Modulo 256 gerechnet (0100H -> 256).
- Die WriteByte-Funktion scheint das Byte im Argument irgendwohin zu schreiben und danach, eine Prüfsumme zu errechnen, bzw zu erweitern.


----------



## Wildcard (28. Aug 2007)

YMMD  :lol: 
http://de.wikipedia.org/wiki/Modula-2


----------



## tuxedo (28. Aug 2007)

*alles zurück nehm und das gegenteil behaupte* Ah, jetzt geht mir ein Licht auf...  *g* Man lernt halt nie aus... 

- Alex


----------



## AlArenal (28. Aug 2007)

Es gibt Menschen, die Modula-2 nicht kennen? Herrje.. Wäre der Wirth schon tot,. würde er sich im Grabe herumdrehen... Nun sag nicht, du kennst auch Oberon und Eiffel nicht? (wo wir schonmal beim Wirth und der ETH Zürich sind)


----------



## tuxedo (28. Aug 2007)

Muss man den alle Programmiersprachen kennen? Kennst du JAL? 
Modula2 gehört für mich jetzt nicht zu den Sprachen die man unbedingt kennen MUSS. List/Scheme etc. schon eher. Aber wir schweifen vom Thema ab...

- Alex


----------



## AlArenal (28. Aug 2007)

Welche Bedeutung hat schon JAL?

Aber Modula-2!...


----------



## MisterPhilister (28. Aug 2007)

Und was heisst das jetzt genau? Ich denke es sollten mittlerweile alle differenzen bezüglich Modula / Modulo geklärt sein, dann können wir uns doch wieder auf das fachliche konzentrieren!

Wird aus der 3 ein Byte gemacht ? Im stil von 00000011 und dann übermittelt?

WriteChar() ist zuvor importiert worden von RS232, also wird das ganze da auf die serielle Schnittstelle geschrieben...


----------



## tuxedo (28. Aug 2007)

Hmm, ich würd sagen es wird die CHAR-Repräsentation der "3" gesendet. Im Endeffekt bleibts bei der Übertragung aber doch wieder ein Byte, welches den dezimalen Wert 3 hat.

- Alex


----------

