MSE
MSE | |
---|---|
Verleger | Markt & Technik |
Release | 1985 |
Lizenz | Vollversion |
Plattform(en) | C64 |
Genre | Eingabehilfe 64'er-Magazin |
Steuerung | |
Medien | , Listing |
Sprache(n) | ![]() |
Information | Versionen 1.x, 2.x und 3 |
Der MSE ist die Abkürzung für MaschinenSpracheEditor und ist ein Programm für den C64, das der zur Eingabeerleichterung von Maschinenspracheprogrammen dient. Es wurde in der Computerzeitschrift 64'er erstmals in Ausgabe 02/1985[1] vorgestellt.
Benutzung[Bearbeiten | Quelltext bearbeiten]
Anstelle von langen DATA-Zeilen oder Assembler-Listings (z.B. Hypra-Ass) werden zweistellige Hexadezimalzahlen eingegeben. Zeilenweise Prüfsummen sichern die Eingabe gegen Tippfehler ab. Der MSE selber wurde als BASIC-Programm mit Maschinenspracheroutine veröffentlicht. Es sind verschiedenen MSE-Versionen erschienen.
Eingabedatenbeispiel für MSE V1.0: (ergibt kein lauffähiges Programm!)
0801: 1c 08 c4 07 8b 20 c2 28 48 0809: 36 35 35 33 34 29 b2 37 53
Eine verbesserte Version des MSE, die Version 2.0, erschien in der 64'er-Ausgabe 07/1990[2]. Durch die Verwendung von fast allen Buchstaben in einer 4-stelligen Buchstaben-Zahlen-Kombination waren die MSE-Listings schlanker.
Eingabedatenbeispiel für MSE V2.0: (ergibt kein lauffähiges Programm!)
0801: apd1 fa35 fhxc 11w6 7777 75e7 bu 0810: vn3t lbdy b77x qtgw pp7x ikdd ft
Wegen eines Fehlers in der Prüfsummenroutine des MSE V2.0 erschien in der 64'er-Ausgabe 5/1991 ein Patch[3]. Der Fehler konnte in äußerst seltenen Fällen dazu führen, dass unterschiedliche Zeilen die identische Prüfsumme haben, also eine Abweichung aus einem leicht zu übersehenden Unterschied (z.B. "i" statt "j") aufweisen.
Die korrigierte Version mit dem Patch nannte sich dann MSE V2.1. Alle drei MSE-Versionen sind inkompatibel zueinander!
MSE-Version | gültig für Ausgaben |
---|---|
1.0 | 2/85 bis 6/90 |
2.0 | 7/90 bis 4/91 |
2.1 | 5/91 bis 5/94 |
Ab der 64'er-Ausgabe 06/1994 entfiel das Abtippen der MSE-Listings, da die Programmservicediskette dem Heft monatlich beigelegt wurde.
Für BASIC-Programme leistet das Programm Checksummer vergleichbares.
Technische Details[Bearbeiten | Quelltext bearbeiten]
Der MSE V1.0 berechnet die Prüfsummen mit folgendem Algorithmus (Pseudo-Code)[4]:
tmp = adr & 255 for b in bytes: tmp = (tmp + b) << 1 checksum = (tmp >> 8 + tmp & 255 + 1) & 255
Quellen[Bearbeiten | Quelltext bearbeiten]
- ↑ MSE V1.0 in 64'er Ausgabe 02/1985 S. 68, D64
- ↑ MSE V2.0 in 64'er-Ausgabe 07/1990, S. 47, D64
- ↑ MSE V2.1 in 64'er-Ausgabe 5/1991, S. 51, D64
- ↑ Thema: Checksummenalgorithmus von MSE? auf Forum64.de