K. Schlenzig
Sie sind aus unserem Leben nicht mehr wegzudenken,
erfüllen ihre Aufgaben in Industrie, Landwirtschaft, bei der Ausbildung
und in vielen anderen Bereichen. Manches ist aber mit einem elektronischen
Einzelhirn nicht mehr lösbar. Oft arbeiten schon mehrere zusammen,
doch dazu müssen sie ihre Informationen austauschen können.
on-line oder off-line - das ist hier die Frage Grob gesehen kann man die Möglichkeiten der Kopplung von Computern in zwei Gruppen einteilen - in die on-line- und die off-line-Verbindungen. Von on-line-Verbindungen spricht man dann, wenn beide Partner direkt über einen "heißen Draht" Daten austauschen können. Dabei müssen sie aber nicht in einem Raum nebeneinander, ja dürfen sogar weit voneinander entfernt stehen. Dazu existieren unterschiedliche Verfahren, wobei man sich hauptsächlich serieller Kopplungen bedient. Bei seriellen Verbindungen gehen die einzelnen Bytes, die Gerät 1 senden möchte, in ihre Bits zerlegt und nacheinander auf die Reise. Gerät 2 "sammelt" die ankommenden Nullen und Einsen und setzt sie wieder zu Bytes zusammen. Eine international besonders oft angewandte Methode der Verbindung stellt die Benutzung des Telefons als Datenleitung dar. Sie beruht ebenfalls auf dem Prinzip der seriellen Übertragungen. Dabei verwandeln sich die vom ersten Computer zu sendenden Bits mit Hilfe eines Modems (MOdulator/DEModulator) in Tonfolgen, die über den Fernsprecher beim Empfänger ankommen und von diesem wiederum mit einem Modem in Bits umgewandelt werden. Off-Iine-Verbindungen erfordern, im Gegensatz
zu ersteren nicht, daß beide Teilnehmer zum gleichen Zeitpunkt in
Betrieb und an die Datenleitung angeschlossen sind. Bei ihnen genügen
Datenträger zum Austausch, die die Informationen beliebig lange zu
speichern vermögen. Das setzt aber zwingend voraus, daß beide
Typen das Format des Datenträgers kennen, also die Art und Weise,
wie die Bits und Bytes auf ihm verschlüsselt sind und ihn auch lesen
können. Als Datenträger wollen wir dabei z. B. EPROMS, Disketten,
Lochbänder oder -karten, oder einfach nur Magnetbandkassetten, z.
B. bei den Kleincomputertypen wie KC 85/3 oder KC 87 verstehen.
Kleincomputer im Dialog Die KC 85/3 und KC 87 sowie ihre Vorgänger
(KC 85/2 bzw. KC 85/1) werden in großen Stückzahlen genutzt,
sowohl in Schulen und Arbeitsgemeinschaften wie auch zu Hause. Um Datenaustausch
zwischen den beiden, in vielen Eigenschaften doch so unterschiedlichen
Computern, zu gewährleisten, hat man für sie ein einheitliches
Aufzeichnungsverfahren auf Kassette gewählt. So ist es dank dieser
Maßnahme möglich, Basic-Programme auf dem einen der beiden Typen
zu schreiben, dort auf Kassette zu speichern und ohne Schwierigkeiten in
den anderen hineinzuladen. Wenn man nicht gerade besondere, von der Hardware
des Gerätes abhängige Befehle verwendet hat, so sollte das Programm
dann auch dort einwandfrei ablaufen können.
Der Wunsch, Maschinenprogramme auszutauschen, wird dann verständlich, wenn man sich mit der Programmierung der beiden Computer in Maschinensprache beschäftigt und nur für einen ein entsprechendes Arbeitshilfsmittel, den Assembler, zur Verfügung hat. So war es im vorliegenden Fall. Ein hübsches Spielprogramm sollte für den KC 87 entwickelt werden, ein vernünftiger Assembler stand aber lediglich für den KC 85/3 zur Verfügung. Zur näheren Untersuchung des genannten Problems wurden die Beschreibungen der Betriebssysteme des an Stelle des KC 87 vorhandenen KC 85/1 (Vorläufer des KC 87 ohne eingebautes Basic) und des KC 85/3 zu Rate gezogen. Dabei zeigte sich folgender Unterschied bei den Kassettenspeicher- und Leseroutinen: Bei beiden Geräten werden die Daten in Blöcken mit fortlaufender Numerierung auf Band geschrieben oder von dort wieder gelesen. Der KC 85/3 verwendet als erste Blocknummer 1, der KC 85/1 (also sicherlich auch der KC 87) aber die 0! Beim Einlesen werden die Blocknummern der gefundenen Blöcke mit den erwarteten verglichen. Bei Nichtübereinstimmung wird eine Fehlermeldung ausgegeben. Da der KC 85/1 als erste Blocknummer eine 0 erwartet, beim KC 85/3 aber eine 1 verwendet wird, bricht der KC 85/1 den Ladevorgang mit der genannten Meldung ab. Warum aber liest der KC 85/3 dann die Dateien
des KC 85/1 einwandfrei ein? Das liegt offensichtlich daran, daß
es dem KC 85/3 gleichgültig ist, welche Blocknummer als erste eingelesen
wird, ob 0 oder 1, er sich dann aber in der weiteren Numerierung nach der
ersten Blocknummer richtet.
Format-Dolmetscher Mit der im folgenden ausgedruckten Routine wird das angesprochene Problem umgangen. Listing 1: "Dolmetscher"- Programm in hexadezimaler Darstellung (Maschinenprogramm) Sie stellt für den KC 85/3 eine Save-(Speicher-) Routine bereit, die einen Speicherbereich im Format des KC 85/1 auf Magnetband schreibt, also den ersten Block mit der Nummer 0. Ihr Hexdump wird am besten mit einem der gängigen Hexmonitoren für KC 85/3, wie etwa HEXI, eingegeben. Man benutzt sie aus dem CAOS des KC 85/3 durch Eingabe des Befehls und seiner Parameter. Nach Enter fragt das Programm nach einem Namen für das Kassettenfile. Die Syntax des Befehls lautet: SAVE1 Anfangsadresse Endadresse Startadresse Der dritte Parameter ist optional und wird
standardgemäß mit FFFFh angenommen. Durch diese Routine kann
man nun z. B. bequem Maschinenprogramme auf dem KC 85/3 eingeben, editieren
und assemblieren, dann im KC87-Format auf Kassette speichern und im KC
87 (bzw. KC 85/1) schließlich ausprobieren, ohne daß bei einem
Programmabsturz Assembler und Quelltext verlorengehen.
|