Von der Anleitung zum Mikrocomputer MC 6400 ist mir nur die deutsche Erstausgabe bekannt. Sie enthält im Impressum keinen Datumshinweis. Prof. Georg Guertler erwähnt jedoch in der Einleitung die Kürung des Personal Computers zur "Persönlichkeit" des Jahres 1982 im US Magazin TIME. Diese Ausgabe ist im Januar 1983 erschienen.
Somit kommt 1983 als frühestes Erscheinungsjahr der Anleitung zum Master Lab MC 6400 in Betracht. Ob es danach noch weitere Auflagen oder Übersetzungen in andere Sprachen gab, entzieht sich meiner Kenntnis.
In folgenden Kapiteln befinden sich fehlerhafte oder missverständliche Hinweise:
1.1 Wir nehmen den Computer in Betrieb, Seite 13
3.2.7 Die Schaltung für die Eingänge, Seite 23
12.1 Bemerkungen zum Status-Register S, Seite 64
16.5 Das T-Register und der Multiplikationsbefehl, ab Seite 101
Weitere Mitteilungen sind mir jederzeit willkommen! Weiterführende Informationen zur CPU INS 8070 habe ich auf einer Extraseite aufbereitet.
Das Titelbild und die Abbildung auf dem Karton zeigt vermutlich eine Designstudie der ursprünglich geplanten Ausführung des MC 6400 ohne EPROM. Angedacht war bestimmt eine Kundenversion des Prozessors INS8072 mit dem Monitorprogramm im eingebauten ROM. In der Entwicklungsphase und beim Debugging war das allerdings unpraktisch. Da das Programm etwas zu groß wurde, hat man auch in der Auslieferversion den INS8070 mit externem EPROM beibehalten. Natürlich hätte man noch auf eine Größe von 2,5 KB optimieren können. Da das Monitorprogramm jedoch auch didaktische Ziele unterstützen sollte, schied eine allzu trickreiche Programmierung aus.
Prof. Georg Guertler schreibt in der Einleitung:
Es ist zwar richtig, dass im MC 6400 ein EPROM mit 4 KB eingebaut ist. Dieses EPROM enthält jedoch das Betriebssystem und ist nicht veränderbar. Zumindest nicht mit Bordmitteln des MC 6400. In diesem Festwertspeicher sind auch einige Demonstrations-Programme gespeichert - die sogenannten Spiele.
Unter Arbeitsspeicher versteht man aber den Schreib-Lesespeicher (RAM), dessen Inhalt nach Belieben geändert werden kann. Dieser Bereich ist in der Grundausstattung nur 1 KB groß. Für den Anfang ist aber auch das schon mehr als genug!
Die Abbildung auf dieser Seite zeigt eine Verdrahtung, deren Sinn sich mir nicht so ohne weiteres erschließt. Der einseitige Anschluss der LED zur Basis des Transistors und die Verbindung vom Taster zum Außenanschluss sind möglicherweise Relikte aus einem früheren Versuchsaufbau:
Ansonsten ist ein Transistor-Verstärker für den Lautsprecher auszumachen. Allerdings ohne Lautstärkeregler. Hierzu fehlen aber die Verbindungen mit Masse und +5V an der Computer-Box. Damit der Verstärker auf die gezeigte Weise überhaupt funktionieren kann, wurde die Experimentierbox B wahrscheinlich um einen Batteriekasten ergänzt oder durch ein separates Netzgerät versorgt.
Auf dieser Seite gibt es nur etwas zum schmunzeln:
|
|
H |
A |
L |
L |
O |
|
Hier sollte man die letzten drei Worte besser streichen. Vielleicht haben die Entwickler zu spät festgestellt, dass sich das "M" für "MC 6400" nicht auf einer Sieben-Segment-Anzeige darstellen lässt.
Der gezeigte Schaltungsteil in der Anleitung ist völlig korrekt!
In der weiteren Beschreibung wird jedoch immer ein Transistor statt des Inverters aus dem CD 4069 erwähnt. Hier sollte das Wort "Transistor" also jeweils durch "Inverter" ersetzt werden. Ansonsten ist die Beschreibung korrekt und verständlich!
Die Beschreibung des Status-Registers in diesem Kapitel ist absolut richtig! In die Abbildung hat sich jedoch ein kleiner Fehler eingeschlichen:
Der hier dargestellte Befehl ist natürlich nicht LD A, S sondern es muss LD S, A sein!
In diesem Kapitel macht Herr Erhard Meyer (Autor der Anleitung und vermutlich auch einer der Entwickler des MC 6400) einige Angaben zum Multiplikationsbefehl MPY EA,T, die im Widerspruch zum Datenblatt der INS 8070 CPU sind. So steht beispielsweise auf Seite 102:
Im Datenblatt steht es sinngemäß genau anders herum. Hiernach darf das EA-Register Werte bis FFFF und das T-Register nur bis 7FFF enthalten. Mancher fragt sich jetzt vielleicht, was diese Haarspalterei soll? Für die Multiplikation gilt schließlich das Kommutativgesetz, wonach FFFF · 7FFF ja das gleiche Ergebnis liefern muss, wie 7FFF · FFFF.
Für den Mikroprozessor ist das aber sehr wohl ein Unterschied, wie die Tabelle mit Multiplikationsbeispielen auf Seite 103 der Anleitung zeigt. Der Multiplikand im EA-Register wird nämlich von der CPU als duale Zweier-Komplement-Zahl behandelt. Für den Multiplikator im T-Register ist das aber nicht der Fall. Aus welchen Gründen auch immer! Der Inhalt des T-Registers muss vor der Ausführung der Multiplikation eine positive Zahl sein. Deshalb hat der Hersteller den gültigen Zahlenbereich im T-Register kurzerhand auf 0…7FFF begrenzt.
Nr. | 1.Faktor (T) |
2.Faktor (EA) |
erwartetes Produkt |
Anzeige | ||||||||
1. | 444 | 2000 | 88 8000 |
|
||||||||
2. | F00 | F0 | E 1000 |
|
||||||||
3. | FFFF | 1000 | FFF F000 |
|
||||||||
4. | FFFF | 7FFF | 7FFE 8001 |
|
||||||||
5. | 2710 | 2710 | 5F5 E100 |
|
||||||||
6. | 7FFF | FFFF | 7FFE 8001 |
|
||||||||
7. | 1111 | 8000 | 888 8000 |
|
||||||||
8. | 1 | FFFF | FFFF |
|
Herr Meyer ging offensichtlich davon aus, dass die Faktoren im EA- und T-Register stets als positive Zahlen zu betrachten sind. So kommt er zu dem Schluss, dass die in der zweiten Gruppe (Nr. 6 bis 8) angezeigten Ergebnisse fehlerhaft sind. Die Ursache sieht er in der Überschreitung des Wertebereichs im EA-Register.
Die CPU betrachtet den Faktor im EA-Register jedoch als duale Zweier-Komplement-Zahl. Bei den Beispielen der zweiten Gruppe ist das Vorzeichen-Bit (Bit 15) im EA-Register gesetzt. Es wird also mit einem negativen Faktor gerechnet und das Produkt ist dann logischerweise ebenfalls negativ. Die angezeigten Ergebnisse sind somit korrekt!
7FFF 32.767 |
x | FFFF -1 |
= | FFFF 8001 -32.767 |
1111 4.369 |
x | 8000 -32.768 |
= | F777 8000 -143.163.392 |
1 1 |
x | FFFF -1 |
= | FFFF FFFF -1 |
Hochinteressant ist, was Herr Meyer über den Zahlenbereich 8000…FFFF als Faktor im T-Register herausgefunden hat. Wie bereits dargelegt, sind laut Datenblatt nur die Werte 0…7FFF zulässig. Die Zahl ist dann ganz eindeutig positiv (Bit 15 = 0). Wie Herr Meyer in den Beispielen zeigt, ist das von der CPU berechnete Produkt auch dann korrekt, wenn der Faktor im T-Register als vorzeichenlose Zahl von 0…FFFF (0…65.535 dezimal) betrachtet wird.
Diese Sichtweise lässt sich sogar anwenden, wenn im EA-Register eine negative Zahl steht. Für die berechneten Produkte können somit vier Bereiche unterschieden werden. Die zweite Zeile zeigt jeweils, wie die Zahlen im Dezimalsystem zu interpretieren sind:
Nr. | Multiplikand (EA) |
Multiplikator (T) |
Produkt (EA,T) |
1. | 0 … 7FFF 0 … 32.767 |
0 … 7FFF 0 … 32.767 |
0 … 3FFF 0001 0 … 1.073.676.289 |
2. | 8000 … FFFF -32.768 … -1 |
0 … 7FFF 0 … 32.767 |
C000 8000 … FFFF FFFF … 0 -1.073.709.056 … -1 … 0 |
3. | 0 … 7FFF 0 … 32.767 |
8000 … FFFF 32.768 … 65.535 |
0 bzw. 8000 … 7FFE 8001 0 bzw. 32.768 … 2.147.385.345 |
4. | 8000 … FFFF -32.768 … -1 |
8000 … FFFF 32.768 … 65.535 |
8000 8000 … FFFF 8000 -2.147.450.880 … -32.768 |
Zusammenfassend kann festgestellt werden, dass der MPY Befehl mit jeder hexadezimalen Zahlenkombination im EA- und T-Register ein korrektes Ergebnis liefert. Wichtig ist nur, dass der Faktor im EA-Register als duale Zweier-Komplement-Zahl aufgefasst wird, während der Faktor im T-Registers als positive 16-Bit Zahl zu betrachten ist. Das Ergebnis ist dann immer eine 32 Bit große duale Zweier-Komplement-Zahl.