DE2228742A1 - Programmierbare Rechenmaschine - Google Patents

Programmierbare Rechenmaschine

Info

Publication number
DE2228742A1
DE2228742A1 DE19722228742 DE2228742A DE2228742A1 DE 2228742 A1 DE2228742 A1 DE 2228742A1 DE 19722228742 DE19722228742 DE 19722228742 DE 2228742 A DE2228742 A DE 2228742A DE 2228742 A1 DE2228742 A1 DE 2228742A1
Authority
DE
Germany
Prior art keywords
program
register
key
memory
calculating machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE19722228742
Other languages
English (en)
Inventor
Robert E Waiden Jack M Near Charles W Loveland Col Watson (V St A)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE2228742A1 publication Critical patent/DE2228742A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • G06F15/0225User interface arrangements, e.g. keyboard, display; Interfaces to other computer systems
    • G06F15/0233User interface arrangements, e.g. keyboard, display; Interfaces to other computer systems with printing provisions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Calculators And Similar Devices (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Record Information Processing For Printing (AREA)
  • Debugging And Monitoring (AREA)
  • Document Processing Apparatus (AREA)
  • Complex Calculations (AREA)
  • Measuring Fluid Pressure (AREA)
  • Semiconductor Lasers (AREA)

Description

Informationen in drei Zeilen. Ein Ausgabe-Drucker zum Drucken aller alphabetischer und numerischer Schriftzeichen und vieler anderer Symbole einzeln und in Meldungen kann auch Bestandteil weiterer Eingabe- und Ausgabegeräte sein.
Der Speicher, der zentrale Rechner, die Eingabe-Ausgabesteuerung sowie die Eingabe- und Ausgabegeräte bilden eine anpassungsfähige, programmierbare Rechenmaschine, die sowohl durch den Benutzer über die Tastatur von Hand als auch durch ein in dem Speicher aufbewahrtes Programm automatisch betätigt werden kann. Diese Rechenmaschine kann auch zur Eingabe von Programmen über die Tastatur in den Speicher benutzt werden, sowie zur separaten Übertragung von Daten oder Programmen in beiden Richtungen' zwischen dem Speicher und einer externen Magnetkarte, zur Kodierung von Programmen, die in dem Speicher aufbewahrt und bei ihrer Übertragung auf eine externe Magnetkarte abgesichert sind und somit den Benutzer der Maschine von einer Rückübertragung derselben auf eine externe Magnetkarte oder dem Anfallen irgendwelcher Anzeigen einzelner Programmschritte nach ihrer Rückeingabe in die Rechenmaschine entbinden, zum Redigieren von in dem Speicher aufbewahrten Programmen und zum Ausdrucken tastatureingegebener Anmerkungen, Programmlisten, Markierungen und Meldungen. Der dem Benutzer zugängliche Lese-Schreib-Speicher kann durch die Hinzufügung von Speichermodulen mit gespeicherten Programmen oder durch Änderung der Steuerung des Daten-Aufbewahrungsspeichers erv/eitert werden.
209852/1005
Hintergrund der Erfindung
Die vorliegende Erfindung betrifft allgemein das Gebiet der Rechenmaschinen und insbesondere programmierbare Rechenmaschinen, die sowohl durch Tastatur-Eingabe von Hand als auch automatisch durch ein gespeichertes Programm steuerbar sind, welches durch Tastatur-Eingabe oder ein externes Aufzeichnungsgerät in die Rechenmaschine eingegeben wurde.
Herkömmliche programmierbare Rechenmaschinen haben im allgemeinen nicht die Fähigkeiten und das Maß an Flexibilität, die für die Erfordernisse vieler Benutzer notwendig sind. Sie lassen sich zum Beispiel üblicherweise nicht einfach durch den Benutzer erweitern oder anpassen, um die Anzahl der Programme und das Volumen des Datenspeichers zu steigern oder um spezielle Tastaturfunktionen durchzuführen, die sich an dem Problemkreis des Benutzers orientieren. Auch können sie üblicherweise keine Registerübertragungen und Rechenoperationen an indirekt adressierten numerischen Daten durchführen, ohne die verfügbaren Arbeitsregister für Adressen statt für Daten zu benutzen. Dies begrenzt ihre Fähigkeit zur wirksamen Durchführung von komplexen Operationen, wie dem Manipulieren von Unterlagen oder dem Matrix-Rechnen. Ferner haben sie üblicherweise eine recht begrenzte Kapazität zur Durchführung direkter Rechnungen zwischen den Arbeits- und Aufbewahrungsregistern und eine nur geringe oder gar keine Fähigkeit zur Durchführung indirekter Rechnungen zwisehen den Arbeits- und den Aufbewahrungsspeichern.
209852/1005
In einigen konventionellen programmierbaren Rechenmaschinen kann ein innerhalb der Rechenmaschine gespeichertes Programm auf einen externen magnetischen Aufzeichnungsträger gebracht und später von diesem in die Rechenmaschine rückgespeichert werden. Die Daten und Programme, die innerhalb dieser Rechenmaschinen gespeichert sind, können jedoch üblicherweise nicht separat auf den externen Aufzeichnungsträger gebracht und später wieder separat von diesem in die Rechenmaschine zurückgeholt werden. Ferner sind diese Rechenmaschinen nicht eingerichtet, um ein Programm abzusichern, wenn es auf einen externen Magnetträger geschrieben werden soll. Deswegen muß jeder Benutzer das Programm rückaufzeichnen oder eine Anzeige der einzelnen Programmsehri11e erhalten, wenn das Programm in die Rechenmaschine rückgespeichert wird.
Konventionelle programmierbare Rechenmaschinen, die selbst einen Ausgabedrucker enthalten, haben üblicherweise eine sehr begrenzte Alpha-Kapazität von nur wenigen ausgesuchten Schriftzeichen, die sich auf bestimmte Spalten des Druckers beschränken. Deswegen sind sie üblicherweise nicht in der Lage, sowohl eine numerische als auch eine bestimmte Gedächtnis-Darstellung eines jeden Programmschrittes von innerhalb der Rechenmaschine gespeicherten. Programmen auszudrucken. Ferner sind sie üblicherweise nicht in der Lage, Markierungen für Eingaben an und Ausgaben von der Rechenmaschine oder Meldungen auszudrucken^ welche den Benutzer informieren, wie Programme abzuwickeln sind, mit welchen er nicht vertraut sein kann. Solche Eigenschaften'
209852/ 1005
wären aber für den Benutzer sehr wertvoll sowohl beim Redigieren von Programmen als auch zur Vereinfachung ihrer Anwendung.
In einigen herkömmlichen programmierbaren Rechenmaschinen kann ein innerhalb der Rechenmaschine gespeichertes Programm durch einzelne Vorwärtsschritte aufgebaut werden, während eine Ausgabe-Darstellung den zuletzt vorgenommenen Programmschritt und seine zugehörige Adresse und in einem Fall auch den vorliegenden Programmschritt und seine zugehörige Adresse zeigt. Diese Rechenmaschinen können aber üblicherweise keine einzelnen Rückwärtsschritte durch das Programm durchführen oder den nächsten, auszuführenden Programmschritt und seine zugehörige Adresse darstellen. Ferner sind üblicherweise keine Vorkehrungen getroffen, um Programmschritte in das Programm einzugeben, ohne Teilabschnitte des Programms rückzuspeichern und es sind auch keine Vorkehrungen getroffen, um jedes Auftreten eines markierten Programmschrittes zu finden. Derartige Eigenschaften würden dem Benutzer aber ebenfalls beim Redigieren von Programmen eine wertvolle Hilfe sein.
Herkömmliche Datenverarbeitungssysteme bieten wesentlich mehr Möglichkeiten als herkömmliche Rechenmaschinen oder können dazu programmiert werden. Sie sind aber größer, teuerer und weniger wirksam beim Rechnen mit elementaren mathematischen Funktionen als die üblichen programmierbaren Rechenmaschinen. Ein erfahrener Programmierer muß jedoch üblicherweise diese benutzen.
209852/1005
Aus diesen Gründen eignen sich herkömmliche Datenverarbeitungssysteme am besten zur Verarbeitung großer Datenmengen oder zur Durchführung stark iterativer oder sehr komplexer mathematischer Berechnungen.
Zusammenfassung der Erfindung
Hauptaufgabe der vorliegenden Erfindung ist eine verbesserte, programmierbare Rechenmaschine, deren Leistungsfähigkeit und Flexibilität diejenige herkömmlicher Rechenmaschinen übersteigt, die kleiner und billiger ist als solche, die wirksamer für Berechnungen in den mathematischen Grundrechnungsarten eingesetzt werden kann und die sich leichter handhaben läßt als herkömmliche Datenverarbeitungsanlagen.
Ein weiteres Merkmal der Erfindung liegt in einer programmierbaren Rechenmaschine, bei welcher die Anzahl der dem Benutzer verfügbaren1 Programme und Datenspeicher separat erweiterungsfähig ist und bei v/elcher die dem Benutzer verfügbar gemachten zusätzlichen Programme und Datenspeicher automatisch durch die Rechenmaschine angepaßt werden und der Benutzer informiert wird, wenn er die Kapazität des Programm- oder des Datenspeichers überschritten hat.
Ein weiteres Merkmal der Erfindung liegt darin, daß die von der Rechenmaschine durchgeführten Punktionen durch den Benutzer auf einfache Art erweiterbar und auf den Problemkreis des
209852/1005
- 7 - 222S742
Benutzers abstimmbar sind und daß die hinzugefügten Funktionen automatisch von der Rechenmaschine angepaßt werden.
Ein weiteres Merkmal ist, daß der Benutzer Tastatur-Funktionen definieren kann, die von der Rechenmaschine auszuführen sind und die vor einer anschließenden versehentlichen Änderung oder Zerstörung geschützt sind.
Ein weiteres Anliegen ist eine programmierbare Rechenmaschine, die einer ausgedehnten indirekten Adressierung zugänglich ist, um ein wirksames Manipulieren von Unterlagen und Matrix-Operationen zu ermöglichen.
Ein weiteres Merkmal besteht darin, daß der Benutzer sowohl eine absolute als auch eine symbolische Adressierung benutzen kann und daß an den absoluten-oder symbolischen Adressen Programmsprünge oder Unterprogramme abrufbar sind.
Ein weiteres Anliegen der Erfindung besteht in der Durchführbarkeit sowohl direkter als auch indirekter Speicherungen, Rückrufe und Austauschen zwischen Arbeits- und Aufbewahrungsspeichern .
Ein weiteres Anliegen ist eine programmierbare Rechenmaschine, die sowohl direkte als auch indirekte Rechnungen in beiden Richtungen zwischen den Arbeits- und den Aufbewahrungsspeichern durchzuführen vermag.
209852/1005
Ein weiteres Anliegen ist eine Rechenmaschine, die serien-"binäre Rechnungen, binärkodierte Parelleldigit-Dezimalrechnungen und -Operationen durchzuführen vermag.
Eine weitere Aufgabe der Erfindung ist eine programmierbare Rechenmaschine, bei welcher Programme oder Daten, die innerhalb der Rechenmaschine gespeichert sind, separat auf einen externen Magnetträger gebracht und anschließend separat von diesem in die Rechenmaschine rückgespeichert werden können.
Ein weiteres Anliegen besteht darin, daß der Benutzer ein innerhalb der Rechenmaschine gespeichertes Programm als gesichert markieren kann, wenn es auf einen externen Magnetträger geschrieben wird und anschließend in die Rechenmaschine rückeingegeben wird und daß der Benutzer von der Rückeingabe eines gesicherten Programms oder dem Anfallen von Anzeigen seiner einzelnen Programmschritte beim Rückspeichern in die Rechenmaschine entbunden wird.
Eine weitere Aufgabe der Erfindung besteht in einer Rechenmaschine, welche sämtliche alphabetischen und numerischen
Schriftzeichen und viele andere Symbole einzeln und in Meldungen ausdrucken kann.
Ein weiteres Anliegen besteht darin,, daß die Rechenmaschine sowohl eine numerische als auch eineGedächtnis-Darstellung einer jeden Tastatureingabe in einer Liste ausdrucken kann.
209852/ 1 005
Eine weitere Aufgabe liegt in einer programmierbaren Rechenmaschine, die eine numerische Darstellung jeder numerischen Tastatureingabe und des errechneten numerischen Ergebnisses sowie eine Markierung ausdrucken kann, welche die numerische Tästatureingabe von dem errechneten numerischen Ergebnis unterscheidet.
Ein weiteres Merkmal besteht in einer Rechenmaschine, die sowohl eine numerische als auch eine Gedächtnis-Darstellung eines jeden Schrittes in einem Programm, welches innerhalb der Rechenmaschine gespeichert ist, sowie eine numerische Anzeige der Adresse eines jeden Programmschrittes in einer Programmliste ausdrucken kann.
Ein weiteres.Anliegen ist eine Rechenmaschine, die innerhalb der Maschine gespeicherte Programme wirksamer redigieren kann als herkömmliche Rechenmaschinen.
Ein weiteres Anliegen ist eine Rechenmaschine, bei welcher der Benutzer bei einer Programmeingabe einzelne Schritte vorwärts oder rückwärts durch ein zviischengespeichertes Programm durchführen kann, um das Programm zu prüfen und in einer programmgesteuerten Betriebsart einzelne Schritte vorwärts durch das Programm ausführen kann, um die Programmdurchführung zu prüfen.
Ein weiteres Anliegen besteht in einer Rechenmaschine, bei welcher der letzte Programmschritt, der soeben vorliegende
209852/1005
-IU-
Programmschritt und der nächste Programmschritt während der einzelnen Vorwärts- oder Rückwärt sprο gramms chri 11 e durch ein innerhalb der Maschine gespeichertes Programm dargestellt werden können.
Eine weitere Aufgabe der Erfindung besteht in einer programmierbaren Rechenmaschine, in welche der Benutzer Programmschritte eingeben und das Auftreten eines markierten Programmschrittes in einem innerhalb der Maschine gespeicherten Programm automatisch lokalisieren kann.
Weitere Merkmale der Erfindung mögen anhand der folgenden Beschreibung und unter Bezugnahme auf die beigefügten Zeichnungen deutlich werden.
Diese Aufgaben finden ihre Lösungen anhand einer dargestellten, bevorzugten Ausgestaltung der Erfindung durch die Benutzung einer Eingabe-Tastatur, eines Lese- und Schreibgerätes für Magnetkarten einer Festkörper-Anzeigeeinrichtung für die Ausgaben, eines Ausgabe-Druckers, einer Eingabe-Ausgabesteuereinheit, sowie eines Speichers und eines zentralen Rechners zur Bildung einer anpassungsfähigen, programmierbaren Rechenmaschine mit den Betriebsarten manuell, automatisch, Programmeingabe, Magnetkarten-Lesen, Magnetkarten-Aufzeichnen und alphanumerisches Drucken. Die Eingabetastatur enthält eine Gruppe von Datentasten zur Eingabe numerischer Daten in die Rechenmaschine, eine Gruppe von Steuertasten zur Steuerung der verschiedenen
209852/ 1005
Betriebsarten und Operationen der Rechenmaschine und der Form der Ausgabe-Darstellung und eine Gruppe von definierbaren Tasten zur Steuerung zusätzlicher Funktionen, die durch den Benutzer hinzugefügt werden können. Sämtliche Datentasten und nahezu sämtliche Steuertasten können auch für die Programmierung der Rechenmaschine benutzt werden, wobei viele der Steuertasten nur diesem Zweck dienen. Die Eingabetastatur umfaßt auch eine Gruppe von Anzeigelampen zur Information des Benutzers über den Zustand der Rechenmaschine. Diese Anzeigelampen und sämtliche Tasten sind an einer Frontplatte des Gehäuses der Rechenmaschine angeordnet.
Die Lese- und Schreibeinheit für die Magnetkarten (im folgenden nur Magnetkarten-Einrichtung genannt) umfaßt einen Lese- und Schreibkopf, eine Antriebsmechanik zum Transport einer Magnetkarte von einer Eingabe-Aufnahme in der Frontplatte des Gehäuses an dem Lese- und Schreibkopf vorbei zu einer Ausgabe-Aufnahme in der Frontplatte, sowie Lese- und Schreib-Treibkreise, die mit dem Lese- und Schreibkopf gekoppelt sind zur Übertragung von Informationen in beiden Richtungen zwischen der Magnetkarte und der Rechenmaschine, wie es durch die Steuertasten der Eingabetastatur festgelegt ist. Es enthält auch ein paar Detektoren und einen zugehörigen Steuerkreis zur Abschaltung des Aufzeichnungs-Treibkreises, wenn eine Kerbe in der Führungskante der Magnetkarte wahrgenommen wird, um zu verhindern, daß die auf die Magnetkarte aufgezeichnete Information versehentlich zerstört wird. Eine solche Kerbe kann in jeder Magnetkarte vorgesehen sein,
209852/1005
die der Benutzer zu schützen wünscht, indem er einfach einen perforierten Abschnitt derselben ausbricht.
Die Pestkörper-Anzeigeeinrichtung umfaßt drei Reihen mit lichtemittierenden Diodenanordnungen und die zugehörigen Treibkreise zur selektiven Darstellung von drei separaten Zeilen mit numerischer Information. Die numerischen Daten können sowohl mit festem'als auch mit gleitendem Komma dargestellt werden, was durch die Steuertasten der Eingabetastatur festgelegt wird.
Der Ausgabedrucker enthält einen stationären thermischen Druckkopf mit einer Reihe von Widerstand-Heizelementen, einen Treibkreis zur selektiven Betätigung eines jeden Heizelementes und einen Fortschaltmechanismus zum Antrieb eines Streifens aus wärmeempfindlichem Aufzeichnungspapier an dem stationären, thermischen Druckkopf vorbei in sieben Schritten für jede Zeile einer auszudruckenden alphanumerischen Information. Jedes alphabetische und numerische Schriftzeichen und viele andere Symbole können einzeln oder in Meldungen ausgedruckt werden, was durch die Steuertasten der Eingabetastatur oder durch ein innerhalb der Rechenmaschine gespeichertes Programm entschieden wird.
Die Eingabe-Ausgabe-Steuereinheit umfaßt ein Sechzehn-Bit-Universal-Schieberegister, welches als Eingabe-Ausgabe-Register dient, in welches die Information aus dem zentralen Rechner in Serienform oder aus der Eingabetastatur und der Magnetkarten-
209852/1005
Einrichtung in Parallelform übertragen werden kann und aus welchem die Information in Serienform in den zentralen Rechner oder in Parallelform auf die Anzeigelampen und die Festkörper-Anzeigeeinrichtung, die Magnetkarten-Einrichtung und den Ausgabedrucker übertragen werden kann. Sie umfaßt auch eine Steuerlogik, die auf den zentralen Rechner anspricht, zur Steuerung der Informationsübertragung zwischen diesen Einrichtungen. Die Eingabe-Äusgabesteuereinheit kann auch zur Durchführung der gleichen Funktionen zwischen dem zentralen Rechner und Peripheriegeräten benutzt werden; diese können beispielsweise ein Digital-UmsetzBr, ein Lesegerät für markierte Karten, ein X-Y-Plotter, ein Magnetbandgerät und eine Schreibmaschine'sein. Es können gleichzeitig mehrere Peripheriegeräte mit dem Eingabe-Ausgabe-Steuergerät verbunden sein durch einfaches Stecken von Zwischenmodulen, die den gewählten .Peripheriegeräten zugeordnet ■ sind, in hierfür vorgesehene Passungen in der Rückwand des Rechenmaschinengehäuses.
Die Speichereinheit kann sowohl direkte als auch indirekte Dezimal- und Symboladressierung verwenden. Sie umfaßt einen Lese--Schreib-Speicher mit Sofortzugriff in Bausteinform mit einem Programm-Speicherbereich zur Aufbewahrung mehrer Programmschritte und mit einem separaten Daten-Speicherbereich, der mehrere Ar- · beitsregister, mehrere zugeordnete Darstellungsregister und mehrere Speicherregister zum Manipulieren und Speichern der Daten aufweist. Diese Programm- und Datenspeicherbereiche des Lese-Schreibspeichers können ohne Vergrößerung der Gesaintabmessungen der Rechenmaschine separat ausgedehnt werden durch die Hinzu-
fügung von Programmspeicher-Modulen oder durch Änderung der Steuerung des Daten-Aufbewahrungsspeichers. Der dem Benutzer verfügbar gemachte zusätzliche Lese-Schreib-Speicher wird durch die Rechenmaschine automatisch angepaßt und der Benutzer wird automatisch informiert, wenn die Programm- oder Datenaufbewahrungs-Kapazität des Lese-Schreib-Speichers überschritten wurde.
Die Speichereinheit umfaßt auch einen bausteinförmigen Nur-Lese-Speicher, in welchem Programme und Unterprogramme von Basisinstruktionen zur Durchführung der verschiedenen Funktionen der Rechenmaschine gespeichert sind. Diese Programme und Unterprogramme des nur lesbaren Speichers können durch den Benutzer erweitert und angepaßt werden zur Durchführung zusätzlicher
Funktionen, die sich an den speziellen Erfordernissen des Benutzers orientieren.. Dies wird durch einfaches Einstecken zusätzlicher Nur-Lese-Speichermodule in Aufnahmen bewirkt, die hierzu in der oberen Platte des Gehäuses vorgesehen sind. Die hinzugefügten Nur-Lese-Speichermodule werden durch die Rechenmaschine automatisch angepaßt und können definierbaren. Tasten der Eingabetastatur zugeordnet werden; sie können auch der Erweiterung von Operationen dienen, die anderen Tasten zugeordnet sind. Mit jedem hinzugefügten Nur-Lese-Speichermodul, der den definierbaren Tasten der Eingabetastatur zugeordnet ist, wird.ein Überzug benutzt, um die zusätzlichen Funktionen zu identifizieren, die dann von der Rechenmaschine ausgeführt werden können.
209852/1005
Die nur lesbaren Einsteck-Speichermodule umfassen beispiels-r weise einen Alphamodul, einen Rechenmodul, einen Statistikmodul, einen definierbaren Funktionsmodul,und einen Schreibmaschinenmodul, die dem Nur-Lese-Speicher hinzugefügt werden können. Der Alphamodul versetzt die Rechenmaschine in die Lage, jedes alphabetische Schriftzeichen einzeln oder in Meldungen auszudrucken. Er verwendet eine Adressierung, die ihn zum Heiidefinieren der meisten Tasten der Eingabetastatur befähigt, so daß er zur gleichen Zeit ebenso wie andere steckbare Nur-Lese-Speichermodule benutzt werden kann. Der Rechenmodul ermöglicht der Rechenmaschine die Durchführung von trigonometrischen Funktionen, Koordinaten-Transformationen, Tektor-Rechnungen und vielen anderen mathematischen Funktionen. In ähnlicher Weise gestattet der Statistikmodul der Rechenmaschine die Durchführung von Zufallszahl-Entwicklungen, Summenbildungen, Bildungen der Summen von Produkten und der Summen von Quadraten von bis zu fünf Variablen, von linearen und mehrfach linearen Rückbildungen undvieler weiterer statistischer Funktionen. Er ermöglicht auch die Benutzung einer genauen Taste innerhalb der definierbaren Tasten der Eingabetastatur zur automatischen Auslöschung der Daten einer statistischen Analyse. Der definierbare Funktionsmodul ermöglicht dem Benutzer die Speicherung von Programmen nach eigener Wahl in dem Programm-Speicherbereich des Lese-Schreib-Speichers, die Zuordnung derselben zu einigen der definierbaren Tasten der Eingabetastatur und die Absicherung derselben gegen anschließende unbeabsichtigte Änderungen oder Zerstörungen. Er gestattet auch die Anwendung einer Eixigabetaste und einer Auffindetaste innerhalb der definierbaren Tasten
209852/1005
der Eingabetastatur zur Eingabe von Programmschritten in ein in dem Lese-Schreib-Speicher gespeichertes Programm und zur Auffindung jeden Auftretens eines markierten Programmschrittes in dem gespeicherten Programm· Der Schreibmaschinenmodul ermöglicht der Rechenmaschine die Steuerung der gesamten Tastatur einer geeignet zwischengeschalteten Schreibmaschine.
Die Speichereinheit enthält ferner ein Paar umlaufender 16-Bit Serien-Schieberegister. Eines dieser Register dient als Speicheradressen-Register zum Serien-Empfang von Informationen aus einer Mathematik-Logik-Einheit innerhalb der zentralen Recheneinheit, zur Parallel-Adressierung der durch die empfangenen Informationen markierten Speicherstellen und zur Serien-Übertragung der empfangenen Informationen in die Mathematik-Logik-Einheit zurück. Das andere dieser Register dient als Zugriffregister des Speichers zum Serienempfang von Informationen' .aus der Ilathematik-Logik-Einheit, zum parallelen Einschreiben von Informationen in die adressierten Speicherstellen, zum parallelen Lesen von Informationen aus einer adressierten Speicherstelle und zur Serienübertragung von Informationen an die Mathematik-Logik-Einheit. Es dient'auch als 4-Bit Parallel-Schieberegister zur Parallelübertragung von 4 Bit einer binär kodierten Dezimalinformation an die Mathematik-Logik-Einheit.
Der zentrale Rechner enthält vier umlaufende 16-Bit -Serien-Schieberegister, ein 4-Bit Serien-Schieberegister, die Mathematik-Logik-Einheit, einen programmierbaren Takt und einen
209852/ 1 005
Mikrorechner. Zwei dieser 16-Bit Serien-Schieberegister dienen als Sammelregister zum Serienempfang.aus und zur Serienübertragung an die Mathematik-Logik-Einheit. Das "benutzte Sammelregister wird durch ein Steuer-Flip-Flop markiert. Eines der Sammelregister dient auch als 4-Bit ParalIeI-Schieberegister zur Aufnahme von vier Bit einer "binär kodierten Dezimalinformation im. Parallelbetrieb aus und zur Übertragung von vier Bit einer solchen Information im Parallelbetrieb an die Mathematik-Logik-Einheit. Die übrigen beiden 16-Bit Serien-Schieberegister dienen als Programmzähler-Register bzw. als Qualifizier-Register. Sie werden auch für den Serienempfang von Information aus und zur Serienübertragung von Information
an die Mathematik-Logik-Einheit benutzt. Das 4-Bit--Serien-Schieberegister dient als ein Ausbauregister zum Serienempfang von Information entweder aus dem Zugriffregister des Speichers oder aus der Mathematik-Logik-Einheit und zur Serienübertragung von Information an die Mathematik-Logik-Einheit.
Die Mathematik-Logik-Einheit dient zur Durchführung von 1-Bit Serien-Binärrechnungen von binär kodierten 4-Bit Parallel-Dezimalrechnungen und logischen Operationen. Sie kann auch durch den Mikrorechner gesteuert werden zur Durchführung direkter und indirekter Rechnungen in beiden Richtungen zwischen einem der Arbeitsregister und einem der Speicherregister des Daten-Speicherbereichs des Lese-Schreib-Speichers.
Der programmierbare Takt dient zur Lieferung einer veränderlichen Anzahl von Sdiebe-Taktimpulsen an die Mathematik-Logik-
209852/1005
Einheit und die Serien-Schieberegister der Eingabe-Ausgabeeinheit, der Speichereinheit und der zentralen Recheneinheit. Er dient auch zur Lieferung von-Takt-Steuersignalen an die Eingabe-Ausgabe-Steuerlogik und den Mikrorechner.
Der Mikrorechner hat einen nur lesbaren Speicher, in welchem mehrere Makroinstruktionen und Kodes gespeichert sind. Diese Mikroinstruktionen und Kodes dienen der Durchführung der Basisinstruktionen der Rechenmaschine. Sie umfassen eine Mehrzahl von kodierten und nicht kodierten Mikroinstruktionen zur Steuerung der Übertragung an die Eingabe-Ausgabesteuexlogik, zur Steuerung der Adressierung und des Zugriffs der Speichereinheit und zur Steuerung der Arbeitsweise der beiden Sammelregister, des Programmzähler-Registers, des Ausbauregisters und der Mathematik-Logik-Einheit. Sie umfassen auch mehrere Taktkodes zur Steuerung des programmierbaren Taktes, mehrere Qualifizierer-Auswahlkodes zur Auswahl der Qualifizierer, die auch als Primäradressen-Kodes zur Adressierung des nur lesbaren Speichers des Mikrorechners dienen, sowie mehrer Sekundäradressen-Kodes zur Adressierung des nur lesbaren Speichers des Mikrorechners. Auf ein Steuersignal von der für die Rechenmaschine vorgesehenen Stromversorgung, auf Steuersignale für den programmierbaren Takt und auf Qualifizierer-Steuersignale von der zentralen Recheneinheit und der Eingabe-Ausgabe-Steuereinheit hin gibt der Mikrorechner die in dem nur lesbaren Speicher des Mikrorechners gespeicherten Mikroinstruktionen und Kodes aus, wie es zur Bearbeitung der binären oder der binärkodierten Dezimalinformation erforderlich ist, die in der Rechenmaschine gespeichert oder in diese eingegeben ist.
209852/1005
In der manuellen Betriebsart wird die Rechenmaschine von Tastenkodes gesteuert, die nacheinander von der Eingabetastatur her durch den Benutzer in die Maschine eingegeben werden. Die Festkörper-Anzeigevorrichtung gibt eine numerische Darstellung der Inhalte der drei Arbeitsregister und ihrer zugehörigen Darstellungsregister. Diese Arbeitsregister und ihre zugehörigen Darstellungsregister können .den zuletzt eingegebenen numerischen Operanden und zwei zuvor eingegebene oder berechnete numerische Operanden oder Ergebnisse, oder aber drei zuvor eingegebene oder berechnete Operanden oder Ergebnisse enthalten. Der Ausgabe-Drucker kann durch den Benutzer gesteuert werden.zum selektiven Ausdruck einer numerischen Darstellung jeglicher numerischer Daten, die von der Eingabetastatur aus in die Rechenmaschine eingegeben wurden, einer numerischen Darstellung irgendeines von der Maschine errechneten Ergebnisses und einer Markierung zur Unterscheidung der eingegebenen numerischen Daten von den errechneten numerischen Ergebnissen. Wenn der nur lesbare Alpha-Speichermodul in die Rechenmaschine eingesetzt ist, kann der Ausgabe-Drucker auch durch den Benutzer gesteuert werden, um Markierungen für Eingaben an oder Ausgaben von der Rechenmaschine oder beliebig andere alphabetische Informationen auszudrucken, die gewünscht sein können.
Wenn die Rechenmaschine in der manuellen Betriebsart ist, kann sie auch in einer tastenbestimmten alphanumerischen Druck-Betriebsart betrieben werden. Dann druckt der Ausgabe-Drucker eine numerische Darstellung eines jeden Tastenkodes aus, wie er durch den Benutzer eingegeben wird. Wenn der nur lesbare
209852/1005
Alpha-Speichermodul in die Rechenmaschine eingesetzt ist, druckt der Ausgabe-Drucker auch eine Gedächtnis-Darstellung derartiger Tastenkodes aus.
In der automatischen Betriebsart wird die Rechenmaschine durch automatisch erhaltene Tastenkodes gesteuert, die als Schritte eines Programms in dem. Programm-Speicherbereich des Lese-Schreib-Speichers gespeichert sind. In der automatischen Betriebsart der Rechenmaschine können die Daten entsprechend ihrer Markierung durch das Programm aus dem Speicher erhalten oder über die Eingabetastatur von dem Benutzer eingegeben werden, wobei die Rechenmaschine entweder für die Daten des Programms oder die Daten des Benutzers gesperrt ist. Die Pestkörper-Anzeigeeinrichtung stellt die End-Inhalte der drei Arbeitsregister und ihrer zugehörigen Darstellungsregister dar. Diese Darstellung kann das errechnete numerische Endergebnis und zwei zuvor eingegebene oder errechnete numerische Operanden oder Ergebnisse umfassen, oder aber drei zuvor eingegebene oder errechnete numerische Operanden oder Ergebnisse. Der Ausgabedrucker druckt die errechneten numerischen Ergebnisse und andere durch das Programm markierte numerische Informationen aus. Wenn der nur lesbare Alpha-Speichermödul in die Rechenmaschine eingesetzt ist, druckt der Ausgabedrucker auch jede durch das Programm markierte alphabetische Information aus.
Wenn die Rechenmaschine in der automatischen Betriebsart läuft, kann der Benutzer auch eine Schrittprocramm-Steuertaste de??
209852/1005
Eingabetastatur benutzen, um das auszuführende Programm in einzelnen Vorwärtsschritten ablaufen zu lassen. Dies ermöglicht dem Benutzer die Schritt-für-Schritt Prüfung der Programmabwicklung, um feststellen zu können, ob das Programm, wie es in die Rechenmaschine eingegeben ist, tatsächlich die gewünschte Polge von Operationen ausführt.
In der Programmeingabe-Betriebsart werden·durch den Benutzer nacheinander über die Eingabetastatur Tastenkode in die Rechenmaschine eingegeben und als Programmschritte in dem Programm-Speicherbereich des Lese-Schreib-Speichers gespeichert. Das Programm kann Folgen von Programmschritten enthalten, die interpretiert werden, wenn das Programm durchgeführt wird, wie alphabetische informationen, die durch den Ausgabedrucker auszudrucken sind, wenn der nur lesbare Alpha-Speichermodul in die Maschine eingesetzt ist. Eine solche alphabetische Informtaion kann Markierungen für Eingaben in und Ausgaben von der Rechenmaschine, alphabetische Meldungen zur Erleichterung der Benutzung des Programms und der Arbeitsweise der Rechenmaschine, oder auch andere gewünschte alphabetische Informationen umfassen. Während der Benutzer in der Programmeingabe-Betriebsart ein Programm in die Maschine eingibt, zeigt die Pestkörper-Anzeigeeinrichtung eine numerische Darstellung des zuletzt eingegebenen Programmschrittes und seiner zugehörigen Adresse und die Adressen der nächsten beiden einzugebenden Programmschritte und die derzeitigen Inhalte dieser Adressen.
209852/1005
In der Programmeingabe-Betriebsart kann der Benutzer auch die Schrittprogramm-Steuertaste und eine Rückwärtsschritt-Steuertaste der Eingabetastatur benutzen, um in einzelnen Schritten entweder vorwärts oder rückwärts durch jede Folge von Programmschritten zu gehen, die in dem Programm-Speicherbereich des Lese-Schreibspeichers gespeichert sind. Während der Benutzer in einzelnen Schritten vorwärts oder rückwärts durch eine Folge von Programmschritten geht, zeigt die Festkörper-Anzeigeeinrichtung eine numerische Darstellung des zuletzt angetroffenen ProgramipSchrittes, des derzeit vorliegenden Programmschrittes, des als nächsten anzutreffenden Programmschrittes sowie die Adressen dieser Programmschritte. Wenn der nur lesbare Speichermodul mit den definierbaren Funktionen in die Maschine eingefügt ist,kann auch der Benutzer durch Schalten in die manuelle Betriebsart den Einsatz und die oben beschriebenen Auffindtasten verwenden. Diese Eigenschaften erleichtern das Redigieren von in dem Programm-Speicherbereich des Lese-Schreib-Speichers gespeicherten Programmen erheblich.
Wenn die Rechenmaschine in die Programmeingabe-Betriebsart geschaltet ist, kann sie auch in einer tastenbestimmten alphanumerischen Druckart betrieben werden. Dann druckt der Ausgabedrucker eine numerische Darstellung eines jeden Programmschrittes und seiner zugehörigen Adresse aus, wie sie über die Eingabetastatur von dem Benutzer in die Rechenmaschine eingegeben ist. Wenn der nur lesbare Alpha-Speichermodul in die Maschine eingesetzt ist., druckt dor Ausgabedrucker auch öine Gedächtnis-Darstellung eines jeden derartigen Programmschrittes aus.
209852/ 1005
Wenn die Rechenmaschine in die Programmeingabe-Betriebsart geschaltet ist, kann sie auch in einer Listen aufstellenden alphanumerischen Druckart betrieben werden. Dann druckt der Ausgabedrucker eine numerische Darstellung aller dann in dem Programmspeicherbereich des Lese-Schreib-Speichers befindlichen Programmschritte und eine numerische Darstellung der Adressen dieser Programmschritte aus. Wenn der nur lesbare Alpha-Speichermodul in die Maschine eingesetzt ist, druckt der Drucker auch eine Gedächtnis-Darstellung eines jeden solchen Programmschrittes aus.
In der Magnetkarten-Lesebetriebsart kann die Magnetkarten-Einrichtung durch den Benutzer zur separaten Einspeicherung von Daten oder Programmen aus einer oder mehreren externen Magnetkarten in die Rechenmaschine benutzt werden. Die solcherart eingegebenen Daten oder Programme werden in dem Daten- und dem Programm-Speicherbereich des Lese-Schreib-Speichers gespeichert.
In der Magiietkarten-Aufzeichnungsbetriebsart kann die Magnetkarten-Einrichtung durch den Benutzer zur separaten Aufzeichnung von Daten oder Programmen, die separat in dem Daten- und dem Programm-Speicherbereich des Lese-Schreib-Speichers gespeichert sind, auf eine oder mehrere externe Magnetkarten benutzt werden. Programme, die in dem Programm-Speicherbereich des Lese-Schreib-Speichers gespeichert sind, können durch den Benutzer als abgesichert markiert werden, wenn sie auf eine oder mehrere externe Magnetkarten aufgezeichnet sind. Die Rechenmaschine erkennt solche Programme, wenn sie in die Rechenmaschine
209852/1005
rückgespeichert werden und befreit den Benutzer von der Rückaufzeichnung derselben oder dem Anfallen von Listen oder anderen Anzeigen der einzelnen Programmschritte.
Beschreibung der Zeichnungen
Fig. 1 ist eine perspektivische Frontansicht der anpassungsfähigen programmierbaren Rechenmaschine entsprechend einer bevorzugten Ausführungsform der Erfindung.
Fig. 2A-B ist ein vereinfachtes Blockdiagramm der anpassungsfähigen, programmierbaren Rechenmaschine nach Fig. 1.
Fig. 3 ist ein Speicherplan der in der Rechenmaschine nach Fig. 1 und 2A-B verwendeten Speichereinheit.
Fig. 4 ist ein detaillierter Speicherplan des speziellen Teiles des Datenspeicherabschnittes des in der Speichereinheit gemäß Fig. 2A-B und 3 verwendeten Festwertspeichers.
Fig. 5 ist ein detaillierter Speicherplan des speziellen
Teiles des Programmspeicherabschnittes des Festwertspeichers, der in der Speichereinheit gemäß Fig. 2A-B und 3 verwendet wird.
Fig. 6A ist eine Aufsicht der in der Rechenmaschine nach · Fig. 1 und 2A-B verwendeten Tastatur und die Bedeutung der Tasten kann durch einen Alpha-Festwertspeichereinschub neu definiert werden; dieser Einschub kann auch in der anpassungsfähigen, programmierbaren Rechenmaschine verwendet werden.
209852/ 1 005
Fig. 6B ist eine Aufsicht auf die in der Rechenmaschine nach Fig. 1 und 2A-B verwendete Tastatur, wobei ein Schreibmaschinen-Festwertspeichereinschub in der Rechenmaschine verwendet werden kann, um die Tasten neu zu definieren.
Fig. 6C ist eine Aufsicht der definierbaren Tasten der Tastatur, die in der Rechenmaschine der Fig. 1 und 2A-B verwendet werden kann, und des nicht im Arbeitsspeicher unterbringbaren Programmteiles, der einem Festwertspeichereinschub für definierbare Funktionen zugeordnet ist, der in der Rechenmaschine verwendet werden kann.
Fig. 6D ist eine Aufsicht der definierbaren Tasten der Tastatur, die in der Rechenmaschine nach Fig. 1 und 2A-B verwendet werden kann und der nicht im Arbeitsspeicher unterbringbaren Programmteile mit einem Festwertspeicher-Mathematikeinschub, der in der Rechenmaschine verwendet werden kann.
Fig. 6E ist eine Aufsicht der definierbaren Tasten der
Tastatur, die in der Rechenmaschine nach Fig. 1 und 2A-B verwendet werden kann und der nicht im Arbeitsspeicher unterbringbaren Programmteile mit einem Festwertspeicher-Statistikeinschub, der in der Rechenmaschine verwendet werden kann.
Fig. 7 ist ein vereinfachtes Flußdiagramm der Gesamtsteuerfolge zur Tastenkodeverarbeitung in der in den Fig. und 2A--B dargestellten Rechenmaschine.
209852/ 1 005
Fig. 8A-C ist ein Flußdiagramm eines Programms zur Zusammenstellung der anzuzeigenden Informationen.
Fig. 9A-B ist ein Flußdiagramm des in der Rechenmaschine
nach Fig. 1 and 2A-B verwendeten Monitor-Programmes.
Fig. 10 und 13 sind Flußdiagramme des Übersetzerprogrammes der Fig. 7.
Fig. 11 und 12 sind Flußdiagramme für die Programme der Tasten für Programmbetrieb bzw. Festkomma-Anzeige gemäß Fig. 7.
Fig. 14A-B sind vereinfachte Flußdiagramme des durch das
überSetzerprogramm gemäß Fig. 7 wählbaren Programmes zur Verarbeitung der Eingangsziffern.
Fig. 15A-B sind vereinfachte Flußdiagramme der durch das
ÜberSetzerprogramm nach Fig. 7 wählbaren Programme für die Registerübertragung und die arithmetischen
Vorgänge der Register.
Fig. 16Ά-Β sind Flußdiagramme des Programmes zur Register übertragung und automatischen Adressenbeendigung, die verwendet werden in Verbindung mit dem Programm nach Fig. 15A-B für die Arithmetiktaste zur Registerübertragung.
Fig. 17 ist ein Flußdiagramm des durch das Übersetzerprogramm nach Fig. 7 wählbaren Programmes zur indirekten Verarbeitung der Tasteninformation.
Fig. 18 ist ein Flußdiagramm der durch das Übersetzerprogramm nach Fig. 7 wählbaren Programme der übertragungstaste für das a- und b-Register.
209852/1005
Fig.19 ist ein Flußdiagramm des Programmes zur indirekten Adressenberechnung, welches in Verbindung mit dem Programm nach Fig. 17 zur Verarbeitung der indirekten Tasteninformation verwendet wird.
Fig. 20 ist ein Flußdiagramm des durch das Obersetzerprogramm nach Fig. 7 wählbaren Programmes zur Verarbeitung der Information der Bezeichnungstaste.
Fig. 21 ist ein Flußdiagramm des Speicherprogramms der Fig.7.
Fig. 22 A-B sind Flußdiagramme des durch das übersetzerprogramm nach Fig. 7 wählbaren Programmes zur Verarbeitung der Tasteninformation über das Basisformat. .
Fig. 22 C ist ein Flußdiagramm eines Suchprogrammes, das in Verbindung mit dem Programm gemäß Fig. 22A-B zur Verarbeitung der Tasteninformation über das Basisformat verwendet werden kann.
Fig. 23 ist ein Speicherplan zur Erläuterung der Verwendung des Suchprogrammes nach Fig. 22C.
Fig. 23A ist ein Flußdiagramm eines Aufzeichnungsprogrammes, das in Verbindung mit dem Programm gemäß Fig. 22A-B zur Verarbeitung der Tasteninformation über das Basisformat verwendet wird.
Fig. 24 ist ein Flußdiagramm des Programmstufen-Aufzeichnungsabschnittes des Programms gemäß Fig. 7 zur Verarbeitung der Aufzeichnungstasteninformation.
Fig. 25 ist ein Flußdiagramm des Programmstufen-Ladeabschnittes des Programmes gemäß Fig. 7 zur Verarbeitung der Ladetasteninformation .
209852/1005
Fig. 26 ist ein Speicherplan des Programmstufenabschnittes
des Festwertspeichers gemäß Fig. 2-6, woraus hervorgeht, wie ein sicheres Programm durch ein unsicheres Programm zerstört wird.
Fig. 27 ist ein Flußdiagramm des das Format aufzeichnenden Abschnittes des Programmes gemäß Fig. 7 zur Verarbeitung der Aufzeichnungstasteninformation.
Fig. 28 ist ein Flußdiagramm des Abschnittes zur Datenaufzeichnung des Programmes gemäß Fig. 7 zur Verarbeitung von Aufzeichnungstasteninformation.
Fig. 29 ist ein Flußdiagramm des Datenladeabschnittes des Programmes gemäß Fig. 7 zur Verarbeitung der Ladetasteninformation.
Fig. 30 ist ein Flußdiagramm, aus dem hervorgeht, wie der
in der Rechenmaschine nach Fig. 1 und 2A-B verwendete Festwertspeichereinschub Kodeinformation von einem in dem Programmspeicherabschnitt des Festwertspeichers der Fig. 2A-B und 3 gespeicherten Programm erhalten kann.
Fig. 31 A-C stellt dar, wie das Druckprogramm Zugang zu der
Kodeinformation erhält, die in Tabellen in dem Datenspeicherabschnitt des Schreiblesespeichers der Fig. 2A-B und 3 enthalten ist.
Fig. 32 A-B sind Speicherpläne eines Leitplanes und eines Kodeplanes in einem Alpha-Festwertspeichereinschub, der in der Rechenmaschine nach Fig. 1 und 2A-B verwendet werden kann.
209852/1005
Fig. 33 ist ein Flußdiagramm, aus dem hervorgeht, wie der
Druckkode angewählt wird durch einen Alpha-Festwertspeichereinschub, der in der Rechenmaschine der Fig. und 2A-B verwendet wird.
Fig. 34 ist ein Flußdiagramm eines Programmes zur Eingabe von Information zur Definition des Tastenkodes, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine eingesteckt ist.
Fig. 35 ist ein Programm zur Verarbeitung der Schutztasteninformation, das ausgeführt werden kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine eingesteckt ist.
Fig. 36 ist ein Speichersuchprogramm, das ausgeführt werden
kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine eingesteckt ist.
Fig. 37A-B sind Flußdiagramme eines Programmes zum Abrufen
definierbarer Funktionen, das ausgeführt werden kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine eingesteckt ist.
Fig. 37C ist eine Weisungstafel der Funktionsabrufe, die ausgeführt werden können durch das Programm für Funktionsabrufe gemäß Fig. 37A-B.
Fig. 38 ist ein Flußdiagramm eines Rückkehrprogrammes für
eine definierbare Funktion, das in dem Programm gemäß Fig. 37A-B für definierbare Funktionsabrufe verwendet werden kann.
Fig. 39 ist ein Flußdiagramm eines Unterprogrammes zur Abschaltung des Funktionslichtes, das von dem Rückkehr-
209852/100 5
programm gemäß Fig. 38 für die definierbare Funktion verwendet werden kann.
Fig. 40 ist ein Flußdiagramm eines Prüf-Unterprogrammes für
eine Funktion, das durch das Abrufprogramm für definierbare Funktionen und das Rückkehrprogramm gemäß Fig. 37 A-B und 38 für definierbare Funktionen verwendet werden kann.
Fig. 41 ist ein Flußdiagramm eines Lösch/Schutzprogrammes,
das ausgeführt werden kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine der Fig. 1 und 2A-B eingesteckt ist.
Fig. 42 ist ein Flußdiagranun des Lösch/Lichtabschaltprogrammes, das in dem Lösch/Schutzprogramm der Fig. 41 verwendet werden kann.
Fig. 43 ist ein Flußdiagramm eines Unterprogrammes zum Löschen von Funktionen, das in dem Lösch/Schutzprogramm der Fig. 41 verwendet werden kann.
Fig. 44 ist ein Flußdiagranun eines Suchprogrammes das ausgeführt werden kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 45 ist ein Flußdiagramm eines Unterprogrammes zum Erfassen der nächsten Taste, das in dem Suchprogramm gemäß Fig. 44 verwendet werden kann.
Fig. 46 ist ein Flußdiagramm eines Speicherprogrammes, das
ausgeführt werden kannf wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
209852/1005
Fig. 47 ist ein Speicherplan zur Erläuterung des Speicherunterprograiranes gemäß Fig. 46.
Fig. 48A-C sind Flußdiagramme eines Löschprogrammes, das ausgeführt werden kann, wenn der Festwertspeichereinschub für eine definierbare Funktion in die Rechenmaschine gemäß Fig. 1 und 2A-B eingesteckt ist.
Fig. 49A-B sind Flußdiagramme eines Einsetzprogrammes, das ausgeführt werden kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine gemäß Fig. 1 und 2A-B eingesteckt ist.
Fig. 50 ist ein Flußdiagramm eines ünterprogrammes zur Adressenberechnung, das in dem Einsatzprogramm gemäß Fig. 49A-B verwendet werden kann.
Fig. 51A-B ist ein Flußdiagramm eines Addierprogrammes, das ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 52 ist ein Flußdiagramm eines Korrekturprogrammes, das ausgeführt werden kann, wenn der Statistik-Festwert-.speichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 53 ist ein Flußdiagramm eines t-Paar-Programmes, das
ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1
und 2A-B eingesteckt ist.
Fig. 54 ist ein Flußdiagramm eines X -Programmes, das ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
209852/1005
Fig. 55 ist ein Flußdiagramm eines Programmes zur Durchschnittsbildung/ das ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 56 ist ein Flußdiagramm eines Maximal/Minimal-Programmes, das ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 57 ist ein Flußdiagramm eines Variantenprogrammes, das ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 58 ist ein Flußdiagramm eines Auslöseprogrammes, das
ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. 1 und 2A-B eingesteckt ist.
Fig. 59 ist ein Flußdiagramm eine& Rückschritt-Programmes,
das ausgeführt werden kann, wenn der Statistik-Festwertspeicher in die Rechenmaschine nach Fig. 1 und
2A-B eingesteckt ist.
Fig. 60 ist ein Flußdiagramm des r -Korrelationsprogrammes,
das ausgeführt werden kann, wenn der Statistik-Festwertspeichereinschub in die Rechenmaschine nach Fig. und ,2A-B eingesteckt ist.
Fig. 61 ist ein Flußdiagramm eines Variablen-Programmes, das ausgeführt werden kann, wenn der Statistik-Festwertspeichereänschub in die Rechenmaschine nach FLg. 1 und 2A-B eingesteckt ist.
209852/ 1 005
Fig. 62 ist ein Blockdiagramm eines Mikroprozessors nach Fig. 2A-B.
Fig. 63A-B ist ein detailliertes Schaltungsdiagranun des Mikroprozessors nach Fig. 2A-B und 62.
Fig. 64A-D und 65A-D sind detaillierte Flußdiagramme zur Erläuterung des Betriebs des Mikroprozessors nach Fig. 2A-R, 62 und 63A-D.
Fig. 66 ist ein Blockdiagramm eines programmierbaren Taktgebers nach Fig. 2A-B.
Fig. 67A-C sind ein detailliertes Diagramm des programmierbaren Taktgebers nach Fig. 2A-B und 66 und eines Teiles der Eingangs-Ausgangssteuereinheit der Fig. 2A-B.
Fig. 68A-D ist ein detailliertes Diagramm von Schieberegister- und Arithmetikeinheiten der Fig. 2A-B.
Fig. 69 ist ein Blockdiagramm der Arithmetikeinheit von Fig. 2A-B.
Fig. 70 ist ein Blockdiagramm der Speichereinheit von Fig. 2A-B«
Fig. 71A-D ist ein detailliertes Diagramm des Speicherzugriffregisters nach Fig. 2A-B und 70.
Fig. 72A-D ist ein detailliertes Diagramm der Steuerschaltung nach Fig. 2A-D und 70.
Fig. 7 3A-D ist ein detailliertes Schaltungsdiagramm des Speicherzugriff sregisters nach Fig.2A-B und 70.
Fig. 74A-D ist ein detailliertes Diagramm des Eingangs-Ausgangsregisters und der Gattersteuerkreise, die in der Eingangs-Ausgangssteuoreinheit nach Fig. 2A-B verwendet wird.
209852/1005
Fig. 75 ist ein schematisches Diagramm der Informationsquelle und des Verhältnisses der Eingangs-Ausgangsleitungen, die mit dem peripheren Interface-Einschub verbunden sind, der die Anschlüsse der Rechenmaschine aufnimmt.
Fig. 76 ist ein Blockdiagramm, aus dem hervorgeht, wie die Einheiten zur Magnetkartenablesung und -speicherung mit der Rechenmaschine nach Fig. 1 und 2A-B zusammenarbeiten.
Fig. 77 ist ein Blockdiagramm des Ausgangsdruckes, der in der Rechenmaschine nach Fig. 1 und 2A-B verwendet wird.
Fig. 78 ist eine Querschnittsansicht längs den Linien A-A in Fig. 77.
Fig. 79A-B ist ein detailliertes Diagramm eines thermischen
Druckkopfes, von Isolationsdioden, vier Treiberschaltungen und einer "Eins aus Zehn" Dekodierschaltung gemäß Fig. und 2A-B.
Fig. 80A-D ist ein detailliertes Schaltungsdiagramm der
zwanzig-Punkt-Treiber des internen zehn-Bit-Schieberegister; der Motortreiber, der Motortreiber-Steuerschaltung und der Drucker-Zeitgeberschaltung der Fig. 77.
Fig. 81A-B ist ein detailliertes Diagramm der Motortreiber nach Fig. 77.
Fig. 82 erläutert, wie die Ausgangsdruckereinheit der Fig. 77-81 jedes Schriftzeichen ausdruckt.
209852/ 1005
Beschreibung einer bevorzugten Ausgestaltung Allgemeine Beschreibung
Unter Bezugnahme auf die Figuren 1 und 2 ist eine anpassungsfähige programmierbare Rechenmaschine 10 gezeigt, die sowohl eine Eingabe-Tastatur 12 zur Informationseingabe in und zur Steuerung der Arbeitsweise der Rechenmaschine enthält, wie auch eine Magnetkarten-Wiedergabe- und Aufnahmeeinrichtung 14 zur Aufzeichnung von innerhalb der Rechenmaschine gespeicherten Informationen auf eine oder mehrere externe Magnetkarten 16 und zur anschließenden Einspeicherung der auf diesen und anderen ähnlichen Magnetkarten aufgezeichneten Informationen in die Rechenmaschine zurück. Die Maschine hat auch eine Pestkörper-Ausgabeeinrichtung 1.8 zur Darstellung einer in der Maschine gespeicherten numerischen Information sowie eine Gruppe von Anzeigelampen 19» die als Bestandteil der Eingabe-Tastatur dienen und den Zustand der Maschine anzeigen. Sie kann auch einen Ausgabe-Drucker 20 zum Ausdrucken einer alpha-numerisehen Information auf einem wärmeempfindlichen Papierstreifen 22 enthalten. Alle diese Eingabe- und Ausgabeeinheiten sind innerhalb eines einzelnen Rechenmaschinen-Gehäuses 24 im Bereich einer gebogenen Frontplatte 26 desselben montiert.
Wie in Figur 2 gezeigt, können mehrere periphere Eingabe- und Ausgabegeräte 28, wie beispielsweise auch ein Digitalwandler, ein Lesegerät für markierte Karten, ein X-Y--Plotter
209852/1005
und eine Schreibmaschine gleichzeitig an die Rechenmaschine angeschlossen sein, was durch einfaches Einfügen von den ausgewählten Peripheriegeräten zugeordneten Zwischenmodulen 30 in eine von vier Aufnahmefassungen 32 erfolgen kann, die zu diesem Zweck an der Rückwand 34 des Gehäuses der Rechenmaschine vorgesehen sind. Wenn ein Zwischenmo'dul 30 in eine der Aufnahmefassungen eingeführt wird, klappt eine federbelastete Klappe 38 am Eingang der Aufnahmefassung nach unten und erlaubt den Durchtritt des Zwischenmoduls. Sobald der Zwischenmodul vollständig eingeführt ist, steckt eine in dem Zwischenmodui enthaltene gedruckte Anschlußkarte 40 in einem angepaßten Kanten-Verbindungsstück, welches im Inneren der Rechenmaschine montiert ist. Wenn eines der ausgewählten Peripheriegeräte einen Netzanschluß benötigt, kann seine Netzschnur in eine der drei Netzspannungs-Anschlußdosen 42 eingesteckt werden, die zu diesem Zweck an der Rückwand des Gehäuses 24 vorgesehen sind.
Unter Bezugnahme auf das in Figur 3 gezeigte vereinfachte Blockschaltbild ist zu sehen, daß die Rechenmaschine auch eine Eingabe-Ausgabe-Steuereinheit 44 (im folgenden auch als i/O-Steuereinheit bezeichnet) zur Steuerung der Informationsübertragung zu und von den Eingabe- und Ausgabegeräten enthält sowie eine Speichereinheit 46 zur Speicherung und Bearbeitung von in die Maschine eingegebenen Informationen und zur Speicherung von Programmen und Unterprogrammen von durch die Maschine durchzuführenden Basisinstruktionen, und auch
209852/1005
einen zentralen Rechner 48 (im folgenden auch als CPU bezeichnet) zur Steuerung der Durchführung von Programmen und Unterprogrammen der in der Speichereinheit gespeicherten Basisinsttfuktionen nach Bedarf zur Erarbeitung von in die Maschine eingegebenen oder in dieser gespeicherten Informationen. Die Rechenmaschine hat auch ein Sammelleitungs-System, welches eine S"-Sammelleitung 50, eine T-Sammelleitung 52 und eine R-Sammelleitung 54 zur Informationsübertragung aus dem Speicher und dem Eingabe-Ausgabe-Steuergerät (I/O-Steuergerät) an den zentralen Rechner (CPU), von dem zentralen Rechner an den Speicher und das Eingabe-Ausgabe-Steuergerät und zwischen verschiedenen Bereichen dea zentralen Rechners enthält. Es umfaßt ferner eine Energieversorgung zur Versorgung der Rechenmaschine und der Peripheriegeräte mit Gleichspannung, welche bei diesen benötigt wird und zur Lieferung eines POP-Steuersignals, wenn Energie an die Rechenmaschine geliefert wird.
Das I/O-Steuergerät 44 umfaßt ein Eingabe-Ausgabe-Register (im folgenden entsprechend auch als I/O-Register bezeichnet), eine zugeordnete Eingabe-Ausgabe-Tor-Steuerschaltung 58 (fm folgenden auch als I/O-Tor-Steuerschaltung bezeichnet) und eine Eingabe-Ausgabe-Steuerlogik 60 (im folgenden auch als I/O-Steuerlogik bezeichnet); das i/O-Register 56 hat ein 16 Bit Universal-Schieberegicter, in welches Informationen übertragen werden können, und zwar entweder in Bit-Serienforra von dem zentralen Rechner 48 über die T-Sammelleitung 52 oder in Bit-Parallelforrn von der Eingabe-Tastatur 12, der
209852/1005
Magnetkarten-Wiedergabe- und Aufnahmeeinrichtung 14 und den peripheren Eingabegeräten 28, wie beispielsweise dem •Lesegerät für markierte Karten über zwölf Eingabe-Sammelleitungen 62. Informationen können auch.von dem I/O-Register 56 entweder in Bit-Serienform über die ^-Sammelleitung 50 an den zentralen Rechner 48 oder in Bit-Parallelform an die Magnetkarten-Wiedergabe- und Aufnahmeeinrichtung H, die Festkörper-Ausgabeeinrichtung 18, die Anzeigelampen 19, den Ausgabe-Drucker 20 und die peripheren Ausgabegeräte 28, wie beispielsweise den X-Y-Plotter oder die Schreibmaschine über sechzehn Ausgabe-Sammelleitungen 64 übertragen werden.
Die I/O-Tor-Steuerschaltung 58 hat Steuerschaltungen zur Steuerung der Informationsübertragung in und aus dem l/0-Register 56 auf ausgewählte I/O-Qualifizier-Steuersignale des zentralen Rechners 48 hin und auf ausgewählte i/O-Steuer-Instruktionen der I/O-Steuerlogik 60 hin. Sie hat auch eine Unterbrechungs-Steuerschaltung 65, eine periphere Steuerschaltung 66, eine Magnetkarten-Steuerschaltung 67, eine Drucker -Steuerschaltung 68, eine Darstellungs-Steuerschal tung 69 und eine Anzeige-Steuerschaltung 70 zur verschiedenartigen Steuerung der Eingabe- und Ausgabegeräte und zur Abgabe von QFG-und EBT-Steuersignalen über zwei Ausgabe-Leitungen 71 lind 72 an die I/O-Steuerlogik 60. Diese zuletzt erwähnten Steuerschaltungen führen ihre verschiedenen Steuerfunktionen durch,und zwar auf das POP-Steuersignal der Strom-
209852/1005
Versorgung hin, auf die I/O-Qualifizier-Steuersignale des zentralen Rechners 48 hin, auf die I/O-Steuer-Instruktionen der I/O-Steuerlogik 60 hin und auf Steuersignale der Eingabe-Tastatur 12 hin.Die Unterbrechungs-Steuerschaltung 65 leitet die Informationsübertragung von der Eingabe-Tastatur 12 in das I/O-Register 56 oder die Unterbrechung der Peripherie-Geräte 28, wie beispielsweise des Lesegerätes für markierte Karten ein und liefert über die Ausgabeleitungen 73 ein Qualifizier-Steuersignal QKR an den zentralen Rechner 48. Die periphere Steuerschaltung 66 befähigt die in die Rechenmaschine eingesteckten Zwischenmodule 30, auf Informationen des I/O-Registers 56 zu reagieren, die zugeordneten Peripherie-Geräte 28 zu steuern, Informationen an die zugeordneten Peripherie-Geräte 28 zu übertragen und/oder solche von diesen zu empfangen, und in einigen Fällen die Informationsübertragung von den Zwischenmodulen selbst an das I/O-Register 56 einzuleiten. Die Magnetkarten-Steuerschaltung 67 befähigt die Magnetkarten-Wiedergabe- und Aufnahmeeinrichtung 14, auf Informationen in dem I/O-Register 56 zu reagieren und entweder Informationen von einer Magnetkarte 16 in das I/O-Register 56 einzulesen, oder Informationen von dem I/O-Register 56 auf einer Magnetkarte 16 aufzuzeichnen. Die Drucker-Steuerschaltung 68, die Darstellungs-Steuerschaltung 69 und die Anzeige-Steuerschaltung 70 befähigen die Festkörper-Ausgabe einrichtung 1.8, den Ausgabe-Drucker 20 und die Anzeige-, lampen 19? auf Informationen von dem I/O-Register 56 anzusprechen.
209852/1005
Wenn eine von der Speichereinheit 46 erhaltene Basis-I/O-Instruktion auszuführen ist, überträgt der zentrale Rechner eine Steuerung an die I/O-Steuerlogik 60 durch Aussendung von zwei I/0~Mikroinstruktionen PTR und XTR an diese. In Beantwortung auf diese I/O-Mikroinstruktionen von dem zentralen Rechner 48, des POP-Signals von der Stromversorgung, der Steuersignale QFG und EBT von der I/O-Tor-Steuerschaltung 58, und der I/O-Qualifizier-und Takt-Steuersignale des zentralen Rechners 48 sendet die I/O-Steuerlogik 60 selektiv ein oder mehrere I/O-Steuerinstruktionen an die I/O-Tor-Steuerschaltung 58, wie es zur Durchführung der I/0-Basis-Instruktion erforderlich ist, die durch den zentralen Rechner 48 festgelegt ist, und sendet über die Ausgabeleitungen 74-77 Steuersignale TTX, XTS, QRD und SCB an den zentralen Rechner 48. Die von dem zentralen Rechner 48 an die I/O-Steuerlogik 60 und die I/O-Tor-Steuerschaltung 58 gesendeten Qualifizier-Steuersignale sind von der auszuführenden 1/0-Basis-Instruktion abgeleitet. Diejenigen Qualifizierer-Steuersignale, welche an die I/O-Steuerlogik 60 auslaufen, markieren die von der I/O-Steuerlogik 60 auszusendenden speziellen I/O-Steuerinstruktionen, während die an die I/O-Tor-Steuerschaltung 58 auslaufenden Steuersignale.ausgewählte Steuerschaltungen markieren, die zur Durchführung der I/O-Basisinstruktion benutzt werden.
Die Speichereinheit 46 umfaßt einen Sofortzugriff-Lese-Schreibspeicher 78 (im folgenden auch als RWM bezeichnet),
209852/1005
einen "bausteinförmigen nur lesbaren Speicher 80 (im folgenden auch als ROM bezeichnet), ein Speicheradressen-Register 82 (im folgenden auch als M-Register bezeichnet), ein Speicherzugriff-Register 84 (im folgenden auch als T-Register bezeichnet) und eine Steuerschaltung 85 für diese Speicher und Register. Der RWM-Speicher 78 und der ROM-Speicher 80 enthalten Speicher des MOS-Halbleitertyps. Wie in dem Speicherplan der Fig. 4· gezeigt, sind sie in acht Seiten zu 1024 Worten organisiert. Der Basis-RWM-Speicher 78 enthält einen Datenspeicher-Bereich 86 von 512 Worten zu 16 Bit, welche sich von der Adresse 1000 zu der Adresse 1777 auf der Seite 0 erstrecken und einen separaten Programmspeicher-Bereich 88 von 512 Worten zu 6 Bit, welche sich von der Adresse 12000 bis zu der Adresse 12777 auf der Seite J? er-: strecken. Alle Adressen auf dem Speicherplan sind in Oktalform dargestellt.
Der Datenspeicher-Bereich 86 enthält 49 vier-Worte-Speicherregister, die dem Benutzer zur Verfügung stehen,(als Benutzeradressen 000-048) zur Bearbeitung und Speicherung von Daten, 60 zusätzliche vier-Worte-Speicherregister, die dem Benutzer (als Benutzeradressen 049-108.) für den gleichen Zweck verfügbar gemacht werden können,und 76 Worte, die zur Benutzung durch den zentralen Rechner 48 gedacht sind. Die 60 zusätzlichen vier-Worte-Speicherregister können dem Benutzer verfügbar gemacht v/erden durch Änderung eines Steuerprogramms in de;n ROM-Bereich 88. Dies läßt sich durch Entfernen einer Deckolplatte 90 des in Fig. 1 gezeigten Rechenmaschinen-
209852/1005
Gehäuses, Entnehmen einer gedruckten Schaltung, die das zu ändernde Steuerprogramm enthält und Ersetzen derselben durch eine andere gedruckte Schaltung, welche das geänderte Steuerprogramm enthält, durchführen. Zusätzliche, dem Benutzer verfügbar gemachte Datenspeicher-Module werden durch die Rechenmaschine automatisch angepaßt.
Wie in dem ausführlicheren Speicherplan der Fig. 5 gezeigt ist, umfaßt der dedizierte Bereich des Datenspeicher- Bereiches 86 16 Worte ( die Airessen 1750-1753, 1740-1743, und 1760-1763)» die als dem Benutzer verfügbare vier-Wort-Arbeitsregister "X", "Y", und "Z" benutzt werden und 8 Worte (die Adressen 1764-1773), die als dem Benutzer verfügbare vier-Wort-Speicherregister benutzt werden. Er enthält auch 8 Worte (die Adressen 1744-1747 und 1754-1757), die als vier-Wort-Arbeitsregister "AR1" und "AR2" zur Durchführung von binär kodierten Dezimalrechnungen benutzt werden; 12 Worte ( die -Adressen 1664-1677), die als drei ("T11 ", " T2' », und " T31 ") oder mehr vorübergehende Speicherregister im Zusammenhang mit einem definierbaren Abschnitt 91 der Eingabe-Tastatur 12 (vgl. Fig. 1) benutzt werden; 16 Worte (die Adressen 1720-1737), die als vier ("T1", "T2", "T3" , und "T4") oder mehr vorübergehende Speicherregister im Zusammenhang mit den übrigen Bereichen der Eingabe-Tastatur benutzt worden; 7 Worte (die Adressen I71I-1717),die als veränderlich-lange "Unterprogramm-Stapel des Systems" zur Speicherung von Rückadressen benutzt werden, die von den in
209852/1005
dem nur lesbaren Speicher (ROM) 80 gespeicherten Programmen benötigt werden sowie als vorübergehender Speicher von Haushalts-Informationen, die der zentrale Rechner 48 benötigt; 1 Wort (die Adresse 1777)» welches als "Zeiger des Systemstapels " benutzt wird; 5 Worte (die Adressen 1702-1706), die als "Unterprogramm-Stapel des Benutzers" zur Speicherung von Rückadressen benutzt werden, welche von den.durch den Benutzer in den Programmspeicher-Bereich 88 des Sofortzugriff-Lese-Schreibspeichers (RWM) 78 eingegebenen Programmenbenötigt werden; 1 Wort (die Adresse 1710), welches als "Zeiger" des Benutzerstapels" benutzt wird; 1 Wort (die Adresse 1701), welches als "Zähler des Benutzerprogramms" für durch den Benutzer in den Programmspeicher-Bereich 88 eingegebene Programmschritte benutzt wird; 1 Wort (die Adresse 1707)ι welches als ein "0000-Benutzeradressen"-Register zur Speicherung der ersten dem Benutzer verfügbaren Adresse in dem Programmspeicher-Bereich 88 benutzt wird; 1 Wort (die Adresse 1700), welches als ein "Mikrorechner-Speicher"-Register zur Speicherung von Haushalts-Informationen benutzt wird, die der zentrale Rechner 48 benötigt; 1 Wort (die Adresse 177Ό> welches als "Unterbrechungs-Speicher"-Register zur Speicherung von Informationen benutzt \d.rd, die durch einige Tastatur-Eingaben von dem zentralen Rechner 48 abgesetzt sind; 1 Wort (die Adresse 1775)» welches als ein "Eingabe-Puffer"-Register zur Speicherung von Tastatur-Informationen benutzt wird, welche die Eingabe in den zentralen Rechner 48 erwarten; und 1 Wort (die Adresse 1776), welches als "Zustands-Wort"-Regi'ster zur Speicherung von Informationen benutzt wird, welche den momentanen Zustand der Rechenmaschine berücksichtigen.
209 852/100 5
Wie in dem Speicherplan der Fig. 4 gezeigt, enthält der Programmspeicher-Bereich 88 des Sofortzugriff-Lese-Schreibspeichers 78 (RWM) 500 ein-Wort-Programmschritt-Register, die dem Benutzer (als Benutzeradressen OOOO-O5OO) zur Speicherung von Programmen zur "Verfügung stehen, und 12 Worte, die der Benutzung durch den zentralen Rechner 48 zugedacht sind. Zusätzliche. 1536 ein-Wort-Programmschritt-Register können dem Benutzer in Stufen von 512 Worten (die Adressen I3OOO-I5777) und 1024 Worten (die Adressen 14000-15777) zugänglich gemacht werden. Dies läßt sich durch Entfernen der Deckelplatte .des in Fig. 1 gezeigten Rechenmaschinen-Gehäuses und Einstecken von zusätzlichen Programmspeicher-Modulen in die Maschine durchführen. Hinzugefügte Programmspeicher-Module werden von der Rechenmaschine automatisch angepaßt.
Wie in dem ausführlicheren Speicherplan der Fig. 6 gezeigt, umfaßt der dedizierte" Bereich des Programmspeicher-Bereiches 88 1 Wort ( die Adresse 12013), welches als "Sicherungs-Wort"-Register zur Speicherung eines Kodes benutzt wird, der ein in dem Programmspeicher-Bereich 88 gespeichertes Programm als abgesichert markiert. Er umfaßt auch 1 Wort (die Adresse 12000), welches als ein "Durchführungs-Fahnen"-Register zur Speicherung einer Information benutzt wird, welche anzeigt, ob der zentrale Rechner 48 (CPU) durch ein in dem Programmspeicher-Bereich gespeichertes Programm ode]" du'rch die Eingabe-Tastatur β o-steuert wird; 2 Worte ( die Adressen
209852/1005
12001-12002), welche als "Normalisierungs-Fahnen"- -und "Druck-Fahnen"-Register zur Speicherung von Informationen über numerische Daten, die von dem zentralen Rechner 48 "bearbeitet werden, benutzt werden; 3 Worte (die Adressen 12003-12005), welche als "vorübergehende Darstellungs"-Register zur Speicherung von Haushalts-Informationen über die Schriftzeichenposition, die Dezimalposition und den Registerort der von der Darstellungs-Einheit dargestellten numerischen Information benutzt werden; 1 Wort (die Adresse 12006), welches als "Druckkode-Puffer"-Register zur SpeidBrung von Haushalts-Informationen über alpha-numerische Informationen benutzt wird, welche durch den Ausgabe-Drucker ausgedruckt werden; und 4 Worte (die Adressen 12007-12012), die für andere Zwecke verfügbar sind.
Wie in dem Speicherplan der Fig. 4- gezeigt, umfaßt der nur lesbare Basisspeicher 80 (ROM) 2048 16-Bit-Worte, welche sich von der Adresse 0000 bis zu der Adresse 0777 auf der Seite 0, von der Adresse 4000 bis zu der Adresse 5777 auf •der Seite 2 und von der Adresse 16000 bis zu der Adresse 16777 auf der Seite 7 erstrecken. In diesen Bereichen des ROM-· sind Programme und Unterprogramme von Basisinstruktionen zur Durchführung der Basisfunktionen der Rechenmaschine und Konstanten gespeichert, die von diesen Programmen und Unterprogrammen benutzt v/erden. Es können auch v/eitere 3072 16—Bit-"V/ortc den ROM in Stufen von 512 und 1024 Worten auf den Sei Lon 1, 'j> und 4 hinzugefügt werden. Dies erfolgt durch einfache·::; Euifügen von steckbaren ROM-Modulen 92 in
2 η ι η <; ? / ι ο οΓ»
Steckfassungen 9^·, welche hierzu in der Deckelplatte 90 des Gehäuses der Rechenmaschine vorgesehen sind, wie in Fig. 1 anhand des teilweise eingeführten steckbaren ROM-Modules auf der linken Seite dargestellt ist. Wenn ein steckbarer ROM-Modul 92 in eine dieser Steckfassungen eingeführt wird, klappt eine federbelastete Klappe 95 sm Eingang der Steckfassung abwärts und gestattet den Durchtritt des steckbaren ROM-Modules. Wenn der ROM-Modul vollständig eingeführt ist, wie durch den ROM-Modul auf der rechten Seite dargestellt, steckt eine in dem steckbaren ROM-Modul enthaltene gedruckte Anschlußkarte 96 in einem angepassten Yerbindungsstück, welches innerhalb der Maschine montiert ist. Ein aia oberen Ende eines jeden steckbaren ROM-Modules 92 angelenkt befestigter Handgriff 98 erleichtert die Entnahme der steckbaren ROM-Module, nachdem sie vollständig in eine der Steckfassungen eingeführt sind.
In jedem der steckbaren ROM-Module 92 sind Programme und Unterprogramme von Banisinstruktionen (und die benötigten Eonstanten) gespeichert, welche, die Rechenmaschine in die Lage versetzen, viele zusätzliche Punktionen auszuführen. Der Benutzer kann die Rechenmaschine somit schnell und einfach anpassen,um viele zusätzliche Funktionen durchzuführen,, die sich an seinen speziellen Erfordernissen orientieren, indem er einfach ROM-Module seiner Wahl in die Maschine einfügt. Hinzugefügte; st eckbare ROM-Module \tfcrdcri von der Rc'cheniiiciiJc-liLTif: :iuborr.iüLi3oh angepaßt und dem dcfinierbaron Bereich 91 dor I·".Liif^ibe-'i'-afitfibiu.· 12 zugeordnet, oder sie werden
."'!) 1 Π '. ' / 1 HO S
zur Erweiterung der von diesem und anderen Bereichen der Eingabe-Tastatur durchzuführenden Funktionen benutzt.
Unter erneuter Bezugnahme auf Fig. 5 enthält das Speicher-Adressen-Register 82 (M-Register) der Speichereinheit ein umlaufendes 16—Bit-Serien-Schieberegister, in welches über die T-Sammelleitung 52 Informationen in. Bit-Serienform von dem zentralen Rechner 48 und aus welchem über die S~-Sammelleitung 50 Informationen in Bit-Serienform an den zentralen Rechner 48 übertragen werden können. Die in das M-Register 82 eingeschobene Information kann zur Adressierung eines Wortes in dem RWM-Speicher 78 oder dem ROM-Speicher 80 über fünfzehn Ausgabeleitungen 106 benutzt werden.
Das T-Register 84 der Speichereinheit besitzt ein umlaufendes ■ 16-Bit-Serien-Schieberegister, in welches Information übertragen werden kann,und zwar entweder in Bit-Serienform von dem zentralen Rechner 48 über die T-Sammelleitung 52 oder in Bit-Prallelform von einem adressierten Wort in den Speichern RWM 78 und ROM 80 über sechzehn Parallel-Eingabeleitungen 108. Aus dem T-Register 84 kann die Information entweder in Bit-Serienform über die ö-Sammelleitung 50 an den zentralen Rechner 48 oder in Bit-Parallelform über sechzehn Parallel-Ausgabeloitunceri 110 an ein adressiertes Wort in dem RWM-Speichcr 78 übertragen werden. Die vier weniger bedeutenden Bits der in dona T-Rcgister 84 enthaltenen Information können eine binär kodierte Dezimalin.fo.r.i.iation umfahren uifl in
209852/10Ob
Bit-Parallelform über drei Parallel-Ausgabeleitungen 112,
die mit der B'-Sammelleitung 50 genommen werden, an den (
zentralen Rechner 48 übertragen werden.
Die Steuerschaltung 85 der Speichereinheit steuert diese Informationsübertragungen in und aus dem M-Register 82 und dem T-Register 84, steuert die Adressierung und den Zugriff der Speicher EWM 78 und ROM 80 und lädt den Speicher RWM 78. Sie führt diese Funktionen in Beantwortung von Speicher-Mikroinstruktionen, Speicher-Taktimpulsen und Verschiebetaktimpuls en von dem zentralen Rechner 48 durch.
Der zentrale Rechner 48 (CPU) hat ein Register 114, eine Mathematik-Logik-Einheit 116 (im folgenden auch als ALIJ bezeichnet) , einen programmierbaren Takt 118 und einen Mikrorechner 120. Das Register 114 umfaßt vier umlaufende 16-Bit-Schieberegister 122, 124, 126, und 128 und ein 4-Bit-Schieberegister 130. Die Schieberegister 122 und 124 dienen als 16-Bit Serien-Sammelregister ( im folgenden auch als A-Register bzw. B-Register bezeichnet), in welche über die T-Sammelleitung 52 in Bit-Serienform Informationen von der Mathematik-Logik-Einheit 116 (ALU) und aus welchen über die H-Samme1-leitung 54 Informationen in Bit-Serienform an die ALU-Einheit 116 übertragen worden können. Die vier weniger bedeutenden Bit-Positionen des A-Registers 122 dienen auch als ein 4-Bit Parellel-Sammelregister, in welches vier Bits einer "binar kodierten Dezimalinformation in Parallelform von der ALU-
209852/1005
Einheit 116 über vier Parallel-Eingabeleitungen 132 und aus welchem vier Bits einer binär kodierten Dezimalinformation ebenso in Parallelform über drei Parallel-Ausgabeleitungen 134, die mit der ^-Sammelleitung 54 genommen werden, an die ALU-Einheit 116 übertragen werden können.
Das Schieberegister 126 dient als 16-Bit Programmzähler des Systems ( im folgenden auch als P-Register bezeichnet), in welches Informationen von der ALU-Einheit 116 in Bit-Serienform über die T-Sammelleitung 52 und aus welchem Informationen an die ALU-Einheit 116 in Bit-Serienform über die E-Sammelleitung 54 übertragen werden können. Die in den weniger bedeutenden Bitpositionen des P-Eegisters 126 enthaltenen Informationen können auch als Qualifizier-Steuersignal QPO über eine Ausgabeleitung 135 an den Mikrorechner 120 übertragen werden.
Das Schieberegister 128 dient als 16-Bit Qualifizier-Register ( im folgenden auch Q-Register genannt), in welches Informationen von der ALU-Einheit 116 in Bit-Serienform über die T-Sammelleitung 52 und aus welchem Informationen in Bit-Serienform über die E-Sammelleitung 54 an die ALU-Einheit übertragen werden können. Die in den fünf weniger-bedeutenden Bitpositionen des Q-Eegisters 128 enthaltene Information wird in Form von fünf 1-Bit I/O-Qualifizierer-Steuersignalen Q00-Q04 über fünf parallele Ausgabeleitungen 136 an die I/O-Tor-Steuerschaltung 58 übertragen und die in den sechs
209852/ 1005
SO
nächst weniger bedeutenden Bitpositionen des Q-Registers enthaltene Information wird in Form von sechs 1-Bit 1/0-Qualifizierer-Steuersignalen QO5-Q1O über.sechs parallele Ausgabeleitungen 138 an die I/O-Steuerlogik 60 übertragen. Ähnlich kann die in den sieben weniger bedeutenden, der neunten und der elften weniger bedeutenden und in der am meisten bedeutenden Bitposition des Q-Registers 128 enthaltene Information und die aus der dreizehnten, vierzehnten und fünfzehnten Bitposition des Q-Registers abgeleitete Information in Form von elf 1-Bit Mikrorechner-Qualifizierer-Steuersignal en Q00-Q06, Q08, Q10, Q15, und QfIR über elf Ausgabeleitungen 140 an den ..x^rorechner 120 übertragen werden. Die in der zwölften bis fünfzehnten weniger bedeutenden Bitposition des Q-Rqgisters 128 enthaltene Information kann als ein 4-Bit Primär-Adressen-Kode über vier parallele Ausgabeleitungen 142 an den Mikrorechner 120 übertragen werden.
Das Schieberegister 1JO dient als 4-Bit Serien-Ausbaüregister (im folgenden auch als Ε-Register bezeichnet), in welches Informationen entweder von der ALU-Einheit 116 über die T-ßammelleitung 52 oder von der weniger bedeutenden Bitposition des T-Registers 84 über die Eingabeleitung 144 übertragen werden können. Es können auch Informationen aus dem E-Register 130 über die R-Sammelleitung 54 an die ALU-Einheit übertragen werden.
2098 52/1005
Die Registereinheit 114- -umfaßt auch eine Steuerschaltung 14-6 zur Steuerung der "Übertragung von parallel binär kodierten Dezimalinformationen in und aus dem A-Register 122 und der übertragung von Serien-Binär-Informationen in und aus dem A-Register 122, dem;B-Register 124, dem P-Register 126, dem Q-Register 128 und dem E-Register 130. Dies erfolgt in Beantwortung von Register-Mikroinstruktionen von dem Mikrorechner 120, von Steuersignalen ^TX und XTR von der 1/0-Steuerlogik 60 und von Schiebetakt-Steuerimpulsen von dem programmierbaren Takt 118. Die Steuerschaltung 146 hat ein Flip-Flop 148 (im folgenden auch als A/B-Flip-Flop bezeichnet) zur Ermöglichung der Informationsübertragung in und aus entweder dem A-Register 122 oder dem B-Register 124-, was durch den Zustand des A/B-Flip-Flop festgelegt wird. Der Zustand des A/B-Flip-Flop 148 wird anfänglich durch eine Information Q11 bestimmt, Vielehe von der zwölften weniger bedeutenden Bitposition des Q-Registers 128 an das A/B-Flip-Flop.übertragen wird, kann aber im folgenden ein- oder mehrmals durch eine Makroinstruktion CAB von dem Mikrorechner 120 komplementiert werden.
Die Mathematik-Logik-Einheit 116 (ALU) kann entweder 1-Bit Serien-Binärrechmingen an Daten durchführen, welche sie über die S"-Sojamelleiljun2 50 von dem T-Register 84 oder dem M-Register 82 und/oder über die R-Sammelleitung 54 von einem anderen Register der Regiütereinheit 114 empfängt oder aber 4—Bit parallel binrir kodierte Dezimalrechnungen an Daten, welche säe über dir· Aungabeleitungen 112, die mit der
209852/1005
ü-Sammelleitung 50 geführt werden von dem T-Register 84 und/ oder über die mit der R~-Samme 1 leitung 5^ geführten Ausgabeleitungen 1J4 von dem A-Register 122 empfängt. Sie kann auch Logik-Operationen ah Daten durchführen, welche sie von der Speichereinheit 46 und/oder der Registereinheit 114 über eine dieser Leitungen erhalten hat. Die durchgeführten mathematischen und logischen Operationen werden durch ALU-Mikroinstruktionen von dem Mikrorechner 120 markiert und in Beantwortung von diesen Mikroinstruktionen von Schiebetakt-Steuerimpulsen von dem programmierbaren Takt 118 und von dem Steuersignal SCB von der I/O-Steuerlogik 60 ausgeführt. Die Information wird auch von der ALU-Einheit 116.über die Ausgabeleitungen 132 an das A-Register 122 oder über die T-Sammelleitung 52 an das I/O-Register 56, das M-Register 82, das T-Register 84 oder ein Register der Registereinheit 114 übertragen in Beantwortung von Mikroinstruktionen und Steuersignal en,welehe an diese Register angelegt sind. Wenn ein Übertrag resultiert, während die ALU-Einheit 116 entweder eine 1-Bit Serien-Binärrechnung oder eine 4-Bit parallel binär kodierte Dezimalrechnung durchführt, sendet die ALU-Einheit ein korrespondierendes Qualifizier-Steuersignal QBC und QDC an den Mikrorechner 120 über eine der beiden Ausgabeleitungen 152 und 154.
Der programm!erbare Takt 118 umfaßt einen quarzgesteuerten Systemtakt 1565 einen Taktdekoder und Generator 158 und ein Steuergatter 160. Der Systemtakt I56 sendet über eine Ausgabeleitung 162 regelmäßig wiederkehrende Taktimpulse
209852/ 1 005
an den Taktdekoder- und Generator 158. Als Reaktion auf diese regelmäßig v/iederkehrenden Taktimpulse des Systemtaktes 156 und auf 4-Bit Taktkodes von dem Mikrorechner 120 sendet der Taktdekoder 158 Gruppen von η Schiebe-Taktimpulsen an die ALU-Einheit 116, das M-Register 82, das T-Register 84 und alle Register der Registereinheit 114- über die Ausgabeleitung 164·. Di.ese Gruppen von η Schiebe-Taktimpulsen werden benötigt zum Verschieben einer entsprechenden Anzahl von Bits einer Serieninformation in oder aus einem dieser Register oder zum Verschieben eines Übertrag-Bits in die ALU-Einheit. Die Anzahl n.der Impulse in jeder dieser Gruppen kann von eins bis sechzehn variieren, was von der Anzahl der Bits der Seriellinformation abhängt,die während der auszuführenden Operation erforderlich ist. In Beantwortung eines Steuersignales CCO von dem Mikrorechner 120 unterbindet das Steuergatter 160 das Auslaufen sämtlicher Schxebetaktimpulse an die ALU-Einheit oder eines dieser Register. Wenn eine solche Gruppe von η Schiebetaktimpulsen vollständig ist, sendet der Taktdekoder- und Generator I58 einen ROM-Taktimpuls an den Mikrorechner 120 über die Ausgabcleitung 166 und einen 1/0-Taktimpuls an die I/O-Steuerlogik 60 über die Ausgabeleitung 168. Als Folge der regelmäßig wiederkehrenden Taktsignale den Systemtaktes 156 sendet der Taktdekoder und Generator 15-3 auch korrespondierend regelmäßig wiederkehrende Speicher-Toktj impulsο über die Ausgabeleitung I70 an die Speichereinholt 46.
20985 2/1005
Der Mikrorechner 120 sendet selektiv über zwei Ausgabeleitungen 172 zwei I/0-Mikroinstruktionen an die I/0-Steuerlogik 60, sechs Speicher-Mikroinstruktionen an die Speichereinheit 46 über sechs Ausgabeleitungen 174, dreizehn Register-Mikroinstruktionen an die Register-Einheit 114 über dreizehn Ausgabeleitungen I76 und fünf ALU-Mikroinstruktionen an die ALU-Einheit 116 über fünf Ausgabeleitungen 178. Er sendet auch einen 4-Bit Taktkode, der jeder dieser Mikroinstruktionen zugeordnet ist, über vier Auogabeleitungen an den Taktdekoder I58. Diese Mikroinstruktionen und die zugeordneten Taktkodes werden ausgesendet, wie es bestimmt wird durch das Steuersignal POP von der Stromversorgung, durch die elf Mikroreclmer-Qiialifizaerer-Steuersignale von dem Q-Register 128 von den 4-Bit Primäradressen-Kodes von dem Q-Register 128 und den fünf Ilikrorechner-Qualifizierer-Steuersignalen von der I/O-Stetierlogik 60, der Uriterbrechungs--Steuerschaltung 65, der ALU-Einheit 116 und dem P-Register 126.
Wie in dein vereinfachten Flußdiagramm der Pig. 7 gezeigt, führt der Mikrorechner 120 in Beantwortung des POP-Steuersignals ein Maschincn-Diagnosepx-ogramm aus (welches in dein Mikrorechner selbst gespeichert ist). Wenn dieses Diagnoseprogramm vollständig ist, gibt die ALU-Einheit 116 das Qualifizior-Steuerr.-.ignal QBG aus, welches anzeigt, ob das Diagnor>epropraiün erfolgreich war oder nicht, woraufhin der Mikrorechner 120 auf/ diones Qualifizier-Steuersignal antwortet durch Eingabe der Basis-Arbeitssohleife der Maschine und
2098 5. 2/1005
-TT-
Abgeben von Makroinstruktionen, wodurch, eine in dem ROM-Speicher 80 gespeicherte 16-Bit Instruktion in das T-Register 84- eingespeichert und von dort an das Q-Register 128 übertragen wird. Daraufhin antwortet der Mikrorechner 120 nacheinander auf ein oder mehrere zusätzliche Qualifiziersteuersignale durch Abgabe von Makroinstruktionen und zugeordneten Taktkodes zur Durchführung der dann in dem Q-Register 128 enthaltenen Instruktion und um zu bewirken, daß eine andere in dem ROM-Speicher 80 gespeicherte 16-Bit Instruktion in das T-Register 8A- eingespeichert und von dort in das Q-Register übertragen wird. Wenn eine Instruktion in dem Q-Register 128 enthalten ist, die eine Mehrfa'ch-Abzweigung erfordert, gibt der Mikrorechner 120 zwei Makroinstruktionen UTR und XTR ab, die den Mikrorechner veranlassen, auf einen 4-Bit Primäradressen-Kode von dem Q-Register zu antworten durch Abgabe zusätzlicher Makroinstruktionen und zugeordneter Taktkodes zur Durchführung der in dem Q-Register enthaltenen Instruktion.
V/ie anhand der Basis-Arbeitsschleife der Maschine in dem Flußdiagramm der Fig. 7 gezeigt, antwortet der Mikrorechner 120 zunächst auf das Qualifizier-Steuersignal QNR entweder durch Aussenden von Makroinstruktionen und zugeordneten Taktkodes zur Unterbrechung der Basis-Arbeitssclileife und zur Durchführung eines I/O-Serviceprogramms oder durch Aussenden von Mikroinotrukvionen und zugeordneten Taktkodes zum Einspeichern der in der:i Q-Register 128 enthaltenen Information Q11 in das A/B-Flip-Flop 148. Die Art und Weise, in welcher
209852/1005
der Mikrorechner 120 antwortet, bestimmt sich durch den Zustand des Qualifizier-Steuersignals QJiR,welches aufeinanderfolgend festlegt, ob die Basis-Arbeitsschleife der Maschine unterbrochen werden soll oder nicht.
Unter der Voraussetzung, daß die Basis-Arbeitsschleife nicht unterbrochen werden soll, speichert der Mikrorechner 120 die Information QI1 in das A/B-Plip-Flop 148 und reagiert auf das Qualifizier-Steuersignal QMR entweder durch Aussenden von Mikroinstruktionen zur Übertragung eines Adressenteiles der in dem Q-Register 128 enthaltenen Instruktion aus dem T-Register 84 in das M-Register 82 oder er reagiert auf ein anderes Qualifizier-Steuersignal Q15· Die Art und Weise, in welcher der Mikrorechner 120 antwortet, bestimmt sich wiederum durch den Zustand des Qualifizier-Steuersignals QMR, welches aufeinanderfolgend bezeichnet, ob die in dem Q-Register 128 enthaltene Information eine Speicher-Referenzinstruktion' ist oder nicht.
Unter der Voraussetzung, daß die in dem Q-Register 128 enthaltene Instruktion eine Speicher-Referenzinstruktion ist, überträgt der Mikrorechner 120 die erforderliche Adressen*- information in das M-Register 82 und antwortet auf das Qualifizier-Steuersignal Q10 entweder durch Aussenden von Mikroinstruktionen und zugeordneten Taktkodes zur Auswahl der Basis-Seite des Speichers (z.B. Seite 0) oder durch Aussenden von Mikroinstruktionen und zugeordneten Taktkodes zur
209852/ 1 005
Auswahl der gegenwärtigen Seite des Speichers (25.B. der Seite,von welcher die in dem Q-Register 128 enthaltene Instruktion erhalten wurde). In jedem Fall sendet der Mikrorechner daraufhin die erforderlichen Mikroinstruktionen 'aus zum Lesen der Daten von der gegenwärtigen Seite des Speichers unter der Adresse, die durch die zuletzt in das M-Register 82 übertragene Adresseninformation markiert ist. Nach Abschluß dieser Operation antwortet der Mikrorechner auf das Qualifizier-Steuersignal Q15 durch Aussenden zusätzlicher Mikroinstruktionen und zugeordneter Taktkodes zur Ausführung einer indirekten Speicherzugriff-Operation, wenn der Zustand dieses Qualifizier-Steuersignals anzeigt, daß die in dem M-Register 82 enthaltene Information eine indirekte ist.
Unter der Annahme, daß die in dem M-Register 82 enthaltene Adresseninformation eine direkte ist (oder bei Abschluß der indirekten Speicherzugriff-Operation), gibt der Mikrorechner 120 Mikroinstruktionen und zugeordnete Taktkodes ab, welche don Mikrorechner selbst veranlassen, auf einen 4-Bit Primäradreosenkode aus dem Q-Register zu antworten. Der Mikrorechner antwortet durch Aussenden zusätzlicher Mikroinstruktionen und zugeordneter Taktkodes zur Durchführung welche von zehn möglichen Speicher-Referenzinstruktionen auch immer in dem Q-Register 128 enthalten und durch den 4-Bit Primäradressenkodf: markiert ist. Im Anschluß an die Durchführung der markierten Spcichor-Bczugsinstruktion sendet der Mikrorechner
209852/1005
Makroinstruktionen und zugeordnete Taktkodes aus, wodurch eine andere in dem ROM-Speicher 80 gespeicherte Instruktion in das T-Register 84 eingespeichert und von dort in das Q-Register 128 übertragen wird, wodurch ein anderer Zyklus der Basis-Arbeitsschleife der Maschine begonnen wird.
Wie durch andere mögliche V/ege der in Fig. 7 gezeigten Basis-Arbeitsschleife dargestellt, antwortet der Mikrorechner 120 nacheinander auf andere Qualifizier-Steuersignale, wenn andere Typen von Instruktionen in dem Q-Hegister 128 enthalten sind. Wenn beispielsweise eine I/O-Instruktion in dem Q-Register 128 enthalten ist, antwortet der Mikrorechner 120 nacheinander auf die Qualifizier-Steuersignale QjNR, QMR, Q15, Q10, und QRD durch Aussenden von Mikroinstruktionen und zugeordneten Taktkodes zur Durchführung der I/O-Instruktion. Es sei bemerkt, daß die in dem vereinfachten Flußdiagramm der Fig.7 nicht gezeigten Qualifizier-Steuersignale des Mikrorechners verschiedenartig in diesen Blöcken des Flußdiagr amins enthalten sind, wodurch Entscheidungen erforderlich v/erden, was noch näher erläutert wird.
209852/ 1 005
22287A2
. DIE WIRKUNGSWEISE DER TASTEN
Sämtliche von der Rechenmaschine durchzuführende Operationen lassen sich durch die Eingabe-Tastatur und/oder über die' Eingabe-Tastatur in die Maschine eingegebene Tastenkodes, die Lese-und Schreibeinheit für Magnetkarten oder periphere Eingabegeräte wie die Lese-Einrichtung für markierte Karten steuern oder einleiten und als Programmschritte in dem Programm-Speicherbereich des EWM-Speichers speichern. Die Rechenmaschine reagiert auf die Tastenkodes grundsätzlich'in der gleichen Art,- ob sie diese nun von der Eingabe-Tastatur oder von dem Programm-Speicherbereich des Rl1JM-Speichers erhalten hat. Deswegen erscheint nun eine Wirkungsbeschreibung der Eingabe-Tastatur unter spezieller Bezugnahme auf die 3?ig. 1, sofern nichts anderes gesagt wird, angezeigt.
Der Netzschalter
Ein ein-aus Netzschalter 182, der als Bestandteil der Eingabe-Tastatur aufgefasst werden kann, steuert den Energiezufluß an die Rechenmaschine und somit das Auftreten des Steuersignals POP von der Stromversorgung. Die Anzeigelampen 19 dienen als Pilotlampe, da zumindest zwei von ihnen ständig eingeschaltet sind, wenn die Maschine an das Wetz geschaltet ist.
Wie in Fig. 2 angedeutet, kann die Rechenmaschine mit 230, 200, 115, oder 100 Volt - 10 %, was sich durch zwei
209852/1005
Netzspannungs-Wählschalter einstellen läßt, die an der Rückwand 34 des Rechenmaschinen-Gehäuses montiert sind und mit einer Netzfrequenz im Bereich von 48 - 66 Hz betrieben werden. Die Rechenmaschine ist mit einer 6 Amp,-Sicherung und entweder einer 1 Amp.-Sicherung für den Betrieb bei 200 oder 230 Volt i 10% oder einer 2 Amp.-Sicherung für den Betrieb bei 100 oder 115 Volt ί 10% versehen. Sie hat auch ein dreiadriges Aiischlußkabel 184, welches das Gehäuse der Rechenmaschine erdet, wenn es in eine entsprechende Vechselspannungs-Anschlußdose eingesteckt ist. Der maximale Energieverbrauch der Maschine beträgt 1|?0 VA.Für die Peripheriegeräte 28 werden nicht mehr als insgesamz 610 VA aus den Netzspannungs-Anschlußdosen 42 entnommen.
Die Programmarten-Tasten (RUN,PRGM, KEY LOG)
Wenn die Rechenmaschine gerade eingeschaltet wurde, ist sie automatisch gestartet und auf manuelle Betriebsart geschaltet. Wenn die Maschine in eine andere Betriebsart geschaltet ist, kann sie durch einfaches Drücken der RUN-Betriebsartentasten anschließend wieder in die manuelle Betriebsart geschaltet werden. In der manuellen Betriebsart wird der Arbeitsablauf der Rechenmaschine durch den Benutzer über die Eingabe-Tastatur von Hand gesteuert. In dieser Betriebsart zeigt die Anzeigeeinrichtung eine numerische Deziraaldarstellung der Inhalte des x-, des y- und des z-Registers (oder von zugeordneten Speicherregistern, in welchen die tatsächlichen oder
20 9 852/1005
gewollten Inhalte des x—, des y—, und des z-Registers vorübergehend gespeichert sind, wobei zur Vereinfachung der Beschreibung festgelegt sei, daß es sich um die Inhalte des x-, des y- und des z-Registers handele). Die Inhalte des x-,' des y- und des z-Registers erscheinen neben den entsprechenden Registerbezeichnungen "keyboard χ", "accumulator y" und "temporary ζ" in dem Anzeigefenster. Das Drücken der RTJN-Betriebsartentaste konditioniert die Rechenmaschine auch für eine automatische Betriebsart, eine erste tastenbestimmte (key-log) Druck-Betriebsart, eine Programmlisten-Druck-Betriebsart, eine Magnetkarten-Lese-Betriebsart und eine Magnetkarten-Aufzeichnungs-Betriebsart, was durch andere noch zu beschreibende Tasten festgelegt wird., Eine unmittelbar unterhalb der Ablauf~(RUN-)Betriebsartentaste angeordnete Anzeigelampe 19 ist eingeschaltet, wenn die Rechenmaschine in einer der RUN-Betriebsarten arbeitet.
Die Prograram-(PRGM-)Betriebsartentaste wird gedrückt, um die Maschine in die Programmeingabe-Betriebsart zu schalten. In dieser Betriebsart werden die von dem Benutzer nacheinander über die Eingabe-Tastatur eingegebenen Tastenkodes als Programmschritte in aufeinanderfolgenden Programmschritt-Re~ gistern des Programmspeicher-Bereiches des RWM-Speichers gespeichert, was durch den Beriutzerprogramm-Zähler bestimmt wird. Wie oberhalb beschrieben, sind 500 Programmschritt-Register ( die Bermtzeradreßf;cn 0000-0500) verfügbar, und es können weitere 15"ί·6 Programmspeicher-Register (die Benutzerssen 0501-2035) dem Benutzer für diesen Zweck verfügbar
209 8 52/100.5
gemacht werden. Dasjenige Programmschritt-Register, in welches jeder Programmschritt einer programmbezogenen Operation einzuspeichern und aus welchem jeder Programmschritt zu erhalten ist/ wird immer durch den Benutzerprogramm-Zähler festgelegt. Vor der Eingabe eines Programmes oder Unterprogramms in die Maschine muß somit der Benutzerprogramm-Zähler auf diejenige Adresse des Programmschritt-Registers gesetzt werden, bei welcher der anfängliche Programmschritt des einzugebenden Programms oder Unterprogramms gespeichert werden soll (diese Adresse wird im folgenden auch als gewünschte Anfangsadresse nnnn des Programms bezeichnet). Wenn die Rechenmaschine in eine Tastatur-gesteuerte RUN-Betriebsart geschaltet ist, kann dies durch Drücken der "gehe auf" -Taste (GO TO) gefolgt von den Dezimal-Digit-Tasten 0-9, welche die gewünschte Anfangsadresse nnnn des Programms festlegen, erfolgen, Wenn die gewünschte Anfangsadresse die Adresse 0000 ist, kann dies durch einfaches Drücken der Ende-Taste (END) erfolgen, wenn sich die Rochenmaschine in der manuellen Betriebsart befindet.
Sobald der Benutzerprogramm-Zähler auf die gewünschte Anfangsadresse nnnn gesetzt ist, kann der Benutzer fortfahren, das Programm oder Unterprogramm durch Ausführen der im Grunde gleichen Tastenoperationen einzugeben, die er normalerweise in der manuellen Betriebsart" durchfuhren würde. So ist es nicht erforderlich, eine besondere Sprache zu lernen, um die Rechenmaschine zu programmieren. In der Prograrameingabe-Betriebsart zeigt die Anzeigoinrichtung eine numerische
209852/ 1005
Dezimaldarstellung d,es zuletzt eingegebenen Programmschrittes und seine zugehörige Adresse und die Adressen der nächsten beiden einzugebenden Programmschritte und die derzeitigen Inhalte dieser Adressen.
Das Drücken der PRGM-Taste konditioniert die Rechenmaschine auch zum Betrieb in einer zweiten tastenbestimmten Druckart und einer Programmlisten-Druckart, was durch andere im Anschluß erklärte Tasten festgelegt wird. Wenn die Rechenmaschine in einer der PRGM-Betriebsarten arbeitet, ist eine unmittelbar unterhalb der PRGM-Betriebsartentaste angeordnete Programm-Betriebsart-Anzeigelampe 19 eingeschaltet.
Die KET LOG-Betriebsartentaste wird gedruckt, wenn die Maschine auf die manuelle Betriebsart geschaltet ist, um die Rechenmaschine in die erste tastenbestimmte (key-log) Betriebsart zu setzen. In dieser Betriebsart druckt der Ausgabedrucker eine oktal numerische Darstellung jeder durch den Benutzer ausgeführten Tastatur-Operation. Hierdurch entsteht eine permanente Aufzeichnung aller Tastatur-Operationen (einschließlich der regulären Datenausdruck-Operationen), wie durch das folgende Beispiel gezeigt:
Tastatur-Eingabe. Tastenfestlegung (koy log)
1 01
2 02 ΐ - 27
3 03
-80-20985 2/100 5
fet
Tastatur-Eingabe (Forts.) Tastenfestlegung (Forts.)
4 04 + 33
5 05 + 35
FRINO?
SPACE
5.00000
Wenn der ROM-Alphamodul in die Maschine eingesteckt ist, der diese in die Lage versetzt, Jedes alphabetische Schriftzeichen und viele Symbole einzeln oder in Meldungen zu drucken, druckt der Ausgabedrucker auch eine Gedächtnis-Darstellung jeder von dem Benutzer durchgeführten Tastatur-Operation. Dies sei an folgendem Beispiel erläutert:.
Tastatur-Eingabe Tastenfestlegung_ 01
1 1 02
2 2 27
t UP 03
3 3 04
4 4 33
+ + 05
5 5 35
DIV 45
PRINT PNT 5.00000
SPACE
-81-209852/ 1005
In der ersten tastenfestgelegten Druck-Betriebsart zeigt die Anzeigeeinheit die gleiche Information wie während der manuellen Betriebsart.
Die KEY LOG-Betrie"bsartentaste wird gedruckt, wenn die Rechenmaschine auf die Programmeingabe-Betriebsart geschaltet ist, um die Maschine auf die zweite tastenbestimmte Druck-Betriebsart zu setzen. In dieser Betriebsart druckt der Ausgabedrucker eine oktal numerische Darstellung jedes Tastenkodes, der von der Eingabe-Tastatur her in die Maschine eingegeben ist, und eine dezimal numerische Darstellung der Adresse unter welcher ein solcher Tastenkode als Programmschritt in dem Programm-Speicherbereich des MM-Speichers gespeichert ist. Dies ergibt eine permanente Aufzeichnung aller Tastatureingegebener Programmschritte, wie durch das folgende Beispiel gezeigt;
Tastatur-Eingabe Tastenfestlegung CLEAR 0000 20
1 0001 01
2 . 0002 — 02
φ 0003 27
3 0004 03
4 0005 04
+ 0006 : 33
5 0007 05
xK?y . 0000 30
SPACE UUJJ . > STOP 0010 41
ENJ) 0011 ~46
209852/1005
Wenn der ROM-Alpha-Modul in die Maschine eingesteckt ist, druckt der Ausgabedrucker auch eine Gedächtnis-Darstellung aller Tastatur-eingegebener Programmschritte. Dies sei durch das folgende Beispiel veranschaulicht:
Tastatur-Eingabe Tastenfestlegung 20
CLEAS 0000— CLR 01
1 0001— 1 02
2 0002— 2 27
\ 0003— UP 03
3 0004— 3 04
4 0005— 4 33
+ 0006— + 05
5 0007— 5 — 30
0008— ΧΕΙ 45
PRINT 0009— PKT 41
STOP ■ 0010— STP 46
END 0011— END
In der zweiten tastenbestimmten Druck-Betriebsart zeigt die Anzeigeeinrichtung die gleiche Information wie während der Programmeingabe-Betriebsart.
Die KEY LOG-Betriebsartentaste ist eine Ein-Aus-Kipp-Taste (d.h. wiederholtes Drücken der Taste schaltet die Rechenmaochine wechselweise in oder aus der entweder ersten oder zweiten tastenbestimmten Druck-Betriebscirt). Wenn dis Rechenmaschine in einer der tastenbestimmten Druck-Bebriebs-
209852/1005
arten arbeitet, ist eine unmittelbar unterhalb der KEX LOG-Betriebsarten-Taste angeordnete KEY LOG-Anzeigelampe 19 eingeschaltet.
Die Programmtasten (LIST, LOAD, EECOED)
Die LIST-Programmtaste wird gedruckt, wenn sich die Rechenmaschine in der manuellen Betriebsart, der ersten tastenbestimmten Druck-Betriebsart, der zweiten tastenbestiramten Druck-Betriebsart oder der Programmeingabe-Betriebsart befindet, um die Maschine auf die Programmlisten-Durck-Betriebsart zu setzen. In dieser Betriebsart druckt der Ausgabedrucker eine oktal numerische Darstellung der dann als · Programmschritte in dem Programm-Speicherbereich des EWM- . Speichers gespeicherten Tastenkodes und eine dezimal numerische Darstellung der Adressen dieser Programmschritte. Diese Programmschritte und die Adressen werden als Liste ausgedruckt, welche mit der durch den Benutzerprogramm-Zäliler zuerst bestimmten Adresse beginnt und mit der von dem Benutzerprogramia-Zähler bestimmten Adresse endet·, wenn ein ETTD-Programmschritt auftritt oder \^enii die STOP-Taste. gedruckt wird. Der Benutzer kann die Anfangsadresse nnnii der Liste auswählen durch Drücken der GO TO-Taste, der die Dezimaldigittasten (0-9)folgen, welche die-gewünschte Anfangsadresse nnnn markieren, oder einfach durch Drücken der EKD-Taste. sofern die Anfangsadresse die Adresse 0000 ist. Ähnlich kann der Benutzer die Liste jederzeit 'durch Drücken, der STOP-Taate beenden. Wenn die
209852/1005
Programmlisten-Tätigkeit entweder durch einen END-Programmschritt oder durch Drücken der STOP-Taste beendet wird, kehrt die Rechenmaschine zu ihrer ursprünglichen manuellen, der ersten oder der zweiten tastenbestimmten Druck-, oder der Programmeingabe-Betriebsart zurück. Wenn die Programmlisten-Tätigkeit durch einen END-Programmschritt beendet wird, bestimmt der Benutzerprogramm-Zähler die Adresse des END-Programmschritt es. Wenn die Programmlisten-Tätigkeit aber durch Drücken der STOP-Taste beendet wurde, bestimmt der Benutzerprogramm-Zähler die Adresse des nächsten Programmschrittes, der anzutreffen gewesen wäre, wenn die STOP-Taste nicht gedruckt worden wäre.
Die von dem Ausgabedrucker ausgedruckte Liste dient als eine ständige Aufzeichnung einer Folge von Programmschritten, die als Programm, Unterprogramm oder Teil von solchen in dem Programm-Speicherbereich des RWM-Speichers gespeichert sind und der Adresse dieser Programmschritte. Eine typische Liste wird durch die rechte und die linke Zahlenkolonne dargestellt, die auf dem Streifen 22 aus wärmeempfindliehern Aufzeichnungspapier ausgedruckt wird'. Wenn der ROM-Alpha-Modul in die Maschine eingefügt ist, druckt der Drucker auch eine Gedächtnis-Darstellung aller dieser Programmschritte aus. Diese wird durch die mittlere Kolonne von alphanumerischen Schriftzeichen dargestellt, die auf dem gleichen Streifen aus wärmeempfindlichem Papier ausgedruckt wird.
209852/1005
Die "speichere ein"-(LOAD)Programmtaste wird gedrückt, wenn sich die Rechenmaschine in der manuellen Betriebsart oder in der ersten tastenbestimmten Druck-Betriebsart befindet, um die Rechenmaschine in die Magnetkarten-Lese-Betriebsart zu bringen. In dieser Betriebsart werden auf einer oder mehreren externen Magnetkarten 16 aufgezeichnete Programmschritte durch die Magnetkarten-Lese- und Aufzeichnungseinrichtung gelesen und in den Programm-Speicherbereich des Sofortzugriff-Lese-Schreib-Speichers (RWM) eingespeichert. Die zuverlässige Durchführung dieser Programmeinspeicherung gestaltet sich wie folgt:
1.) Der Benutzerprogramm-Zähler wird auf die gewünschte Anfangsadresse nnnn des zu ladenden Programm-Speicherbereiches gesetzt. Dies kann erfolgen durch Drücken der GO TO-Taste, der diejenigen Dezimaldigittasten folgen, welche die gewünschte Anfangsadresse nnnn markieren, oder einfach durch Drücken der END-Taste, wenn die gewünschte Anfangsadresse die Adresse 0000 ist.
2.) Eine in die Eingabe-Aufnahme 186 der Magnetkarten-Wiedergabe und Auf7,eichnungseinrichtung eingeführte mit Aufzeichnungen versehene Magnetkarte 16 wird mit ihrer ersten, zu lesenden Seite 187 in. die Lese- und Aufzeichnungs-Arbeitsstellung gebracht, wie in Pig. 1 gezeigt.
3.) Die LOAD-Toste wird gedrückt;, wodurch die Magnetkarben-Lese-und Aufzeichnunpseinrichtunp; mit dem Lesen dor ersten
209852/1005
aufgezeichneten Seite der Magnetkarte "beginnt und eine "setze Karte ein"-(INSERT CARD)Anzeigelampe 19 einschaltet, die unmittelbar unterhalb und zwischen den LOAD- und RECORD-Programmtaste; angeordnet ist. Diese Programmlese-Operation wird beendet und die INSERT CARD-Anzeigelampe ausgeschaltet, wenn ein END-(oder beendender) Programmschritt gelesen wird. Daraufhin kehrt die Rechenmaschine in ihre ursprüngliche manuelle oder erste tastenbestimmte Druck-Betriebsart zurück, wobei der Benutzerprogramm-Zähler die Adresse des END-Programmschrittes definiert. In einigen Fällen wird die Magnet-Karte nach Abschluß eines Lese-Durchganges an einer Ausgabe-Aufnahme 188 der Magnetkarten-Lese- und Aufzeichnungseinrichtung zum Teil ausgeworfen.
4.) Wenn die INSERT CARD-Anzeigelampe eingeschaltet bleibt und die Magnetkarten-Einrichtung weiter arbeitetvlrd die zum Teil ausgeworfene Magnetkarte von der Ausgabe-Aufnahme 188 zurückgeholt, gewendet und die gleiche Magnetkarte (oder eine andere Magnetkarte, falls zweckdienlich) in die Eingabe-Aufnahme 186 eingeführt, wobei die nächste zu lesende Seite 189 in die Lese- und Aufzeichnungsposition gebracht wird. Daraufhin beginnt die Magnetkarten-Einrichtung mit dem Lesen dieser nächsten Seite. Falls erforderlich wird diese Leseoperation wiederholt, bis sie durch das Lesen eines ΕΓίΏ-Programmschrittes beendet wird. Falls gewünscht, kann die Leseoperation auch durch Drücken der STOP-Taste beendet werden. Daraufhin kehrt die Rechenmaschine auch in ihre ursprüngliche manuelle oder erste tastenbestimmte Druck-Betriebsart zurück, wobei
209852/ 1 005
aber der Benutzerprogramm-Zähler die Adresse des nächsten Programmschrittes feststellt, der zu lesen und in den Programm-Speicherbereich des EWM-Speichers einzuspeichern gewesen wäre, wenn die Programm-Leseoperation nicht solcherart "beendet worden wäre.
Wenn das Lesen des Programms durch einen END-Programmschritt beendet wird, wird der die Adresse dieses END-Programmschrittes feststellende Benutzerprogramm-Zähler zurückgelassen, so daß zusätzliche Programmschritte, Unterprogramme und Programm ohne besondere Mühe in die Rechenmaschine ketten-gespeichert werden können' durch einfaches Wiederholen der obigen Schritte 2, 3 und 4. Der erste zusätzliche Programmschritt wird den zuletzt angetroffenen EHD-Programmschritt überschreiben und dadurch bei Vervollständigung des zusammengesetzten Programms nur einen abschließenden END-Programmschritt zurücklassen, Venn die Leseoperation durch Drücken der STOP-Taste beendet wird, wird der Benutzerprogramm-Zähler auch in ähnlicher Weise die Adresse des nächsten Programmschrittes der zu lesen war, anzeigend zurückgelassen, so daß zusätzliche Programmschritte, Unterprogramme und Programme ebenso durch einfaches Wiederholen der Schritte 2, 3 und 4- ketten-gespeichert werden können.
Die Aufzeichnungs-CRECORD) Programmtaste wird gedruckt, wenn sich die Rechenmaschine in der manuellen Betriebsart oder der ersten tastenbestimmten Druck-Betriebsart befindet, um die Maschine in die Magnetkarten-Aufzeichnungs-Betriebsart zu
209852/1005
bringen. In dieser Betriebsart werden in dem Programm-Speicherbereich des RWM-Speichers gespeicherte Programmschritte mittels der Magnetkarten-Einheit auf eine oder mehrere externe Magnetkarten aufgezeichnet. Dies gestaltet sich im einzelnen wie folgt:
1.) Der Benutzerprogramm-Zähler wird auf die Anfangsadresse nnnn des gespeicherten, aufzuzeichnenden Programms gesetzt. Dies kann durch Drücken der GO TO-Taste erfolgen, welcher die Dezimaldigit-Tasten folgen, welche die gewünschte Adresse nnnn definieren oder durch einfaches Drücken der END-Taste, wenn die Anfangsadresse die Adresse 0000 ist.
2.) In die Eingabe-Aufnahme 186 der Magnetkarten-Einheit wird eine Magnetkarte 16 eingeführt, wobei ihre erste mit einer Aufzeichnung zu versehende Seite 187 in die Lese- und Aufzeichnungsstellung gebracht wird wie gezeigt.
3.) Die RECORD-Programmtaste wird gedruckt, wodurch die Magnetkarten-Lese- und Aufzeichnungseinheit mit dem Aufzeichnen des gespeicherten Programms auf die erste Seite der Magnetkarte beginnt und die INSERT CARD-Anzeigelampe 19 einschaltet. Diese Programmaufzeichnung wird beendet und die INSERT CARD-Anzeigelampe ausgeschaltet, wenn ein END-Programmschritt aufgezeichnet wird. Daraufhin wird die Rechenmaschine in ihre ursprüngliche manuelle Arbeits- oder erste tastenbestimmte Druck-Betriebsart zurückkehren, wobei der Benutzerprogramm-
209852/1005
Zähler die Adresse des ENB-B?ogramraschrittes definiert. In einigen Fällen wird die Magnetkarte an der Ausgabe-Aufnähme 188 der Magnetkarten-Einheit zum Teil ausgeworfen, wenn der Aufzeichnungsdurchlauf "beendet wurde.
4-..) Wenn die INSERT CARD-Anzeigelampe eingeschaltet bleibt und die Magnetkarten-Einrichtung weiter arbeitet, wird die zum Teil ausgeworfene Karte von der Ausgabe-Aufnahme 188 zurückgeholt, gewendet und die gleiche Magnetkarte (oder falls zweckdienlich eine andere Magnetkarte) in die Eingabe-Aufnahme 186 eingeführt, wobei die nächste, mit einer Aufzeichnung zu versehende Seite 189 in die Lese-und Aufzeichnungsposition gebracht wird. Daraufhin beginnt die Magnetkarten-Einheit mit der Aufzeichnung auf dieser nächsten Seite. Falls notwendig wird diese Programmaufzeichnungs-Tätigkeit wiederholt, bis sie durch das Aufzeichnen eines END-Programmschrittes beendet wird« Venn kein END-Programmschritt angetroffen wird, wird die Maschine ohne Rücksicht auf die tatsächliche Größe des in ihr installierten Programm—AufbewahrungsSpeichers fortfahren, weitere Magnetkarten-Aufzeichnungsdurchläufe anzufordern,bis 2036 Programmschritte aufgezeichnet sind. Auf Wunsch kann die Aufzeichnungs-Tätigkeit jederzeit durch Drücken der STOP-Taste beendet werden. Die Maschine wird daraufhin ebenso in ihre ursprüngliche manuelle Arbeits- oder erste tastenbestimmte Druck-Betriobsart zurückkehren, wobei der Beiiutzerprogramm-Zähler jedoch mit der Adresse des nächsten Programmschrittes, der aufzuzeichnen gewesen wäre, wenn die Aufzeichnung nicht
209852/1005
solcherart beendet worden wäre, zurückgelassen wird·
Sobald das I'x igramm auf eine oder beide Seiten von einer oder mehreren Magnetkarten 16 aufgezeichnet ist, kann es gegen unerwünschte Auslöschungen geschützt werden, indem ein perforierter Bereich 190 an der IFührungskante jeder Seite, auf die es aufgezeichnet wurde, ausgebrochen wird. Venn eine geschützte (gekerbte) Magnetkarte in die Eingabe-Aufnahme der Magnetkarten-Einheit eingeführt und die RECORD-Taste gedruckt wird, wird die Zustands-(Fehler-)Anzeigelampe 19 eingeschaltet und sie wird eingeschaltet bleiben, während die Magnetkarten-Lese- und Aufζeichnungseinheit die Magnetkarte zu der Ausgabe-Aufnahme 188 befördert, woraufhin die Zustands-(STATUS) Lampe verlöschen wird. Während dieses Durchlaufes wird weder irgendetwas auf die geschützte Magnetkarte aufgezeichnet noch erfolgt irgendeine Beeinträchtigung der Rechenmaschine selbst, oder der zuvor auf der geschützten Magnetkarte aufgezeichneten Information. Die Rechenmaschine und die Magnetkarten-Einheit warten lediglich weiterhin auf die Eingabe einer nicht geschützten Magnetkarte in die Eingabe-Aufnahme 186 der Magnetkarten-Lese- und Aufzeichnungseinheit.
Die Stellertasten der automatischen Betriebsarten (CONTINUE, STOP, END, PAUSE)
Die !''ortfahr-(CONTINUE) Taste wird gedrückt, wenn sich die Rechenmaschine in der manuellen Arbeite- oder der ersten
209852/ 1005
tastenbestimmten Druck-Betriebsart befindet, um die automatische Durchführung eines innerhalb des Programm-Speicherbereiches des RWM-Speichers gespeicherten Programms oder Unterprogramms einzuleiten. Die automatische Durchführung beginnt bei der Adresse, die durch den Benutzerprogramm-Zähler bestimmt ist. Die Durchführung eines innerhalb des Programm-Speicherbereiches des EWM-Speichers gespeicherten Programms oder Unterprogramms gestaltet sich im einzelnen wie folgt:
1.) Der Bejiutzerprogramm-Zähler wird auf die Anfangsadresse nnnn des gewünschten Programms oder Unterprogramms gesetzt. Dies erfolgt durch Drücken der GO TO-ü?aste, der diejenigen Dezimaldigit-Tasten folgen, welche die Anfangsadresse nnnn des gewünschten Programms festlegen. Wenn die Anfangsadresse 00OQ ist, kann dies durch einfaches Drücken der END-Taste erfolgen.
2.) Die GOUTINUE-Taste wird gedrückt, wenn sich die Rechenmaschine in der manuellen Arbeits- oder der ersten tastenbestimmten Druck-Betriebsart befindet,um die Maschine in die automatische Betriebsart zu bringen und die automatische Durchführung des unter der durch den Benutzerprogramm-Zähler festgelegten Adresse nnnn gespeicherten Programms oder Unterprogramms einzuleiten. Der automatische Ablauf dauert an, bis ein STOP- oder END-Programmschritt angetroffen vrird oder eine ßTÖP-Taste gedrückt wird, wie noch unterhalb beschrieben.
209852/1005
Die STOP-Taste wird gedrückt, wenn sich die Rechenmaschine in der automatischen Betriebsart befindet, um den automatischen Ablauf eines gespeicherten Programms oder Unterprogramms unmittelbar nach Vervollständigung des in Ausführung befindlichen Programmschrittes anzuhalten. Der automatische Ablauf eines gespeicherten Programms oder Unterprogramms wird in ähnlicher Weise angehalten, wenn ein STOP-Programmschritt angetroffen wird. In beiden Fällen wird die Rechenmaschine daraufhin in ihre ursprüngliche manuelle oder erste tastenbestimmte Druck-Betriebsart zurückkehren, wobei der Programmzähler die Adresse des nächsten anzutreffenden Programmschrittes definiert. Der Benutzer kann die Maschine'dann in der manuellen Betriebsart betätigen, um von dem in Ausführung befindlichen Programm angeforderte Daten einzugeben oder andere Berechnungen durchzuführen. Solange der Benutzer nicht die GO TO- oder die END-Taste drückt oder etwas anderes tut, was die letzte Einstellung des Benutzerprogramm-Zählers verändert, kann er Jederzeit einfach durch erneutes Drücken der CONTINUE-Taste wieder in der automatischen Betriebsart der Maschine fortfahren.
Wie oben beschrieben, kann die STOP-Taste auch gedrückt werden, wenn sich die Rechenmaschine in der Programmlisten-Druck-Betriebsart, der Magnetkarten-Lese-Betriebsart oder der Magnetkarten-Aufzeichnungs-Betriebsart befindet, um das Drucken der Programmliste, das Lesen der Magnetkarte oder die Aufzeichnung auf der Magnetkarte anzuhalten. In allen diesen "Fällen wird die Maschine in die Betriebsart zurückkehren, die
209852/1005
unmittelbar vor dem Anhalten vorlag, wobei der Benutzerprogramm-Zähler die Adresse des nächsten Programmschrittes der zu drucken, zu lesen oder aufzuzeichnen war, wenn die STOP-Taste nicht gedrückt worden wäre, definiert.
Die END-Taste wird gedruckt, wenn sich die Rechenmaschine in der manuellen oder der ersten tastenbestimmten Druck-Betriebsart befindet, um den Benutzerprogramm-Zähler auf die Adresse-0000 in dem Programm-Speicherbereich des RWM-Speichers zu setzen (dies ist gleichbedeutend mit dem Drücken der Tasten GO TO, 0, 0, 0 und 0). Ein END-Programmschritt beendet den automatischen Ablauf eines gespeicherten Programms durch die Rechenmaschine und setzt den Benutzerprogramm-Zähler auf die erste verfügbare Adresse 0000 in dem Programm-Speicherbereich des EWU-Speichers zurück. Daraufhin kehrt die Rechenmaschine in die ursprüngliche manuelle oder die erste tastenbestimmte Druck-Betriebsart zurück, von welcher aus die automatische Arbeitsweise eingeleitet wurde. Der automatische Ablauf kann dann durch Drücken der CONTINUE-Taste fortgesetzt werden, wenn die gewünschte Anfangsadresse die Adresse 0000 ist, oder durch Wiederholung der oben beschriebenen Schritte 1 und 2 in Verbindung mit der CONTINUE-Taste, wenn die gewünschte Anfangsadresse nicht die Adresse 0000 ist. Ein END-Programmschritt klärt auch irgendeine Unterprogramm-Rückkehradresse,zu welcher bis dahin nicht zurückgekehrt wurde. Wie oben beschrieben, beendet er auch das Drucken einer Programmliste, das-Lesen einer Magnetkarte oder das Aufzeichnen auf einer Magnetkarte.
209852/1005
Die PAUSE-Taste wird typischerweise nur als ein Programmschritt benutzt. Die automatische Ausführung eines gespeicherten Programms oder Unterprogramms wird jedesmal, wenn ein PAUSE-Programmschritt auftritt oder die PAUSE-Taste gedruckt wird, automatisch für einen 1/4 - Sekunden Pausenintervall angehalten. Dies ermöglicht die Darstellung von Teilergebnissen einer Rechnung durch die Anzeigeeinheit während des automatischen Ablaufs des gespeicherten Programms oder Unterprogramms. Die Zeitdauer der Pause läßt sich durch aufeinanderfolgende PAUSE-Programmschritte in Intervallen von 1/4 Sekunden steigern. Der automatische Ablauf des gespeicherten Programms oder Unterprogramms wird nach dem Pause Intervall automatisch fortgesetzt.
Ein PAUSE-Programmschritt kann auch als Konditional-Stop benutzt werden, was dem Benutzer ermöglicht, den automatischen Betrieb der Rechenmaschine unmittelbar nach Ausführung eines PAUSE-Programmschrittes zu stoppen. Dies erfolgt durch einfaches Drücken irgendeiner Taste (einer anderen als STOP) während des automatischen Programmablaufs,bis der PAUSE-Programmschritt ausgeführt wurde. Mit anderen V/orten hat ein PAUSE-Programmschritt, dem unmittelbar das Drücken einer anderen als der STOP-Taste folgt, den gleichen Effekt wie das Drücken der STOP-Taste, wobei der Vorteil auftritt, daß der automatische Ablauf eines gespeicherten Programms oder Unterprogramms hierdurch präzise bei einem oder mehreren vorbestimmten Prograranschritten angehalten werden kann, wenn
209852/ 1005
der Benutzer es so möchte. Der automatische Ablauf des gespeicherten Programms kann dann durch Drücken der CQNTINUE-Taste wieder begonnen werden.
Die Dezimaldarstellungs-Tasten (FLOAT, FIX,Q )
Diese Tasten werden zur Steuerung der Form der von der Anzeigeeinrichtung dargestellten Zahlen benutzt, wenn die Hechelmaschine in der manuellen und der ersten tastenbestimmten Druck-Betriebsart arbeitet. Es kann entweder eine feste oder eine gleitende Form des dezimalen Kommas benutzt werden. Wenn mit festem Komma gearbeitet wird, ist eine Festkomma-Anzeigelampe 19 eingeschaltet, die sich unmittelbar unterhalb der FIX () -Taste befindet, Ähnlich ist eine Gleitkomma-Anzeigelampe, die unmittelbar unterhalb der FIiOAT-Taste angeordnet ist, eingeschaltet, wenn mit dezimalem Gleitkomma gearbeitet wird.
Bei der Festkomma-Darstellung erscheinen die Zahlen in der Form, in welche sie üblicherweise geschrieben werden* Das dezimale Komma bleibt fest an seiner richtigen Stelle. Bei der Gleitkomma-Darstellung erscheinen die Zahlen in- einer normalisierten Form, wobei das dezimale Komma unmittelbar hinter dem wichtigsten nicht-null Digit der normalisierten Zahl steht. Hinter jeder normalisierten Zahl steht eine Hochzahl von zehn mit positivem oder negativem Vorzeichen, welche die Anzahl der Digitstellen angibt und die Richtung, in welcher das Komma zu verschieben ist, um die normalisierte Zahl in die
209852/1005
_9β·.
entsprechende Festkomma-Darstellung zu bringen. Die folgenden Beispiele zeigen den Zusammenhang zwischen Zahlen, die sowohl in Festkomma- als auch in Gleitkomma-Darstellung angeschrieben sind.
Festkomma-Darstellung Gleitkomma-Darst ellung
χ io5 0.0012345 ·» 1.2345 χ io~5
-I.2345 = -1.2345x10°
Wenn die Maschine eingeschaltet und automatisch in Gang gesetzt wird, zeigt die Anzeigeeinrichtung die Zahlen in Gleitkomma-Dezimaldarstellung. Wenn die Anzeigeeinrichtung auf Festkomma-Darstellung geschaltet wird, kann sie anschliessend wieder auf Gleitkomma-Darstellung zurückgeschaltet werden, indem einfach die FLOAT-Taste gedrückt wird. Jede in Gleitkomma-Darstellung angezeigte Dezimalzahl umfaßt das Vorzeichen (sofern negativ) und "die zehn bedeutendsten Digits der normalisierten Zahl, welcher sich das Vorzeichen (sofern negativ) der Hochzahl und zwei Hochzahl-Digits anschließen· Dies ist durch die folgenden Beispiele veranschaulicht;
Darzustellende
Zahlen
Gleitkomma-
Anzeige
03
• 1234.5 I.2345OOOOO -03
O.OOI2345 I.2345OOOOO OO
-1.2345 -I.2345OOOOO
209852/1005
Die Anzeigeeinrichtung kann auf Festkomma-Darstellung umgeschaltet werden durch Drücken der PIX-O -Taste, der eine Dezimaldigit-Taste folgt, welche die gewünschte Zahl η von Digitstellen (0-9) die auf der rechten Seite des Kommas dargestellt werden soll, bestimmt. Weniger bedeutende Digits werden nicht dargestellt und das unbedeutendste noch darzustellende Digit wird aufgerundet, wenn das nächstdarzustellende weniger bedeutende Digit fünf oder größer ist. Dies wird für verschiedene Werte von η anhand der folgenden Beispiele dargestellt:
Darzustellende Wert Festkomma-
Zahl von η Darstellung
123.456784 2 123.46
-6.7032% 2 -6.7O
123.456784 5 123.45678
-6.703256 5 -6.70326
123.456784 O 123.
-6.703256 O -7.
Wenn die FIX () -Taste gedrückt wird, aber keine Dezimaldigit-Taste folgt, behandelt die Maschine automatisch die nächste gedrückte Taste- als sei es die O-Taste (daraufhin wird η gleich O wie in dem letzten Beispiel).
Zahlen von bis zu (und einschließlich) zehn bedeutenden Digits und ihre Vorzeichen (sofern negativ) können in der Festkomnia-
209 8 52/1005
Darstellung angezeigt werden. Somit können (10-n) Digits auf der linken Seite des Dezimalkommas angezeigt werden. Wenn eine a,..£v zeigende Zahl mehr als (10-n) Digits auf der linken Seite des Dezimalkommas hat (d.h. sie ist zu groß für den gewählten Wert von n), fließt die Anzeige dieser Zahl (nicht die gesamte Anzeige) über und kehrt in die Gleitkomma-Darstellung zurück. Dies ist anhand der Festkomma-Darstellung der Fig. 1 veranschaulicht, "bei welcher die in den Registern χ und y enthaltenen Zahlen übergeflossen sind und deswegen in Gleitkomma-Darstellung angezeigt sind. Dies sei auch anhand des folgenden Beispieles veranschaulicht:
Darzustellende Wert Tatsächliche Zahl von η Zahlendarstellung
1234-567.89 5 1.234-56789 06
Wenn das 'erste nicht-null Digit einer darzustellenden Zahl weiter als η Stellen rechts von dem Komma steht (d.h. es ist zu klein für den gewählten Wert von n), so unterströmt die Anzeige dieser Zahl (nicht die gesamte Anzeige). In diesem Fall werden nur Nullen angezeigt. Dies ist durch das folgende Beispiel dargestellt:
Darzustellende Wert Tatsächliche Zahl von η Zahlendarstellung
0.0000012 3 0.000
209852/1005
Unabhängig von der Art der Zahlenanzeige speichert die Rechenmaschine stets sämtliche Zahlen in Gleitkomma-Darstellung und führt so auch sämtliche Rechnungen aus. Ferner wird jede Zahl unbeachtlich der eingegebenen oder angezeigten Anzahl von Digits mit zwölf bedeutenden Digits ihrem zugehörigen Vorzeichen, einem Zwei-Digit Exponent und dessen zugehörigem Vorzeichen gespeichert. Bis zu (und einschließlich) zehn bedeutende Digits, ihr zugehöriges Vorzeichen, der Zwei-Digit Exponent und dessen zugehöriges Vorzeichen können angezeigt werden (bei positiven Zahlen oder Exponenten wird jedoch kein Vorzeichen angezeigt). Die verbleibenden zwei Digits" (Abstreifdigits genannt) werden nicht angezeigt. Sie werden benutzt, um eine mehr als zehnstellige Genauigkeit während der Rechnungen aufrecht zu erhalten und auch zur automatischen Rundung des zehnten angezeigten Digits.
Die Rechenmaschine hat einen Dynamikbereich von ί 10~" bis - 9-999999999(99) x 1Q^8. Wenn dieser Bereich während einer Rechnung überschritten wird, schaltet sich die STATüS-Anzeigelampe 19 ein.
Die Eingabetasten für numerische Daten (0-9) ■> «v ENQ)ER EXP, CHG ^
Die Dezimaldigit-Tasten 0-9 werden betätigt, um Zahlen in das x-Register einzugeben. Die Zahlen werden in Serienform eingegeben, das zuletzt eingegebene Digit wird das unbedeutendste Digit. So wird beispielsweise die Zahl 1325 durch aufeinander
2 0 9 8 5 2/1005
folgendes Drücken der Dezimaldigit-Tasten 1, 3, 2 und 5 eingegeben. Eine in das x-Register eingegebene Zahl wird beendet, sobald irgendeine Nicht-Dateneingabe~Taste gedrückt wird. Eine andere in das x-Register eingegebene Zahl ersetzt eine beendete Zahl, wird aber Bestandteil einer nicht-beendeten Zahl.
Die Dezimalkomma- (.) Taste wird zur Eingabe des Dezimalkommas in das x-Register gedrückt. So wird beispielsweise die Zahl 1.234- durch aufeinanderfolgendes Drücken der Tasten 1, ., 2, 3 und 4 eingegeben. Unbeachtlich der Anzeigeform ist es nicht erforderlich, die Dezimalkomma-Taste zu benutzen, wenn ganze Zahlen eingegeben werden. Wenn die Dezimalkomma-Taste nicht benutzt wird, wird angenommen, daß das Dezimalkomma dem zuletzt eingegebenen Digit folgt. Wenn die Festkomma-Darstellungsart benutzt wird, positioniert die Maschine das Dezimalkomma automatisch. Wenn die Gleitkomma-Darstellungsart benutzt wird, korrigiert die Maschine automatisch den Exponent entsprechend der Stellung des Dezimalkommas.
Zur Eingabe eines Ein- oder Zwei-Digit Exponenten (als Hochzahl von zehn) in das x-Register, wobei das zuletzt eingegebene· Digit das am wenigsten bedeutende Digit wird, wird die "Eingebe Exponent"-(ENTER EXP)Taste gedruckt, der sich ein oder zwei Dezimaldigit-Tasten anschließen. Wenn ein drittes Digit eingegeben wird, wird es die Eingabe des Exponenten beenden und eine neue numerische Dateneingabe anfangen. Eine nicht abgeschlossene Zahl in dem x-Register kann direkt multipliziert
209852/100$
werden durch aufeinanderfolgende Hochzahlen von zehn durch einfaches Eingeben von aufeinanderfolgenden Exponenten. So
P 14-kann z.B. das Produkt von 8,3 χ 10 χ 10 erhalten werden durch aufeinanderfolgendes Drücken der Tasten 8, ., 3, ENTER EXP, 2 ENTER EXP, 1,und 4. Wenn die ENTER EXP-Taste als erste Taste einer numerischen Dateneingabe gedrückt wird (z.B. bevor eine der Dezimaldigit-Tasten gedrückt wurde oder im Anschluß an eine abgeschlossene Zahl), wird die Zahl 1 in das x-Register eingegeben. So kann beispielsweise die Zahl
16
1 x 10 eingegeben werden durch Drücken der Tasten ENTER EXP,
1 und 6.
Die "andere Vorzeichen"-(CHG SIGN) Taste wird gedrückt, um das Vorzeichen einer abgeschlossenen oder nicht abgeschlossenen Zahl in dem x-Register zu ändern. Wenn die CHG SIGN-Taste als erste Taste einer numerischen Dateneingabe gedrückt wird, ändert sich das Vorzeichen der dann in dem x-Register befindlichen Zahl (egal welches Zeichen sie hat) und sobald diese Zahl durch das erste Digit einer neuen Dateneingabe ersetzt wird, leitet es die neue Dateneingabe mit einem negativen Vorzeichen ein. Dies sei durch das folgende Beispiel veranschaulicht:
Gedrückte Tasten Inhalte des x-Registers
-123.45 CHG SIGN 123.45
6 -6..
7 -67.
209 852/1005
Sb
Die CHG SIGN-Taste wird auch unmittelbar nach der ENTER EXP-Taste (oder dem zuletzt eingegebenen Digit des Exponenten) gedrückt, um einen negativen Exponenten in das x-Register einzugeben. So kann z.B. die Zahl 8.5 χ 10~2 χ 10^ χ 10~12 eingegeben werden durch aufeinanderfolgendes Drücken der Tasten 8, ., 3, ENTER EXP, CHG SIGN, 2, ENTER EXP, 4-, ENTER EXP, CHG SIGN, 1, und 2 und die Zahl 1 χ 10~16 kann eingegeben werden durch Drücken der Tasten ENTER EXP, 1, 6 und CHG SIGN.
Die It-Taste wird gedrückt, um den Wert *\\ (d.h. 3-14-159265360) in das x-Register einzugeben.
Die Klär-Tasten ( CLEAR x, CIiEAH)
Die CLEAR x-Taste klärt (d.h. setzt auf null) das x-Register. Sie beeinträchtigt keine anderen Register.
Die CLEAR-Taste klärt das x-, y- und z-(Arbeits-)Register, klärt das a- und das b-(Datenaufbewahrungs-) Register und klärt (oder rücksetzt) die Fahne, die durch die "setze Fahne"-(SET FLAG) Taste gesetzt werden kann, wie noch erläutert wird. Andere Register werden nicht beeinträchtigt.
Wenn die Rechenmaschine eingeschaltet wird, werden automatisch alle Arbeitsregister, Programm- und Datenspeicher-Register des RWM-Speichers geklärt. Anschließend in ihnen gespeicherte abgeschlossene Zahlen werden durch eine neue Dateneingabe automatisch geklärt und ersetzt.
209852/1005
Die Arbeitsregister-Steuertasten (4,4- ,H01iL^,x^ y)
Die Arbeitsregister-Steuertasten werden benutzt,um die Inhalte des x-, des y- und des z-Registers abzulegen. Sie beeinflussen keine anderen.Hegister.
Wenn die 4φaste gedrückt wird, werden die Inhalte des y-Registers in das z-Register verschoben und die Inhalte des x-Registers erscheinen sowohl in dem x-Register als auch in dem y-Register· Die Inhalte des z-Registers sind verloren*
Wenn die -iTaste gedruckt wird, werden die Inhalte des y-Regi~ sters in das x-Register verschoben und die Inhalte des z-Registers erscheinen sowohl in dem y-Register als auch in dem ZI-Register. Die Inhalte des x-Registers sind verloren*
Venn die ROLL 4-(Paste gedrückt wird, werden die Inhalte des x-Registers in das y-Register, die Inhalte des y-Registers in das z-Register und die Inhalte des z-Registers in das x-Register verschoben. Es wird keine Information verloren.
Die x^y-Taste wird gedrückt,, um die Inhalte, des x- und des y-Registers auszutauschen» Die Inhalte des z-Registers werden von dieser Maßnahme nicht berührt.
Die Rechen-Tasten (-f, -, x, * )
Diese vier Tasten v/erden benutzt, um Arbeitsregister-Rechenoperationen durchzuführen, bei welchen die Inhalte des X-* und
209852/1006
des y-Registers als Operanden benutzt werden. Die Ergebnisse dieser Rechenoperationen werden in dem y-Register gespeichert und die Inhalte des x-Registers werden von den durchgeführten Rechenoperationen nicht verändert. Diese vier Tasten "beeinträchtigen keine anderen Register.
Die + Taste wird gedrückt, um die in dem x-Register befindliche Zahl zu der in dem y-Register befindlichen Zahl zu addieren, wobei die Summe in dem y-Register erscheint.
Die - Taste wird gedrückt, um die in dem x-Register befindliche Zahl von der in dem y-Register befindlichen Zahl abzuziehen, wobei die Differenz in dem y-Register erscheint.
Die x-Taste wird gedrückt, um die in dem y-Register befindliche Zahl mit der in dem x-Register befindlichen Zahl zu multiplizieren, wobei das'Produkt in dem y-Register erscheint. Die + Taste wird gedrückt, um die in dem y-Register befindliche Zahl durch die in dem x-Register befindliche Zahl zu dividieren, wobei der Quotient in dem y-Register erscheint.
Die Anwendung dieser Tasten und der Arbeitsregister-Steuertasten wird durch das folgende Verfahren zur Errechnung von ~8 ^2) 8-6Z~^ = 1·1 veranschaulicht:
2098 5 2/1005
Gedrückte Tasten Inhalte des Inhalte des Inhalte des
x-Registers y-Registers z-Registers
CLEAR 0 0 0
3 3 0 0
3 3 0
4- Mr 3 0
X M- 12 0
ROLLt 0 4- 12
8 8 4- 12
x^y 8 12
9 9 8 12
- 9 -1 12
-1 12 12
+ -1 11 12
ROLLf 12 —1 ■ 11
8 8 -1 11
-1 8 11
2 2 8 11
X 2 16 ' · 11
6 6 16 11
- 6 10 11
10 11 11
JL 10 1.1 11
Die Antwort, welche in dem y-Regi.oter erscheint, ist unt erstri chen.
209852/ 1005
Einzelne ffunktions-Tasten (V"x, χ , 1/x, int x, CHG SIGN)
Diese fünf ^asten werden benutzt, Tom einzelne Punktionen durchzuführen, bei welchen die Inhalte des x-Registers als Argument "benutzt werden. Die Ergebnisse der durchgeführten Punktionen werden in das x-Register placiert. Diese fünf Tasten beeinflussen keine anderen Register".
Die ,yx Taste wird gedruckt, um die Quadratwurzel einer Zahl zu errechnen, die im x-Register steht. V/enn die Zahl negativ ist, wird die Wurzel ihres Absolutwertes errechnet und die STATUS-Lampe 19 eingeschaltet. Die STATUS-Anzeigelampe bleibt eingeschaltet, bis die nächste Taste gedruckt wird.
ρ
Die χ -Taste wird gedruckt, um das Quadrat einer in dem
x-Register befindlichen Zahl zu errechnen. V/enn die Zahl größer ist als ViO χ 10^, wird die Zahl 9-99999999999 x in dem x-Register placiert und die STATUS-Anzeigelampe 19 eingeschaltet. Die Anzeigelampe bleibt eingeschaltet, bis die nächste Taste gedrückt wird.
Die 1/x Taste wird gedruckt, um den Kehrwert der in dem x-Register befindlichen Zahl zu bestimmen. So kann beispielsweise der Wert 1/9*8 bestimmt werden durch aufeinanderfolgendes Drücken der Tasten 9) ·) 8 und der 1/x Taste.
Die int χ Taute wird gedrückt, um den gebrochenen Bestand toil der in dem x-Registor befindlichen Zahl abzuschneiden. Sie
209852/ 1 005
beeinflußt nicht das Vorzeichen des ganzzahligen Bestandteiles dieser Zahl. Wenn beispielsweise die Zahl -5*9 in dem x-Register enthalten ist, wenn die int χ Taste gedrückt wird, so verbleibt die Zahl -5-0.
Die CHG SIGN-Taste wurde schon oben im Zusammenhang mit den Eingabetasten für numerische Daten beschrieben.
Die Datenspeicher-Taste und die Registerübertragungs-Taste (a, b, x->(), y->(), x*-O, y^Q, INDIRECT)
Diese Tasten werden in verschiedener Weise benutzt, um direkte Datenspeicherung und Rückruf, direktes Speicherregister-Rechnen, indirekte Datenspeicherung und Rückruf und indirektes Speicherregister-Rechnen durchzuführen. Wie unterhalb gezeigt , werden die a-und die b-Tasten und anschließend einige der übrigen fünf Tasten dieser Gruppe gedrückt, um das a- bzw. b-Register zu spezifizieren. Die a- und die b-Tasten können auch-benutzt werden, um die Inhalte des a- bzw. des b-Registers direkt in das x~Register zurückzurufen, ohne die Inhalte des a- und des b~Registers selbst zu ändern. Eine beliebige dieser Funktionen der a- und b-Tasten kann auf einen einzelnen Tastenhub derselben durchgeführt werden. So können beispielsweise die Inhalte des b-Registers direkt in das x-Register zurückgerufen v/erden durch einfaches Drücken der b-Taste alleine. Wie .schon oben bemerkt, wird der Inhalt des b-Regicters selbst durch diese Rückrufoperation, nicht verändert.
209852/1005
Die Tasten χ-■>(), y—»(), x«~() und y^O werden benutzt zur Steuerung der Übertragung von numerisctien Daten aus dem x- und dem y-Register in die Register a und b sowie in 49 zusätzliche Speicherregister, die dem Benutzer (unter den Benutzeradressen 000-048) in dem Daten-Speicherbereich des RWM-Speichers verfügbar sind und von diesen Speicherregistern in das x- und das y-Register. Wenn die 60 wählbaren Speicherregister, die in dem Daten-Speicherbereich des RWM-Speichers (unter den Benutzeradressen 049-108) enthalten sind dem Benutzer verfügbar gemacht sind, können die gleichen vier Tasten auch benutzt werden, um die Übertragung von numerischen Daten aus dem x- und dem y-Register in diese wählbaren (optional) Speicherregister und von diesen in das x- und das y-Register zu steuern.
Die speziellen Speicherregister in oder aus welchen mittels dieser vier Tasten numerische Daten zu übertragen sind, werden durch die Taste oder die Tasten markiert, die unmittelbar nach diesen gedrückt werden. Dementsprechend bestimmt die a-Taste das a-Register und die b-Taste das b-Regicter, und die Dezimaldigit-Tasteh 0-9 markieren selektiv irgendeines der unter den Benutzeradressen 000-108 des Daten-Speicherbereichs des RWFl-Speichers verfügbaren Speicherregister. Zur Vereinfachung der Beschreibung werden die unter den Benutzeradressen 000-108 verfügbaren Speicherregister im folgenden anhand ihrer Adressen benannt (d.h. das Speichorrogister unter irgendeiner verfügbaren Adresse min wird als rmn-Rogister bezeichnet). Worm ein nicht existierendes öder nicht ■ verfügbares.
209852/100 5
\ Speicherregister markiert wird, schaltet sich die STATUS-Anzeigelampe ein, es wird keine Datenübertragung oder Be-ί rechnung durchgeführt und die Rechenmaschine hält an.
' .(Wenn solch ein Register markiert wird, während die Rechen-
' maschine automatisch ein gespeichertes Programm abwickelt, markiert der Programmzähler denjenigen Programmschritt, welcher der untauglichen Operation unmittelbar folgt.)
Zur direkten Einspeicherung der Inhalte des x-Registers in das a-Register, das b-Register oder ein nnn-Register wird die
χ-». () Taste gedrückt, worauf die a-Taste, die b-Taste oder die Dezimaldigit-Tasten η, η, η folgen. In jedem Fall bleiben ί die Inhalte des x-Registers durch diese Operation unverän-ί dert. So kann beispielsweise der WertTT direkt in das b-Re-
gister eingespeichert werden durch aufeinanderfolgendes > Drücken der Tasten TT, x -> () und b. Ähnlich kann der Wert TT r direkt in das Register 027 eingespeichert werden durch auf- ! einanderfolgendes Drücken der Tasten IT, x-> () , 0, 2 und 7· Bei jedem dieser Beispiele verbleibt V auch in dem x-Register.
Zur direkten Einspeicherung der Inhalte des y-Regiaters in das a-Register, das b-Register oder das· Register nnn wird die y-*() Taste gedrückt, der die a-Taste, die b-Taste oder die Dezimaldißit-Tasten η, η, η folgen. In jedem Fall werden * die Inhalte des y-Registers durch diese Operation nicht geändert.So kann beispielsweise eine in dem y-Register enthaltene Zahl ohne Änderung der Inhalte dos y~Registers
209852/1005
direkt in das Register 000 eingespeichert werden durch, aufeinanderfolgendes Drücken der Tasten y-> (), O, O und O.
Zum direkten Rückruf der Inhalte des a-Registers, des b-Registers oder des Registers nun in das x-Register wird die Taste x-v () gedrückt, der die Tasten a, b, oder die Dezimaldigit-Tasten η, η, η folgen. In jedem Fall werden die Inhalte der rückgerufenen Register durch diese Operation nicht geändert. So können beispielsweise die Inhalte des Registers 012 in das x-Register rückgerufen werden durch aufeinanderfolgendes Drücken der Tasten x*-(), 0, 1 und 2, wobei die Inhalte des Registers 012 selbst nicht verändert werden. Der Rückruf aus dem a- oder dem b~Register in das x-Register kann in der gleichen Art wie oben, beschrieben durchgeführt werden durch einfaches Drücken der a-Taste oder der b-Taste alleine*·
Zum Austauschen der Inhalte des y-Registers mit den Inhalten des a-Registers, des b-Registers oder des nnn-Registers wird die y<2?() Taste gedrückt, welcher die a-T-aste,die b-Taste oder die Dezimaldigit-Taeten η, η, η folgen. So kann ζ·Β. eine Zahl in deft y-Regiater alt einer Zahl in dem fiegietor ausgetauscht wenden durch Drücken der Tasten y^X) , 0, 4 und
Die durch die Tasten x-> () y-* (), χ ·-() und y£* () durchführbaren direkten Speicher- und Rückrufoperationcn können üblicherweise durch Benutzung der folgenden Ausdrücke zusammengefaßt werden:
209852/1005
y-»O
Hierbei "bezieht jedes Klammerpaar ein, daß irgendeine der eingeschlossenen Gruppen von Tastenoperationen oder Speicherregistern ausgewählt werden kann. Die Zuordnung der aufeinanderfolgenden Paare von Klammern von links nach rechts bestimmt die Tasten-Folge, die zur Durchführung der gewählten Tastenoperation mit dem gewählten Speicherregister erforderlich ist. So kann jede der in dem linken Paar von Klammern enthaltene Tastenoperation mit jedem der in dem rechten Paar von Klammern enthaltenen Spexcherregister durchgefiüirt v/erden, indem zuerst die Taste, welche die gewünschte Tastenoperation durchführt und daraufhin die Taste oder die Tasten-gedrückt werden, welche das gewählte Speicherregister markieren. Die Nützlichkeit dieser/ direkten Speicher- und Rückrufoperationen wird veranschaulicht durch das folgende Verfahren des Multiplizierens einer Reihe von Zahlen n^ , lip, etc. mit einer Konstanten K, wobei n. = 3, n~ = 11.2, etc. und K = 1.684 gilt:
Gedruckte Tasten Inhalte des
x-Ref^isters
Inhalte des
y-Registers
Inhalte des
a-Repisters
GLIBAR 0 0 , 0
1, 0, 6, 8, 4, 1.684 0 0
y«?O, a 1.684 0 1.684-
3 3 0 1,684-
209852/1005.
(Fortsetzung) 3 3 1,684
t 1.684 3 1.684
a 1.684 5.0520 1.684
χ 11.2 5.0520 1.684
1, 1, ., 2 11.2 11.2 1.684
t 1.684 11.2 1.684
a 1.684 18.8608 1.684
χ
Die Antworten, die in dem y-Register erscheinen, sind unterstrichen.
Die Tasten x-^ (), j-j (), x<-(), und J^O können auch mit den Rechentasten +, -, χ und + benutzt werden, um direkte Registerrechnungen durchzuführen, bei welchen die Inhalte des x-Registers oder des y-Registers als der eine Operand und die Inhalte des a-Registers, des b-Registers oder des nnn-Registers als der andere Operand benutzt werden. Diese direkten Register-Rechenoperationen können wie folgt zusammengefaßt werden durch
ι
Benutzung der oben beschriebenen Ausdrücke:
χ-* (J
* J
nnri
Somit kann die x-> () Taste benutzt werden zur direkten Durchführung irgendeiner der in dem zweiten Klammerpaar enthaltenen
20 9 8 52/1005
Rechenoperationen an den Inhalten des x-Registers und den Inhalten irgendeiner der in dem dritten Klammerpaar enthaltenen Speicherregister und zur Speicherung der Ergebnisses in dem gewählten Speicherregister ohne Rückrufen der Inhalte des gewählten Speicherregisters und ohne Änderung der Inhalte des x-Registers. So können z.B. die Inhalte des x-Registers von den Inhalten des b-Registers abgezogen werden durch aufeinanderfolgendes Drücken der Tasten x-> (), -, und b. Die Differenz wird in dem b-Register gespeichert und die Inhalte des x-Registers bleiben bei dieser Operation unverändert. Ähnlich können die Inhalte des 04-2-Registers durch die Inhalte des x-Registers dividiert werden durch aufeinanderfolgendes Drücken der Tasten x-£ (), +, 0, 4· und 2. Der Quotient wird in dem Register 042 gespeichert, und die Inhalte des x-Registers selbst bleiben bei dieser Operation unverändert.
Ähnlich kann die y-> () Taste benutzt werden zur direkten Durchführung einer in dem zweiten Klammerpaar enthaltenen Rechenoperation an den Inhalten des y-Registers und irgend- , einem der in dem dritten Klammerpaar enthaltenen Speicherregister und zur Speicherung des Ergebnisses in dem gewählten Speicherregister ohne Rückrufen der Inhalte des gewählten Speicherregisters und ohne Änderung der Inhalte des y-Registers. So können z.B. die Inhalte des y-Registers den Inhalten des a-Registers hinzuaddiert werden durch aufeinanderfolgendes Drücken der Tanten y-> (), +, und a. Die Summe wird in dem a-Register gespeichert und die Inhalte des y-Registers
209852/10 05
δ?
verbleiben unverändert durch diese Operation. Ähnlich können die Inhalte des O38~Registers mit den Inhalten des y-Registers multipliziert werden durch aufeinanderfolgendes Drücken der Tasten y-> (), x, 0, 3, und 8. Das Produkt wird in dem Register 038 gespeichert und die Inhalte des y-Registers werden durch diese Operation nicht verändert.
Die x«-() Taste kann benutzt werden zur direkten Durchführung einer in dem zi^eiten Klammerpaar enthaltenen Rechenoperation an den Inhalten des x-Registers und den Inhalten irgendeines in dem dritten Klammerpaar enthaltenen Speicherregisters und zur Speicherung des Ergebnisses in dem x-Register, wobei die Inhalte des gewählten Speicherregisters nicht verändert werden. So können z.B. die Inhalte des a-Registers zu den Inhalten des x-Registers hinzuaddiert v/erden durch aufeinanderfolgendes Drücken der Tasten x<F-(), +, und a. Die Summe wird in dem x-Register gespeichert und die Inhalte des a-Registers bleiben durch diese Operation unverändert. Ähnlich können die Inhalte des x-Registers mit den Inhalten des 022-Registers multipliziert werden durch aufeinanderfolgendes Drücken der Tasten x<-(), x, 0, 2, und 2. Das Produkt wird in dem x-Register gespeichert und die Inhalte des 022-Registers bleiben durch die Operation unverändert.
Die Taste y^() dient zur direkten Durchführung einer in dem zweiten Klammerpaar enthaltenen Rechenoperation an den Inhalten des y-Registers und den Inhalten eines der in dem
209852/1005
dritten Klammerpaar enthaltenen Speicherregisters und zur Speicherung des Ergebnisses in dem y-Register ohne .Änderung der Inhalte des gewählten Speicherregisters (die yr^ () Taste kann z.B. benutzt werden, als wäre sie eine yf() Taste bei der Durchführung von Registerrechnungen).
So können z.B. die Inhalte des b-Registers von den Inhalten des y-Registers subtrahiert werden durch aufeinanderfolgendes Drücken der Tasten y£?(), -, und b. Die Differenz wird in dem y-Register gespeichert und die Inhalte des b-Registers werden nicht durch diese Operation geändert. Ähnlich können die Inhalte des y-Registers durch die Inhalte des 029-Registers dividiert werden durch aufeinanderfolgendes Drükken der Tasten y£? O , *, 0, 3, und 9· Der Quotient wird in dem y-Register gespeichert und die Inhalte des 039-Registers bleiben unverändert.
Die INDIRECT-Taste wird mit den oben beschriebenen Datenspeicher- und Registerübortragungs-Tasten benutzt zur Durchführung indirekter Datenspeicherungen und Rückrufe sowie indirekter Register-Rechenoperationen, bei welchen die Inhalte eines direkt adressierten Registers (z.B. des a-Registers, des b-Registers oder eines der nnn-Register) als die Adresse eines bei diesen Operationen zu benutzenden indirekt adressierten Speicherregistei^s (z.B. eines der anderen nnn-Speicherregister) benutzt werden. Bei der indirekten Adressierung eines der Speicherregister COO bis 04,8 oder 108 ist sorgfältig sicherzustellen, daß das
209852/1005
direkt adressierte Register die richtige Adresse nnn des indirekt adressierten Registers nnn enthält. Die benutzte indirekte Adresse ist der Absolutwert des gahzzahligen Teiles der Inhalte des direkt adressierten Registers. So wird 1.732 als Adresse des Registers 001, -6.99 als die Adresse des Registers 006, 0.999 als die Adresse des Registers 000, und 106.75 als die Adresse des Registers 106 behandelt. Weil die Speicherregister nur numerische Daten enthalten können, können das a- und das b-Register bei diesen Operationen nicht als indirekt adressierte Register benutzt werden.
Die indirekten Datenspeicher- und Rückrufoperationen können durch erneute Anwendung des oben beschriebenen Ausdruckes wie folgt zusammengefaßt werden, wobei für die INDIRECT-Taste keine Klammern verwendet sind:
X-* () t
J a
> INDIRECT < ,.
χ«-0
yCQ
nnn
•m
So können die Tasten x-> () und j-> () mit der INDIRECT-Taste benutzt werden zur indirekten Speicherung der Inhalte des x- bzw. des y-Registers in irgendeinem Speicherregister nnn, welches durch die Inhalte eines der anderen Daten-*· Speicherregister markiert ist.Weiterhin kann dies durchgeführt ν?orden,, ohne die Inhalte der; >:~ und des y-Registers
209852/1005
ICH
oder des direkt adressierten Speicherregisters zu ändern.
So können z.B. die Inhalte des x-Registers indirekt in dem Speicherregister gespeichert werden, welches durch die
Inhalte des a-Registers markiert ist durch aufeinanderfolgendes Drücken der Tasten x-> Q , IMDIEECT, und a. Die
Inhalte des x-Registers und des a-Registers verbleiben
hierbei unverändert. Ähnlich können die Inhalte des y-Registers indirekt in dem Speicherregister gespeichert werden, welches durch die Inhalte des Registers 022 markiert ist
durch aufeinanderfolgendes Drücken der Tasten y-£ () , INDIRECT. 0, 2, und 2. Die Inhalte des y-Registers und des Registers 022 bleiben hierbei unverändert.
Ähnlich kann die χ *-()*mit der INDIRECT-Taste benutzt werden zum indirekten Rückruf der Inhalte eines durch die Inhalte eines anderen Speicherregisters markierten Speicherregisters nnn in das x-Register. Dies erfolgt ohne Änderung der Inhalte eines der direkt oder indirekt adressierten
Speicherregister. So können z.B. die durch die Inhalte des b-Registers markierten Inahlte des "Registers nnn indirekt in das x-Register zurückgerufen werden durch aufeinanderfolgendes Drücken der Tasten χ i-(), INDIRECT und b. Die Inhalte des b-Registers und des indirekt adressierten Registers
bleiben hierbei unverändert. * Taste
Die Taste y£?() kann mit der INDIRECT-Taste benutzt werden zum indirekten Austauschen der Inhalte des y-Registers mit
209852/1005
den Inhalten eines Speicherregisters nnn, welches durch die Inhalte eines anderen Speicherregisters markiert ist. Dies erfolgt ohne Veränderung der Inhalte der direkt adressierten Speicherregister. So können z.B. die Inhalte des y-Registers indirekt mit den Inhalten des durch das Register 041 markierten Registers ausgetauscht x^erden durch aufeinanderfolgendes Drücken der Tasten y£*()> INDIRECT, 0, 4, und 1. Die Inhalte des Registers 041 bleiben hierbei unverändert.
Die indirekten Register-Rechenoperationen können wie folgt zusammengefaßt werden:
^ INDIRECT + f < I" a
x-> () b
y-> O X nnn
χ<-()
+
y£?0
Im Zusammenhang mit den indirekten Register-Rechenoperationen sei bemerkt, daß die INDIRECT-Taste auch unmittelbar nach der gewählten Rechen-Taste gedruckt werden kann. Somit können die indirekten Register-Rechenoperationen auch wie folgt zusammengefaßt werden:
INDIRECT
209852/1005
Somit kann eine der Tasten x-*() , y-*O, x«K)> und· mit der INDIRECT Taste und einer der Rechen- Tasten "benutzt werden zur indirekten Durchführung von Register-Rechenoperationen, bei welchen die Inhalte des x- oder des y- Registers als der eine Operand und die Inhalte eines der Speicherregister nnn, welches durch die Inhalte eines anderen Speicherregisters markiert ist, als der andere Operand "benutzt-werden. Im Falle der Tasten x-> O und y-> () werden die Ergebnisse dieser Operationen in dem indirekt adressierten Speicherregister nnn gespeichert und die Inhalte des x- und des y-Registers sowie des direkt adressierten Registers werden nicht verändert. Ähnlich werden im Fall der Tasten χ <?-() und J0() die Ergebnisse dieser Operationen in dem x- bzw. dem y-Register gespeichert und die Inhalte der direktund indirekt adressierten Register werden nicht verändert.
So kann z.B. der Inhalt des x-Registers zum Inhalt des durch den Inhalt des a-Registers markierten Registers nnn hinzuaddiert werden durch aufeinanderfolgendes Drücken der Tasten x-> (), INDIRECT, +, und a. Die Summe wird in dem indirekt adressierten Register nnn gespeichert und die Inhalte des x-Registers und des a-Registers bleiben hierbei unverändert. Ähnlich kann der Inhalt des Speicherregisters nnn, welches durch den Inhalt des Registers 014 markiert ist, mit dem Inhalt des y-Registers multipliziert werden durch aufeinanderfolgendes Drücken der Tasten y-* (), x, INDIRECT, O, 1, und Lv . Das Produkt wird in dem indirekt adressierten
209852/1005
Speicherregister nnn gespeichert und die Inhalte des
y-Registers und des Registers 014 bleiben hier unverändert. Ähnlich kann der Inhalt des Registers nnn, welches durch
den Inhalt des b-Registers definiert ist,von dem Inhalt
des x-Registers subtrahiert werden durch aufeinanderfolgendes Drücken der Tasten χ <?-(), INDIRECT, -, und b . Der
Quotient wird,in dem y-Register gespeichert und die Inhalte des Registers 008 und des indirekt adressierten Registers
nnn bleiben hier unverändert.
Bei den oben beschriebenen indirekten Datenspeicher- und
RückrufOperationen sowie bei den indirekten Register-Rechenoperationen kann eine indirekte Mehrebenen-Adressierung bis zu jeder gewünschten Ebene durchgeführt werden durch aufeinanderfolgendes Drücken der INDIRECT-Taste, und zwar einmal für jede gewünschte Ebene. Indirekte Mehrebenen-Datenspeicherung und -Rückruf können wie folgt zusammengefaßt werden-
1
O
i-> O
χ <- O
7 O O
INDIRECT
INDIRECT
nnn
So kann beispielsweise der Inhalt des x-Registers indirekt in dem Inhalt des Registers 017 gespeichert werden, welches durch den Inhalt des Registers 005 und dieses wiederum
durch den Inhalt des a-Registers definiert ist durch
209852/1005
aufeinanderfolgendes Drücken der Tasten x-> (), INDIRECT, INDIRECT, und a . Die Inhalte des x-Registers, des a-Registers und des Registers 003 bleiben hierbei unverändert. Ähnlich kann der Inhalt des Registers 046, welches durch den Inhalt des Registers 031 und dieses wiederum durch den Inhalt des Registers 000 und dieses wiederum durch den Inhalt des Registers 025 definiert ist, mit dem Inhalt des y-Registers ausgetauscht werden durch aufeinanderfolgendes Drücken der Tasten y£*(), INDIRECT, INDIRECT, INDIRECT, O, 2 und 5. Die Inhalte der Register 025, 000 und 031 bleiben hierbei unverändert.
Indirektes Mehrebenen-Registerrechnen kann in ähnlicher Weise wie folgt zusammengefaßt werden:
> INDIRECT...INDIRECT
χ·* Ο
Μ I X f -s
Ι a
) I •r
A
b
ίιηη
oder
7 INDIRECT...INDIRECT
a b
nnn
So kann beispielsweise.unter, der Annahme, daß dem Benutzen die 60 freistehenden Spcicherregister 049-108 verfügbar
209852/1005
-neo--
sind, der Inhalt des y-Registers von dem Inhalt des Registers 108, welches durch den Inhalt des Registers 082 und dieses wiederum durch den Inhalt des Registers 04-9 definiert ist, subtrahiert werden durch aufeinanderfolgendes Drücken der Tasten y->() , INDIRECT, INDIRECT, -, 0, 4 und 9. Die Differenz wird in dem Register 108 gespeichert und die Inhalte des y-Registers, des Registers 049 und des Registers 082 bleiben hierbei unverändert. Ähnlich kann der Inhalt des x-Registers durch den Inhalt des Registers 106, welches durch den Inhalt des Registers 056 und dieses wiederum durch den Inhalt des b-Registers definiert ist, dividiert werden durch aufeinanderfolgendes Drücken der Tasten x«-(), +, INDIRECT, INDIRECT, INDIRECT und b. Die Ergebnisse werden in dem x-Register gespeichert und die Inhalte des b-Registers und der Register 003, 056, und 106 bleiben hierbei unverändert.
Das Abschließen numerischer Adressen
Wie oben beschrieben wird jedes der verfügbaren numerisch adressierten Speicherregister 000 bis 048 oder 108, welches in der vorangehenden DatenspeicherungG- und Registerübertragungsoperation benutzt wird, sicher adressiert durch wahlweises Drücken der De?;imaldigit-Tasten zur Bestimmung seiner Droi-Digit Adresse. Bei Eingabe des dritten Digits wird die numerische Adresse automatisch abgeschlossen. Irgendwelche unmittelbar folgende Dipjit-Eingabon werden deswegen nicht als Bestandteil der numerischen Adresse auf-
209852/ 1005
genommen, sondern als Beginn einer neuen Dateneingabe· Wenn z.B. die Tasten x-» (), 1, 0, 3> 2 und 5 nacheinander gedruckt werden, wird der Inhalt des x-Eegisters in dem Register 103 gespeichert und die Zahl 25 wird in das x-Register eingegeben. Wenn die Tasten y->'(), +, 0,0,2,
1 und + nacheinander gedrückt werden, wird in ähnlicher Weise der Inhalt des y-Registers dem Inhalt des Registers
002 hinzuaddiert und die Zahl 1 wird in das x-Register eingegeben und daraufhin dem Inhalt des y-Registers hinzuaddiert.
Eine numerische Adresse kann auch ohne Eingabe der einleitenden Nullen der Adresse abgeschlossen v/erden durch Drücken einer nicht-numerischen Taste mit Ausnahme der STEP PRCxM-Taste oder, sofern die Maschine in der manuellen oder der ersten tastenbestimmten Druck-Betriebsart arbeitet, der CONTIKUE-Taste. Die meisten der abschließenden Tasten-Eingaben, die benutzt werden können, v/erden auch durchgeführt. Wenn z.B. die Tasten x-> () , 2, + hintereinander gedrückt werden, wird der Inhalt des x-Registers in dem Speicherregioter 002 gespeichert und auch dem Inhalt des y-Registers hinzuaddiert. Wenn die Tasten j-> (), +, 3» 8 und a hintereinander gedrückt werden, wird in ähnlicher Weise der Inhalt des y-Registers dem Inhalt des Registers 038 hinzu-•addiert und der Inhalt des a-Registers wird in das x-Register zurückgerufen.
209852/1005
Wenn sich die Maschine in der manuellen oder ersten tastenbestimmten Druck-Betriebsart befindet, kann die STOP-Taste benutzt werden, um eine numerische Adresse abzuschließen, wenn eine nicht operierende, adressenabschließende Tasteneingabe gewünscht ist. So kann z.B. durch einfaches Drücken der Tasten x-> (), 3 und STOP der Inhalt des x-Registers in das Register 003 eingespeichert werden, ohne eine weitere Operation durchzuführen. Beim Formulieren oder Eingeben eines Programms, durch welches die Rechenmaschine in der automatischen Betriebsart gesteuert wird, kann in ähnlicher Weise ein CONTINUE-Programmschritt benutzt werden, um eine numerische Adresse abzuschließen, wenn ein nicht operierender, Adressen abschließender Programm schritt gewünscht wird. Wenn z.B. bei der automatischen Betriebsart der Maschine die Programmschritte y-> (), x, 2, 9, CONTINUE und 3 hintereinander angetroffen werden, so wird der Inhalt des Registers 29 mit dem Inhalt des y-Registers multipliziert und das Produkt wird in dem Register 29 gespeichert. Durch den CONTINUE-Programmschritt wird keine Operation durchgeführt, und der nächste Programmschritt 3 wird als Anfang einer neuen Dateneingabe in das x-Registei eingespeichert.
Weil mit Ausnahme der freigestellten Register 100-108 jedes numerische"Speicherregister einzigartig durch weniger als drei Digits bestimmt werden kann, erlaubt dieses Merkmal des abgekürzten Adresseriabschließens eine erhebliche Verminderuit. der Tasten-Operationen und Programmschritte, die zur Durch-
20 9 852/1005
führung vieler Berechnungen erforderlich sind. Darüber hinaus kann das gleiche Merkmal dieses Adressenabschliessens im Zusammenhang mit den numerischen Vier-Digit Adressen des Programm-Speicherbereiches des RWM-Speichers benutzt werden, um eine weitere Verminderung der Tasten-Operationen und Programmschri-tte zu erreichen, die zur Durchführung vieler Rechnungen erforderlich sind.
Die Programm-Steuertasten
(GO TO, IF x<fr, Ig x=y, IF x>y, IF FLAG, SET FLAG, LABEL·,
SUB RETURN )
Mit Ausnahme der Tasten FLOAT, FIX (), RUN, PRGM, KEY LOG, LIST, LOAD, und RECORD können alle oben schon beschriebene Tasten sowohl zur Steuerung der Rechenmaschine während der manuellen und der ersten tastenbestiinmten Druck-Betriebsart als auch zur Eingabe von Programmschritten in die Maschine während der Programmeingabe- und'der zweiten tastenbestimmten Druck-Betriebsart benutzt werden. Wenn die Maschine in der manuellen Betriebsart arbeitet, kann der Benutzer ständig die Ausgangsanzeige der Inhalte des x-, des y- und des z-Registers beobachten und entsprechend seinen Beobachtungen seine eigenen Entscheidungen treffen, was in jedem Zustand der Maschine als nächstes zu tun ist. Dies ist aber nicht möglich, wenn die Maschine in der automatischen Betriebsart mit hoher Geschwindigkeit ein gespeichertes Programm durchführt. Aus diesem Grunde wurden die
209852/1005
acht obigen Programm-Steuertasten vorgesehen, um der Rechenmaschine selbst zu ermöglichen, errechnete Größen zu prüfen und auf der Basis dieser Prüfungen während des automatischen Ablaufes eines intern gespeicherten Programms Entscheidungen zu treffen. Diese acht Tasten können benutzt werden für nicht konditionales Abzweigen (oder Übertragungen), konditionales Abzweigen (oder Übertragungen) , symboli-sches oder markiertes Abzweigen, Speichern von "ja-nein" Informationen in einer Fahne und konditionales Abzweigen auf der Basis dieser "ja-nein" Information an einer'späteren Stelle des Programmablaufes sowie nicht konditionales oder konditionales Abzweigen in vorbestimmte Programme mit Rücklauf in das Hauptprogramm nach Vervollständigung.
Abzweig-Instruktionen in einem Programm veranlassen den Benutzerprogramm-Zähler, eine andere als die nächstfolgende Adresse in dem Programm-Speicherbereich des RWM-Speichers zu definieren, woraufhin sich der Programmablauf von der neuen Adresse aus fortsetzt. Wenn eine Abzweigung konditional ist, trifft die Rechenmaschine eine Entscheidung, die auf einer bestimmten Bedingung beruht, ob oder ob nicht abzu zweigen ist. Wenn aber die Abzweigung nicht konditional ist, hat die Maschine keine Wahl und muß zu der in dea Programm definierten Adresse abzweigen (z.B. durch einen. GO TO-Programmschritt, dem eine numerische Adresse nnnn folgt).
209852/1005
Um den Benutzerprogramm-Zähler auf die gewählte Adresse nnnn zu setzen, wird die GO TO-Taste gedrückt, der die Dezimaldigit-Tasten folgen, die eine gewählte Vier-Digit Adresse nnnn in dem Programm-Speicherbereich des RWM-Speichers definieren.-Wenn diese Folge von Tastenkodes als eine Folge von Programmschritten angetroffen wird, wird eine nicht konditionale Abzweigung zu der angezeigten Adresse gemacht und der unter dieser Adresse gespeicherte Programmschritt durchgeführt. Der Programmablauf setzt sich dann automatisch von dieser Adresse aus fort.
Zur Vereinfachung der Beschreibung sollen die Ausdrücke "Tasten" und "Programmschritte" im folgenden synonym benutzt werden, weil die übrigen Tasten dieser Gruppe zumeist ausschließlich benutzt werden, um in der Programm-Eingabe-Betriebsart der Maschine Tastenkodes als Programmschritte in die Rechenmaschine einzugeben. Alle solcherart eingegebene Programmschritte werden automatisch während der automatischen Betriebsart der Maschine durchgeführt.
Die vier IF-Tasten werden für konditionales Abzweigen benutzt. Die Tasten IF x<"y, IF χ = y, und IF x>y vergleichen die in dem x- und dem y-Register enthaltenen numerischen Werte, um zu entscheiden, ob die in dem x-Register-enthaltene Zahl kleiner als, gleich der, oder größer als die in dem y-Register enthaltene Zahl ist. Die IF FLAG-Taste prüft die Bedingung ("ja-nein") der Fahne, die durch die SET FLAG-Tacte gesteuert wird, wie
209852/10 05
noch erläutert wird. Für jede Prüfung,die durch eine dieser vier Tasten durchführbar ist,'sind nur zwei Ergebnisse möglich. Die geprüfte Bedingung ist entweder "zutreffend" (YES) oder "nicht zutreffend" (NO).
Wenn die geprüfte Bedingung zutrifft-, (YES), wird der nächste, dem "IF" folgende Programmschritt automatisch durchgeführt.'Wenn aber die geprüfte Bedingung nicht zutrifft (NO), so überspringt (ignoriert) die Maschine automatisch die nächsten vier Programmschritte und fährt mit dem fünften Programmschritt, welcher dem "IF" folgt, fort.
Wenn die dem "IF" unmittelbar folgenden Programmschritte eine numerische Adresse nnnn darstellen und die geprüfte Bedingung zutrifft (YES), erfolgt eine automatische Abzweigung zu dieser Adresse nnnn. Daraufhin wird der unter dieser Adresse nnnn gespeicherte Programmschritt ausgeführt und der automatische Programmablauf von dort fortgesetzt. Wenn die dem "IF" unmittelbar folgenden PrograMischx-itte Operationen (z.B. +,Ί\ usw.) darstellen tritt keine Abzweigung auf und die Operationen werden durchgeführt.
Wenn ein IF-Programmschritt (ein anderer als IF FLAG) angetroffen wird, werden die beiden in den Registern χ und y befindlichen Zahlen automatisch gerundet, bevor die Prüfung ' durchgeführt wird. In jedem Register wird das zehnte Digit der Zahl entsprechend dem Wert der abzustreifenden Digits gerundet; daraufhin werden die abzustreifenden Digits
209852/1005
gleich null gesetzt. Somit haben die zu prüfenden Zahlen tatsächlich die gleichen Werte als wenn sie in Gleitkomma-Darstellung gezeigt wären, wobei alle zehn wichtigen Digits dargestellt werden. Nach der Durchführung der Prüfung behalten die in den Registern χ und y befindlichen Zahlen ihre gerundeten Werte. Das bedeutet, daß die tatsächlichen Werte der in diesen Registern befindlichen Zahlen nach der Prüfung von denen vor der Prüfung abweichen können. Wenn der resultierende Genauigkeitsverlust unerwünscht ist, können die Zahlen des x- und des y-Registers in dem Daten-Speicherbereich des RWM-Speichers gespeichert werden, bevor die "IF" Prüfung durchgeführt wird und nach der Prüfung können sie zurückgerufen werden und die gerundeten Zahlen ersetzen,
Die Benutzung der Tasten IF xj^y und IF x<C y wird erläutert durch Benutzung der folgenden Folge von Programmschritten, die mit einem IF x>y Programmschritt beginnen und ein dreistufiges Konditional-Programm zur Erfassung des Absolutwertes des Inhaltes des y-Registers umfassen:
IF x>y
/ CHG' SIGN ^—Schritt- Konditional
Konditional- S Folge
Programm für
M CONTINUE
J
I I
209852/1005
Venn der Inhalt des x-Registers einen größeren Wert hat als der Inhalt des y-Registers (d.h. die Bedingung trifft zu), dann wird Jeder Programmschritt in dieser Folge durchgeführt und der Absolutwert des Inhaltes'des y-Registers errechnet. Wie schon erläutert, ist CONTIKUE ein nicht operierender Programmschritt. Er wird in diesem und den folgenden Beispielen benutzt, um den vierten Programmschritt auszufüllen, der übergangen wird, wenn die Prüfbedingung nicht zutrifft. Wenn der Inhalt des x-Registers gleich oder größer im Wert ist als der Inhalt des y-Registers (d.h. die Bedingung wird nicht erfüllt), dann werden die vier Programmschritte, die dem IF x>y Programmschritt unmittelbar folgen, übersprungen und der Ablauf setzt sich mit dem f Programmschritt beginnend fort. In diesem Pail wird der Absolutwert des Inhaltes des y-Registers nicht errechnet.
Die Anwendung der IP χ = y Taste wird anhand der folgenden Folge von Programmschritten erläutert:
4—Schritt Konditional Folge
209852/ 1005
Wenn der Inhalt des x-Registers im Wert gleich dem Inhalt des y-Registers ist ( d.h. die Bedingung trifft zu), dann wird jeder Programmschritt in dieser Folge durchgeführt. Dies resultiert in einer automatischen Abzweigung zur Durchführung des unter der Benutzeradresse 0023 gespeicherten Programmschrittes. Wenn, aber der Inhalt des x-Registers nicht gleich dem Inhalt des y-Registers ist (d.h. die Bedingung wird nicht erfüllt), so werden die vier Programmschritte, die dem IF χ = .y Programmschritt unmittelbar folgen,.übersprungen und die Durchführung setzt sich beginnend mit dem + Programmschritt fort.
Die Anwendung der IF FLAG-Taste wird anhand der folgenden Folge von Prograinmschritten erläutert:
IF FLAG
V A--Schritt Konditional CONTINUE Γ CONTINUEy SET FLAG
Wenn die von der SET FLAG Taste gesteuerte Fahne gesetzt wurde (d.h. die Bedingung ist erfüllt), dann wird Jeder Programmschritt in dieser Folge durchgeführt. Dies resultiert in einer automatischen Abzvieigung zur Durchführung des unter der Benutzeradresse 0041 gespeicherten Programmschrittes. Wenn aber die von der SET FLAG Taste gesteuerte Fahne
209852/1005
nicht gesetzt wurde (d.h. die Bedingung ist nicht erfüllt), dann werden die vier Programmschritte, die dem IP PLAG Programmschritt unmittelbar folgen, übersprungen und die Ausführung setzt sich beginnend mit dem SET PLAG Programmschritt durch Setzen der Fahne fort.
Die SET PLAG Taste erstellt die von der IF.FLAG Taste zu prüfende Bedingung. Die "YES" Bedingung wird erstellt, wenn entweder als Programmschritt oder als Tastatureingabe ein SET PLAG Tastenkode angetroffen wird. Die "NO" Bedingung wird durch Klären der Fahne erstellt. Dies erscheint automatisch, wenn die Rechenmaschine eingeschaltet wird oder wenn ein CLEAR- oder IF PLAG Tastenkode entweder als Programmschritt oder als Tastatureingabe angetroffen wird. Wenn die Fahnenbedingung für eine spätere Anwendung erhalten bleiben soll, muß das Programm einen SET FLAG Programmschritt in der Folge der durchgeführten Programmschritte enthalten, der dem fahnenklärenden Programmschritt folgt. Die Fahne ermöglicht dem Benutzer, die Bedingung auszuwählen, welche entscheiden wird, ob eine konditionale Abzweigung (oder Operation) zu machen ist oder nicht.
Die Markierungs- (LABEL) Taste erlaubt die Anwendung von verlegbaren Symboladressen innerhalb des Programms. Eine LABEL Taste, der eine andere programmierbare Taste (z.B. LABEL, ff ) mit Ausnahme der END-Taste unmittelbar folgt, dient als eine Symboladresse, die unmittelbar vor einem
209852/ 1005
Programmschritt, den ein Benutzer unabhängig von seiner absoluten (numerischen) Adresse zu verlegen wünscht, in ein Programm eingeführt werden kann. Diese Symboladresse ist durch ein Suchkommando verlegbar, welches eine GO TO Taste umfaßt, der die Symboladresse selbst unmittelbar folgt (z.B. GO TO, LABEL,TT). In Beantwortung dieses Suchkommandos wird der Benutzerprogramm-Zähler auf die erste verfügbare Benutzeradresse 0000 in dem Programm-Speicherbereich des RWM-Speichers zurückgesetzt und schrittweise in einer Suchoperation gesteigert, bis die Symboladresse ( z.B. LABEL, Tf ) gefunden ist. Daraufhin bestimmt der Benutzerprogramm-Zähler die nächste Adresse, welche der von der Symboladresse bestimmte Programmschritt ist.
Wenn das Suchkommando von der Eingabe-Tastatur kam, wartet · die Maschine auf die nächste zu drückende Taste. Wenn aber das Suchkommando von dem Programm kam, dann setzt sich der Ablauf automatisch an dem Programmschritt fort, der durch die Symboladresse definiert ist. Die Symboladressen-Tasten selbst dienen als nicht operierende Kodes und werden während des Programmablaufes ignoriert* Dies- kann durch die folgende Folge von Programmschritten veranschaulicht werden:
Adresse Programm-S chri11
0098 . .
099 GO TO
0100 LABEL
0101 +
0102 · etc.
209852/1005
(Fortsetzung)
0362
0363 ' LABEL ·
0364 ;+
0365 t
0366 etc.
Die Suche nach der Symboladresse "LABEL , + " wird unmittelbar eingeleitet nachdem die Adresse 0101 durch den Benutzerprogramm-Zähler definiert ist und startet bei der Adresse 0000. Wenn die Symboladresse gefunden ist, fährt der Ablauf mit dem f Programmschritt an der Adresse 0365 fort. Die + Programmschritte Ό101 und 0364, die als Teil der Symboladresse dienen, werden nicht ausgeführt.
Eine bestimmte Symboladresse kann nicht benutzt werden, um gleichzeitig mehr als eine Stelle zu definieren. Wenn dies der Fall ist, gilt nur die zuerst (numerische Adresse mit geringster Ordnung) definierte (z.B. der Punkt der Übertragung).Es kann jedesmal jede Zahl von unterschiedlichen Markierungen benutzt v/erden, die auf die Zahl der Tasten begrenzt ist, die verfügbar sind, xm der LABEL-Tar.te zu folgen.
Wenn eine Übertragung an eine nicht definierte Symboladresse auftritt, wird die Maschine alle Prograiamspeichoie
209852/1005
absuchen void, wenn die Symboladresse nicht gefunden wird, wird sie mit eingeschalteter STATUS-Anzeigelampe stehen bleiben. Der Programm-Zähler wird die nächstfolgenden Programmschritte definieren.
Abzweigen an eine Symboladresse bietet bemerkenswerte Vorteile gegenüber dem Abzweigen an eine absolute Adresse. Programme mit Symboladressen können irgendwo in dem Programm-Speicherbereich des KWM-Speiehers gespeichert sein und leicht bewegt und verlegt v/erden, v/eil keine absoluten Adressen zu ändern sind. Auch muß jedesmal wenn ein Programm zu korrigieren ist (d.h. es werden Programmschritte geändert, addiert oder gelöscht) jede absolute Adresse geprüft werden für den Fall, daß sie selbst als Ergebnis der Korrekturen geändert werden muß. Dies kann dem Benutzer erhebliche Buchhaltungsarbeit aufbürden. Wenn anstelle der absoluten Adressen Symboladressen benutzt werden, beeinträchtigen die Korrekturen die Symboladressen nicht.
Der Hauptnachteil in der Anwendung von Symboladressen liegt darin, daß ein Suchlauf wesentlich mehr Zeit ( abhängig von der Stelle der Markierung im Speicher) erfordert als eine Abzv:eigung zu einer absoluten Adresse. Im allgemeinen hat dies aber keine Bedeutung, weil "Zeit" in diesem Fall nur einige Tausendstel einer Sekunde bedeutet. Aber wenn Zeit ein bedeutender Faktor ist, kanu der Benutzer dennoch Vorteil auc den Symboladressen ziehen, indem er sein Originalprogramm mit Symboladressen schreibt und die Symboladressen
209852/1005
sobald das Programm vollständig ausgeprüft ist, in ge eignete absolute Adressen umwandelt.
SUB
Die 1 1- Taste wird benutzt, um auf ein Unterprogramm
überzugehen (es zu rufen) und von dem Unterprogramm zu dem Punkt in dem rufenden Programm zurückzukehren, von welchem aus der Übergang eingeleitet wurde. Unterprogramme können bis zu fünf Stufen tief verschachtelt sein. Ein Versuch, eine fünfstufige Verschachtelung zu überschreiten ist ein lehler, der den Ablauf des Programms unterbricht und die STATUS-Anzeigelampe einschaltet. Sowohl die bei einem Einschalten auftretende automatische Einleitung als auch die END-Taste (entweder als Programmschritt oder als Tastatur-Eingabe gegeben) setzen die Verschachtelung automatisch auf die Stufe null zurück, so daß dann alle fünf Stufen verfügbar sind. Eine GO TO Taste, der eine SUB
RETURN Taste und entweder eine absolute numerische oder eine symbolisch markierte Adresse folgen, kann in dem rufenden Programm benutzt werden, um ein Unterprogramm (nicht konditional) zu rufen. Die benutzte Adresse definiert die Anfangsadresse des Unterprogramms. Wenn eine symbolische Adresse benutzt wird, müssen die ersten beiden Programmschritte des Unterprogramms ebenfalls die gleiche Symboladresse sein.
ο τ τ *p
Eine IP-Taste, der eine GO TO und eine ——fprr Taste und
entweder eine absolute numerische oder eine symbolisch markierte Anfangeadresse folgen, kann ebenfalls in dem rufenden Programm benutzt worden, um ein Unterprogramm konditional au rufen. Die Durchführung der Schritte des Un.te.r-
209852/ 1005
Programms beginnt automatisch,sobald das Unterprogramm gerufen ist. In dem Unterprogramm muß als letzter durch. zuführender Schritt eine - ^as^e enthalten sein. Das HETURF bewirkt eine Abzweigung zu der "Eückkehr-Adresse" in dem rufenden Programm. Die Rückkehr-Adresse ist immer diejenige Adresse, welche dem letzten Schritt, der zum Rufen des Unterprogramms benutzt wurde, unmittelbar folgt. Beginnend mit der Rückkehr-Adresse setzt sich der Ablauf des rufenden Programms daraufhin automatisch fort.
Während eines Programms kann eine beliebige Anzahl von Unterprogrammen einzeln gerufen werden. Es ist aber auch möglich, mehr als ein Unterprogramm gleichzeitig zu benutzen. Ein Unterprogramm kann ein zweites Unterprogramm rufen, welches wiederum ein drittes Unterprogramm rufen kann usw. Dieses Mehrfachrufen ist als "nesting" (Yerschachteln) bekannt. Die Rechenmaschine kann sich an bis zu fünf Rückkehradfessen zu einem Zeitpunkt erinnern (speichern), so daß die Unterprogramme bis zur fünften Stufe verschachtelt sein können. Das Rückkehren erfolgt auf einer "zuletztein, zuerst-aus" Basis, wobei die Rückkehr immer zu der letzten gespeicherten Rückkehradresse erfolgt. Sobald die Rückkehr erfolgt ist, ist diese Rückkehradresse vergessen (aus dem Speicher gelöscht), so daß die vorherige Adresse nun die "letzte" wird. Somit ist die Rückkehr-Order immer das Gc..(.;oiitr:il dor Ruf-Order.
209852/1 005
Ein als Unterprogramm geschriebenes Programm kann auch als ein "alleinstehendes" Programm benutzt werden. Dies erfolgt durch Drücken der END-Taste zum Auslöschen der laufend in der Maschine gespeicherten Rückkehradressen
OTTT)
und durch Nichtbenutzung der Taste bei der Adressierung des Speichers bevor das Programm läuft.
Die Spezialfunktion-Tasten ( PMG?, gg^i,, PAPER)
Die IMT (Form-) Taste wird zur Einleitung spezieller Operationen benutzt, die nicht anderweitig definiert sind und durch andere Basistasten des Rechners vervollständigt werden. Sie wird immer mit anderen Tasten benutzt und dient im Effekt zum Rückdefinieren dieser anderen Tasten zur Vervollständigung der gewünschten SpezialOperationen. Verschiedene dieser SpezialOperationen, die der FMT-Taste zugeordnet sind, sind als Teil der Basis-Rechenmaschine definiert. Andere wurden als Teil von zugeordneten steckbaren ROM-Modulen definiert und sind nur verfügbar, wenn die zugehörigen ROM-Module in die Rechenmaschine eingefügt sind.
Die Kommando-Folgen FMT, t und FMT, | werden benutzt, um das Peripheriegerät X-Y Plotter zu betätigen. Sie sind Bestandteil der Basifnaschine. Die Eingabekonraiandos für den X-Y Plotter sind PEN r , Pj^iT | (Feder anheben bzv;. Feder ab-.eν■>:;■'"/"" sowie die x- und y-Eooiviiiaten, ?:u welchen der Fedi-x-Lrä^ ..- zu brinren ir.;,. Die y,- und ^-Koordinaten wurden
2 0 9 8 5 2/1005
durch Dezimalzahlen im Bereich von 0000 "bis 9999 "bestimmt. Der tatsächliche Federbereich der physikalischen Bewegung wird durch Einstellungen an dem Plotter selbst definiert. Die Kommandofolge I1MT,t veranlasst das Anheben der Feder und das Eingeben der Inhalte des x- und des y-Registers an den Plotter als die x- und y-Koordinaten auf welche die Feder zu setzen ist. Die Kommandofolge FIlT, 1 senkt die Feder ab und überträgt die x- y-Koordinaten. Man bemerke, daß bei beiden Kommandos zuerst die Feder angehoben oder abgesenkt wird und dann der Federträger bewegt wird. Die x-y-Koordinaten des x- bzw. des y-Registers müssen durch den Benutzer in dem Bereich 0000 bis 9999 vorskaliert werden. Wenn diese Grenzen verletzt werden, tritt folgendes auf:
1. Wenn der Inhalt des x- und/oder y-Registers kleiner als 0000 ist (d.h. negativ), wird 0000 an den Plotter gegeben, die Feder angehoben, bewegt und abgesenkt.
2. Wenn der Inhalt des x- und/oder y-Registers größer als 9999 ist, wird 9999 an den Plotter gegeben, die Feder angehoben, bewegt und abgesenkt.
Das Ergebnis ist die Aufzeichnung einer Reihe von Punkten entlang den Begrenzungen der Zeichnung. Das Anheben und Absenken der Feder ist eine sichtbare und hörbare Warnung an den Benutzer, daß er außerhalb der zulässigen Grenzen zeichnet.
209852/1005
An der Basismaschine sind Vorkehrungen getroffen zur Aufzeichnung eines Benutzerprogramms in dem Programm-Speicherbereich des RWM-Speichers als abgesichertes Programm. Diese Vorkehrung ist völlig veranschaulicht durch eine geschützte Aufzeichnung, die man durch das physikalische Einkerben der Magnetkarte erhält. Ein abgesichertes Programm ist der Definition nach ein Programm, welches nur durchgeführt werden kann. Es kann nicht als Liste aufgestellt, aufgezeichnet, in der Programm-Betriebsart nachgeschaut, aufgebaut oder in sonst einer V/eise geändert werden. Es ist ein Programm, welches nur in der ■ automatischen Betriebsart durchgeführt werden kann,und zwar mit hoher Geschwindigkeit bei Benutzung der CONTINUE-Taste (oder Schritt für Schritt bei Benutzung der STEP ■ PRGM Taste, die noch erläutert wird).
Jedes von dem Benutzer über die Eingabe-Tastatur in den Programm-Speicherbereich des RWM-Speichers eingegebene Programm oder jedes nicht-abgesicherte, von einer Magnetkarte eingespeicherte Programm kann als abgesichertes Programm aufgezeichnet v/erden. Dies erfolgt in der gleichen Art wie oben im Zusammenhang mit der RECORD-Taste beschrieben mit der Ausnahme, daß die Tasten MT und RECORD in der genannten Reihenfolge hintereinander gedrückt werden, um die Aufzeichnung einzuleiten. Das daraufhin auf die Magnetkarte oder die Magnetkarten aufgezeichnete Programm ist ein abgesichertes Programm. Das Original-Programm 'verbleibt ebenfalls in dem Programm-Speichorbereich des RWM-
2 09.852/1005
Speichers als ein nicht-abgesichertes Programm und kann wiederum aufgezeichnet werden, entweder als gesichertes oder als nicht-gesichertes Programm. Es sei "bemerkt, daß ein abgesichertes Programm, dessen Aufzeichnung einmal be-•gqnnen hat, durch fortlaufende Eingabe von Karten vervollständigt werden muß, bis die Aufzeichnung durch einen END-Programmschritt "beendet wird. Wenn die Aufzeichnung durch Drücken der S3?QP-Taste unterbrochen wird, wird zwar die Aufzeichnung beendet, aber das in dem Programm-Speicher-■faereich des R1WfI- Speichers gespeicherte Original-Programm wird dann ein abgesichertes Programm und kann, nur noch durchgeführt werden - es können keine weiteren Aufzeichnungen seha? gemacht werden.
Wenn ein in dem Programm-Speicherbereich des RWM-Speiehers gespeichertes Programm ein abgesichertes Programm ist (entweder durch Einspeicherung eines als abgesichert aufgezeichneten Programms oder durch den oben dargelegten STOP-Fehler) herrschen folgende Zustände:
1. Wenn die PRGM-iDaste gedruckt ist, wird der gesamte Programmspeicher geklärt,
2. Wenn die LIST- oder die RECORD-Taste gedruckt ist, v/erden sie ignoriert, so daß kein Listenschreiben oder Aufzeichnen des Programms erfolgen kann. Diese Aktionen zerstören nicht das Programm - sie werden nur ignoriert.
209852/10 05
Alb
3. Weil das Programm durch Einschalten der PRGM-Betriebsart zerstört wird, kann das Programm nicht verändert oder in irgendeiner Weise redigiert werden.
Das Einspeichern eines gesicherten Programms unterscheidet sich nicht von dem Einspeichern eines nicht-gesicherten Programms - es ist der gleiche Vorgang. Es können verschiedene gesicherte Programme Ketten-gespeichert werden· Wenn ein nicht-gesichertes Programm in die Maschine eingespeichert wird, wenn schon ein gesichertes Programm darin gespeichert ist, wird der Programm-Speicherbereich des RWH-Speicliers in allen Bereichen, die nicht mit dem nicht-gesicherten Programm geladen sind, von dem gesicherten Programm ge- . klärt, so daß nach dem Einspeichern des nicht-gesicherten Programms keine Spur des gesicherten Programms verbleibt. Somit kann ein nicht-gesichertes Programm nicht nach einem gesicherten Programm Ketten-gespeichert werden. Das umgekehrte hingegen ist möglich - ein gesichertes Programm kann zu einem nicht-gesicherten Programm Ketten-gespeichert werden, jedoch ist dann das zusammengestellte Programm gesichert.
Die Kommando-Folge PMT, GO TO,wird benutzt zur Durchführung des automatischen oder programmgesteuerten Einspeicherns von magnetischen Programmkarten. Die Wirkung der Kommando-Folge 1?MT GO TO ist die gleiche wie die folgende Kommando-
209852/ 1 005
Folge: GO TO, O, LOAD, GO TO, O und CONTINUE. Sie kann ■ zur Einspeicherung eines Programms von der Eingabe-Tastatur her benutzt Werden, wobei die Einleitung der
Durchführung automatisch ist oder sie kann in einem
Programm zum " Anbinden " von Programmen benutzt werden. Wenn die Magnetkarten-Lese- und Aufzeichiiungseinrichtung nicht mit einer Magnetkarte geladen ist, schaltet sich
die INSERT CARD-Anzeigelampe ein, welche dem Benutzer
anzeigt, daß eine Magnetkarte einzuführen ist. Das LOAD-Programm arbeitet in der gleichen Weise, wie oben im
Zusammenhang mit der LOAD-Taste beschrieben wurde, und
wird durch einen END-Programmschritt auf der Magnetkarte beendet.
Die Kommando-FoIge FMT, x·» bewirkt die Aufzeichnung der Inhalte der verfügbaren numerisch adressierten.Datenregister in dem Daten-Speicherbereich.des RWM-Speichers auf einer Magnetkarte. Die INSERT CARD-Anzeigelampe kommt und die Aufzeichnung läuft Durchgang nach Durchgang,
Karte nach Karte weiter, bis alle Register aufgezeichnet sind, zu welchem Zeitpunkt die Magnetkarteneinrichtung
209852/1005
AX2
Die Befehlsfolge FMT und GO TO wird dazu verwendet, um ein automatisches, programmgesteuertes Laden der magnetischen Programmkarten zu bewerkstelligen. Die Wirkung dieser Befehlsfolge PMT GO TO ist die gleiche wie die- · jenige der Befehlsfolge: GO TO, 0, LOAD, GO TO, 0 und CONTINUE. Sie kann dazu verwendet werden, ein Programm von dem Tastenfeld her zu laden, wobei die Ausführung automatisch eingeleitet wird, oder sie kann in einem Programm zur Verknüpfung von Programmteilen dienen. Wenn die Magnetkarteneinheit keine Magnetkarte aufweist, leuchtet die Anzeigelampe INSERT CARD (Karte einführen) auf und zeigt damit der Bedienungsperson an, daß eine Magnetkarte eingeführt werden sollte. Das Unterprogramm LOAD arbeitet genau so, wie weiter oben im Zusammenhang mit der Taste LOAD beschrieben. Sie wird durch einen Programmschritt END auf der Magnetkarte beendet.
Die Befefilsfolge FMI u±id χ ^ bewirkt, daß dar Inhalt der zur Verfügung stehenden numerisch adressierten Datenregister in dem Datenspeicherteil des Speichers RWM auf einer Magnetkarte aufgezeichnet wird. Die Anzeigelampe INSERT CARD leuchtet auf und die Aufzeichnung schreitet Durchlauf für Durchlauf und Karte für Karte solange fort, bis der Inhalt aller Register aufgezeichnet worden ist. Zu diesem Zeitpunkt stoppt die Magnetkarteneinheit und die Anzeigelampe INSERT CARD verlöscht. Wenn die Befehlsfolge FMT und Xr* aus einem gespeicherten Programm ausgeführt worden ist, kehrt das Programm zu dem Tastenkode zur Ausführung zurück, welcher unmittelbar auf den Befehl x-*> folgt. Die Aufzeich-
209852/1005
nung kann nach jeder beliebigen Karte dadurch beendet werden» daß die Taste STOP gedrückt wird, wenn die Befehlsfolge FMT und x--a> aus einem gespeicherten Programm kam.Die Ausführung dieser Befehlsfoige kann durch Drücken der Taste COIfTINas jederzeit wieder aufgenommen werden.
Die Befehlsfolge FiIT und x-«r- bewirkt* daß die zur Verfugung stehenden numerisch adressierten Datenregister in dem Datenspeicherteil des Speichers RWIf aus einer oder aus mehreren Magnetischen Datenkarten geladen wird. Diese Register werden Karte für Karte geladenr bis alle Register gefüllt sind. Die Anzeigelampe INSERT CARD bleibt dabei erleuchtetr «ad die Hagnetkarteneinheit läuft solange weiterp bis alle Register geladen sind. Der Ladevorgang kann durch eine Taste STOP beendet werden. Falls die Befehlsfolge FMT und x-*- aus ein«» gespeicherten Programm ausgeführt wird, wird die Ausführung wieder aufgenoamen, nachdem eine Beladung sit EM Lan beendet worden ist.
Die Tfeste (Daracken/Zwischenraum) bewirkt, daß der In-
des x-aegisters in der gleichen Anordnung ausgedruckt wird, wie er. in de« Sichtgerat dargestellt wird (d.h. als C) , η oder als FKiQAT) « Wenn weiter© Befehle §f|§§ un-
iolgsen;» wird hierdurch der Drucker veranlaßt r einen dstrchzufuhren, d.h. eine 2>eerzeile einzu-
füge». Nenn der Befehl -östtsI unmittelbar einer nuraprir-Λκη Kingabe in das x-Begister folgt (aus dem Tastenfeld oder aus einer Folge von 2iff ernverten eines Pragraiaroes] , wird der
nasaerische Wert von einem Sterncfiteai gefalgpfc^ wa-
209852/1005
222B742
durch angezeigt wird, daß dieser numerische Wert ein eingegebener Wert war und kein errechnetes Ergebnis.
Die Taste PAPER (Papier) kann gedrückt werden, um den von dem Ausgabedrucker verwendeten Streifen wärmeempfindlichen Papiers zu transportieren. Das Papier wird dabei solange transportiert, bis diese Taste wieder freigegeben wird.
Programmprüf- und -ediertasten (§£§§,
Die Taste STEP PRGM (Programm schrittweise durchtasten) ist nicht programmierbar und wird nur vom Tastenfeld aus verwendet, um Programme schrittweise durchzutasten. Wenn .sich der Rechner in dem Modus Handbetrieb befindet, steuert die Taste STEP PHGM schrittweise die Ausführung des Programms. Jedesmal, wenn die Taste STEP PRGM betätigt wird, wird der Inhalt des Programmzählers um eins erhöht, so daß ein Programmschritt ausgeführt wird. Wenn sich der Rechner in dem Modus Programm befindet, ermöglicht es die Taste STEP PRGM, daß die in dem Programmspeicherteil des Speichers RWM abgespeicherten Programmschritte betrachtet werden können. Jedesmal wenn die Taste STEP PRGM betätigt wird, wird der Inhalt des Programmzählers um eins erhöht, so daß die Adresse und der Programmschrxtt, welche in dem Sichtgerät als in dem y-Register befindlich dargestellt werden, in das z-Register und die in dem x-Register befindlichen in das y-Register verschoben werden und die nächst höhere Adresse und der nächste Programmschritt in dein x-Register erscheinen.
208852/100
Die Taste BACK STEP (rückwärtsschreiten) ist ebenfalls nicht programmierbar und zum Erniedrigen des Inhaltes des Programmzählers jeweils um eins zu verwenden. Hierdurch wird die Anzeige in dem Sichtgerät in Rückwärtsrichtung vorgenommen. Die Taste BACK STEP wirkt also gerade entgegengesetzt wie die Taste STEP PRGM. Sie sollte nur in dem Modus Programm verwendet werden. Wenn die Tasten STEP PRGM und BACK STEP abwechselnd betätigt werden, wird der gleiche Programmschritt wiederholt ausgeführt. Diese Taste ist beim prüfen, edieren und ausfeilen von Programmen außerordentlich wertvoll und ermöglicht es zusammen mit der Taste STEP PRGM der Bedienungsperson, entweder in Vorwärtsrichtung oder in Rückwärtsrichtung Schritt für Schritt durch ein gespeichertes Programm fortzuschreiten.
Belegbare und wieder belegbare Tasten
Die Halbtasten A-O stellen eine Gruppe belegbarer Tasten 91 dar, welche es gestatten, äen Rechner an die Speziellen Erfordernisse eines Anwenders anzupassen. Die Arbeitsweise dieser Tasten wird durch die verschiedenen steckbaren ROM-(Auslösespeicher-) Moduln 92 bestimmt- die mit dem Rechner verwendet werden können. Ohne di-ase SOM-Moduln sind diese belegbaren Tasten 91 wirkungslos und eine versehentliche Betätigung dieser Tasten oder ihr unbeabsichtigtes Aufrufen bei der Ausführung eines gespeicherten Programmes bewirken lediglich einen nicht löschenden Ärbeitsschritt ohne jegliche Ausführung einer Operation.
209852/1005
Die steckbaren ROM-Moduln 92 umfassen das oben erwähnte ROM-Modul für die Alphabetschreibung sowie je ein ROM-Modul für belegbare Funktionen, für mathematische Funktionen, für statistische Zwecke und für eine Schreibmaschine. Die ROM-Moduln für die Alphabetschreibung und für die Schreibmaschine belegen neben den belegbaren Tasten 91 selbst nahezu alle Tasten des Tastenfeldes neu. Die ROM-Moduln für die belegbaren Funktionen, für die mathematischen Funktionen und für die statistischen Zwecke belegen eindeutig lediglich die belegbaren Tasten. Sie können jeweils gleichzeitig mit den ROM-Moduln für die Alphabetschreibung und für die Schreibmaschine verwendet werden.
Jedem der ROM-Moduln für die belegbaren Funktionen, für die mathematischen Funktionen und für die statistischen Zwecke ist eine Schablone 192 zugeordnet, die mit den belegbaren Tasten 91 verwendet wird, um die durch diese auslösbaren Funktionen zu bezeichnen, wenn das zugehörige ROM-Mudul in den Rechner eingesteckt worden ist. Jede dieser Schablonen 192 besteht aus einer dünnen Metallplatte, die über die belegbaren Tasten 91 paßt und in eine Vertiefung um diese Tasten herum einrastet. Die Metallplatten sind so bedruckt, daß sie die Tasten visuell abschließen und deren Funktion angeben. Gerade unterhalb eines Beschriftungsfeldes ist eine kleine Lasche 194 angeordnet, mit der die Metallplatte so weit aus ihrer Verrastung gelöst werden kann, daß sie etwas aus dieser herausspringt und mit den Fingern ergriffen werden kann. Entlang der oberen Kante jeder Metallplatte sind
209852/100S
drei öffnungen 196 angebracht/ welche eine unmittelbare Betrachtung von drei Anzeigelampen in Form von Leuchtdioden ermöglichen, die zur Anzeige verschiedener Betriebszustände dienen, welche mit dem von dem jeweiligen ROM-Modul ge-· steuerten Unterprogramm zusammenhängen. Wenn ein ROM-Modul und seine zugehörige Schablone nicht in Benutzung sind, können sie durch zwei Zungen 198 an dem ROM-Modul zusammengehalten werden.
Im folgenden werden die zusätzlichen Tastenfunktionen beschrieben, welche von den steckbaren ROM-Moduln ermöglicht werden.
ROM-Modul für die Alphabetschreibung
Das ROM-Modul für die Alphabetschreibung belegt die Tastenfeld-Eingabeeinheit in einer Weise neu, die durch die oben auf den belegbaren Tasten 91 angebrachten Buchstaben und durch die Form auf den meisten anderen Tasten angebrachten Buchstaben und Symbole angegeben ist. Dieses ROM-Modul liefert ein alphabetisches Tastenfeld gemäß Fig. 8, das 54 Zeichentasten, 5 Funktionstasten und 16 "nebensächliche" Tasten besitzt, wobei diese nebensächlichen Tasten entweder ohne Wirkung sind oder im Modus "Alphabetschreibung" andere Tasten duplizieren. Während des Modus "Alphabetschreibung" ist die Tastenprotokollierung nicht in Betrieb, so daß betätigte Tasten nicht protokolliert werden.
Die 54 Zeichentasten umfassen alle Buchstaben A-Z des Alphabets, alle Dezimalziffern 0-9 und die folgenden Symbole:
209852/1005
^J), λ/ , / (bei Betätigung der Divisionstaste), χ, ~„ + , IT, "*i ,,·/=,£/?,(,),%/ "# und fts Eine Betätigung einer dieser Tasten während des Modus"Alphabetschreibung" bewirkt, daß das auf ihr angedeutete alphanumerische Zeichen oder Symbol nach Art eines Zeilendruckers ausgedruckt wird. Die Druckereinheit arbeitet insofern als Zeilendrucker, als nicht jedes Zeichen sofort ausgedruckt wird, sondern zunächst eine ganze Zeile von 16 Zeichen gespeichert und dann erst ausgedruckt wird. Der Druck erfolgt dabei, wenn das 16. Zeichen eingegeben wird.
Die 5 Funktionstasten umfassen diejenigen für PMT (Format), STOP (Halt), SPACE (Zwischenraum) - oder normalerweise CONTINUE (fortsetzen) -, ^HHn (Löschen/Rücklauf) - oder normalerweise CLEAR (Löschen) und PAPER (Papier).
Während des Modus "Alphabetschreibung" können die folgenden Funktionstasten betätigt werden, um verschiedene Druckvorgänge auszulösen. Eine zweimalige Betätigung der Taste FMT belegt das Tastenfeld für den Modus "Alphabetschreibung", so daß gewünschte Zeichentasten angeschlagen werden können. Nach Eingabe des letzten Zeichens bewirkt eine Betätigung der Taste FMT das Drucken einer Zeile, einen Zeilenvorschub und die Rückkehr des Tastenfeldes zu seiner normalen Betriebsweise. (Das Sichtgerät ist während des Modus "Alphabetschreibung" außer Betrieb, obwohl der Inhalt der x-, y-, z-Register unverändert bleibt.) Beispielsweise kann dadurch das Alpha); 3t ausgedruckt werden, das nacheinander die Tasten RUN, STOP, FMT, FMT, A ....Z und FMT gedrückt werden.
209852/1 005
-Ml-
Durch Betätigen der Taste SPACE wird ähnlich wie bei der Betätigung der Zwischenraumtaste einer Schreibmaschine in die gedruckte Zeile ein Zwischenraum eingefügt.
{TT*AR
Eine Betätigung der Taste bewirkt das Ausdrucken einer Zeile und das Vorrücken des Druckers zu der nächsten Zeile (d.h. ähnlich dem Wagenrücklauf und dem Zeilenvorschub bei der Schreibmaschine) . Der Modus '•Alphabetschreibung" bleibt nach Ausführung dieses Befehles erhalten. Aufeinanderfolgende Befehle CLEAR lassen den Drucker ohne zu drucken bei jedem Befehl um eine Zeile vorrücken.
Eine Betätigung der Taste STOP beendet den Modus "Alphabetschreibung", ohne den Druck einer Zeile oder einen Zeilenvorschub. Etwaige eingegebene, aber noch nicht ausgedruckte Zeichen werden gelöscht, wenn die Taste STOP betätigt wird.■ Dieser Befehl ist nicht programmierbar und sollte beim Programmieren von alphabetischen Mitteilungen nicht benutzt werden.
Die Taste PAPER dient dem manuellen Papiervorschub. Diese Funktion ist nicht programmierbar.
Die 16 "nebensächlichen" Tasten umfassen die Funktionen^,
λ. PR1NT SUB BACK STEP _
' f' SPACE' RETURN' LND' STEP' PRGM' FL0AT' FIX' <>'
RUN, PRGM, KEY LOG, LIST, LOAD und RECORD. Diese Tasten sind beim alphanumerischen Drucken nicht erforderlich. Die "nebensächlichen" Tasten, die im übrigen programmierbar sind, duplizieren die Taste SPACE, während die meisten der nicht programmierbaren Tasten während des alphanumerischen Drucken.s
209852/1005
ausgeschlossen, d.h. ohne Wirkung sind. Eine Betätigung der Tasten BACK STEP oder STEP PRGM bewirkt das Drucken einer 1 bzw. einer 0.
ROM-Modul belegbare Funktionen
Wenn das ROM-Modul für die belegbaren Funktionen in den Rechner eingesteckt worden ist, kann der Anwender die belegbaren Tasten 91 zum Auslösen neu belegter Funktionen verwenden, wie sie durch die zugehörige Schablone gemäß Fig. 8 dargestellt sind. Diese Funktionen umfassen:
a. Belegen spezieller Unterprogramme, die durch ■ eine einzige Taste aufgerufen werden können,
b. Schützen solcher Unterprogramme gegen versehentliche Löschung,
c. Entfernen eines oder mehrerer solcher Unterprogramme, falls erforderlich,
d. Entfernen, Einfügen oder Aufsuchen von Tastencodes in einem beliebigen gespeicherten Programm.
a. Belegen einer Funktion
Eine durch den Anwender belegbare Funktion kann eine beliebige Folge von Programmschritten sein,die mit den Tasten DEFINE (Belege) F(i) beginnt, wobei F(i) eine der Tasten · Fl bis F9 darstellt. Die Ausführung einer solchen Folge von Programmschritten muß durch die Taste F-RET in der gleichen Weise beendet werden, wie durch die Taste SUB/RET im Fall von Unterprogrammen.
209852/1005
Beispiel:
Das folgende ist eine Punktion/ welche die Zahl in die x-, y- und z-Register einführt. PrQgrammschritt Taste
0000 DEFINE
OOÖl Fl
• 0002 "fr*
0003 *
0004 r
0005 F-KET
Die obige Funktion wird durch die Taste Fl belegt. Um sie auszuführen muß lediglich die Taste Fl im Modus RUN gedrückt oder der Befehl Fl an der gewünschten Stelle in ein Programm eingefügt werden.
Beispiel:
Das folgende ist ein Aufruf von Fl durch ein anderes Programm (das Programm hier ist zufälligerweise eine weitere Funktion F2).
Programmschritt Taste
0000 DEFINE
0001 F2
0002 . CLR
0003 Fl
0004 F-RET
Es sei darauf hingewiesen, daß beiden Funktionen Fl und F2 die gleichen Programmschrittnummern zugeteilt worden sind.
209852/1005
433 Γ228742
Es wird dabei angenommen, daß jede Funktionsbelegung mit dem Programmsehritt 0000 beginnt. Alle in einer Funktion vorkommenden Sprungbefehle GO TO werden entsprechend kodiert. Hierdurch kann der Anwender Funktionen belegen und wieder entfernen unabhängig davon, wo sie sich tatsächlich in dem Speicher des Rechners befinden. Die Taste DEFINE dient bei beiden dieser Funktionen dazu, den Anfang einer Funktionsbelegung in dem Speicher des Rechners zu markieren. Diese Taste wirkt als Fehlertaste, wenn sie während des Modus RUN betätigt wird. Die Taste DEFINE wirkt weiterhin als Fehlertaste, wenn der Anwender versucht, den ihr ent*- sprechenden Befehl in einem Programm ausführen zu lassen.
Beispiel; Programmschritt Taste
0000 DEFINE
0001 F3
0002 CLR
0003 DEFINE **
0004 - F2
Der Befehl DEFINE im Programmschritt 0003 wird als Fehler behandelt, wenn er während der Ausführung von F3 auftritt. Der Anwender hat hier vergessen, die Ausführung von F3 mit dem Befehl F-RÖT zu beenden. Dieser Fehler veranlaßt den Rechner die Programmausführung anzuhalten und die Anzeigelampe STATUS (Zustand) anzuschalten.
209852/1005
b. Schutz vom Anwender belegter Funktionen Diese Schutzeinrichtung ermöglicht es dem Anwender, Speicherbereiche als Teil des Ausführungssystemes des Rechners zu bestimmen.
i. Schutz einer einzelnen Funktion
Angenommen, es sei soeben die Belegung der Funktion Fl (wie zuvor erwähnt) in den Speicher eingegeben worden. Nach Betätigung der letzten Taste der Belegung, nämlich von F-RET, zeigt der Programmzähler (y im Sichtgerät) den Programmschritt 0006 an. Die Zelle 0005, welche den Befehl F-RET enthält, wird in dem z-Register angezeigt. Nach Umschaltung in den Modus RUN und Betätigen der Taste PROTECT leuchtet die Lampe oben in der Taste PROTECT auf (option 2). Die Belegung von Fl ist nun einschließlich des Befehles F-RET geschützt. Wenn nun in den Modus PROGRAM zurückgeschaltet wird, wird das, was sich im Programmschritt 0006 befunden hat, nunmehr bei Programmschritt 0000 erscheinen. Alle bei der Belegung von Fl verwendeten Programmsehritte sind sozusagen "unsichtbar" geworden. Diese Programmschritte sind nun wirkungsmäßig ein Teil des Rechnersystems geworden. Die Funktion Fl kann weiterhin ausgeführt, werden, indem die entsprechende Taste im Modus RUN betätigt oder durch ein
209852/1005
anderes gespeichertes Programm oder eine andere Punktion aufgerufen wird.
ii. Schutz mehrerer vom Anwender belegter Funktionen Es sei nun angenommen, daß beide der zuvor besprochenen Funktionen Fl und F2 geschützt werden sollen. Nach dem Schutz von Fl wird dann in den Modus PROGRAM umgeschaltet und die Belegung der Funktion F2 in folgender Weise eingegeben: Programmschritt Taste
0000 DEFINE
0001 F2
0002 CLR
0003 Fl
0004 F-RET
Nach Eingabe der Belegung von F2 wird in den Modus RUN geschaltet und die Taste DELETE PROTECT (Schutz beseitigen) betätigt. Die Anzeigelampe für den Schu.tz (option 2) erlöscht daraufhin. Wenn nunmehr die Taste PROTECT betätigt wird, sind beide Belegungen der Funktionen Fl und F2 geschützt,
iii. Wirkung des Schutzes auf den Anwenderspeicher Wenn eine bestimmte Anzahl von Tastenanschlägen geschützt werden, zieht der Rechner dieser Anzahl von der Gesamtzahl der in dem Anwenderspeicher zur Verfügung stehenden Programmschritte a-b. Der Anwender kann die Anzahl der zu irgend einem Zeitpunkt zur Verfügung stehenden Programmschritte
209852/1005
ΛΗΛ
wie folgt berechnen. Er muß im Modus RUN die Tasten END, DELETE, PROTECT betätigen, in den Modus PROGRAM umschalten und die Programmschrittnuinmer im y-Register des Sichtgerätes ablesen. Diese Nummer sei p. Die Anzahl der dem Anwender zur Verfügung stehenden Programmschritte ergibt sich dann als η - ρ, wobei der Wert η abhängig von der Größe des verwendeten Anwenderspeichers entweder 500, 1012 oder 2Ο36 beträgt. Nach Ermittlung des Wertes ρ in der beschriebenen Weise kann wieder in den Modus RUN umgeschaltet und sodann die Taste PROTECT betätigt werden, um den Schutz wieder herzustellen.
c. Beseitigung vom Anwender belegter Funktionen
Um eine gegebene Funktion wieder zu beseitigen braucht lediglich die Taste DELETE (beseitigen) zusammen mit der Bezeichnung der zu beseitigenden Funktion betätigt zu werden. Die Taste DELETE wirkt jedoch nur in nicht geschützten Bereichen des Anwenderspeichers. Hierdurch wird die versehentliche Löschung noch interessierender Funktionen verhindert. Eine Betätigung der Taste DELETE läßt die Anzeigelampe für das Einfügen und Beseitigen (option I) aufleuchten, wodurch angezeigt wird, daß gerade eine Speichermodifizierung durchgeführt wird. Wenn nach Betätigung der Taste DELETE festgestellt wird, daß gar keine Beseitigung durchgeführt werden soll, kann die Taste CLEAR (Löschen) betätigt werden, um die Wirkung der zuvor betätigten Taste wieder aufzuheben. Durch
209852/1005
AHSL
Drücken der Taste CLEAR wird weiterhin die Anzeigelampe für das Einfügen und Beseitigen gelöscht. Falls eine zu beseitigende Funktion garnicht vorhanden ist, leuchtet die Fehlerlampe auf und die Anweisung "Beseitigung" wird unwirksam. Die Taste DELETE muß betätigt werden, wenn der Rechner im Modus RUN ist. Der Anweisung DELETE kann die Bezeichnung einer Funktion (Fl bis F9), die Anweisung CLEAR oder eine Ziffer folgen. Andere der Anweisung DELETE folgende Anweisungen lassen die Fehlerlampe aufleuchten und die Anweisung "beseitigen" unwirksam werden. Wenn bei der Ausführung eines gespeicherten Programmes der Befehl DELETE auftritt, unterbricht der Rechner die Ausführung des Programmes und schaltet die Fehlerlampe ein.
Beseitigung der letzten Funktion im Speicher
Die Operation "beseitigen" ist dafür gedacht, aus dem Anwenderspeicher einen Teil zu entfernen, der mit dem Befehl DEFINE der zu beseitigenden Funktion beginnt und mit der Anweisung vor dem Befehl DEFINE der nächsten Funktion im Speicher endet, nämlich dem Befehl END. Zur Erläuterung diene die folgende Speicherübersicht.
Programmschritt Taste
0000 0001 0002 0003 0004
209852/ 1005
(Fortsetzung der Speicherübersicht)
0005 F2
0006 EEX
0007 1
0008 ■ -
0009 IF X=Y
0010 F-RET
0011 CONT
0012 CONT
0013 CONT
0014 GO TO
0015 4
0016 ■ END
0017 ...
Bei Betätigung der Taste DELETE Fl beseitigt der Rechner
den Teil des Speichers, der durch die beiden Pfeile in der obigen Speicherübersicht begrenzt wird. Nach dieser Beseitigung gelangt der Befehl DEFINE beim Programmsehritt 0004 zum Programmschritt 0000. Die folgenden Anweisungen rücken dann entsprechend nach. Da es unwahrscheinlich ist, daß die letzte Funktion in einem Anwenderspeicher von einem weiteren Befehl DEFINE gefolgt wird, ist es ratsam, diese Funktion mit der Anweisung END zu beenden, wie in der Speicherübersicht beim Programmschritt 0016 gezeigt worden ist. Wenn die letzte Funktion in dem Speicher nicht durch den Befehl END beendet ist, dann wird der Anwender bei der Beseitigung dieser Funktion
209852/1005
AHH
auch den Teil des Speichers beseitigen, der dieser Funktion folgt und seinerseits mit dem Befehl END beendet ist. Bei Beseitigung der letzten Funktion im Speicher wird durch die Operation "beseitigen" jedoch nicht der Befehl END beseitigt. Auf diese Weise wird eine Beseitigung von F2 aus der zuvor gezeigten Speicherübersicht die folgende Speicherübersicht ergeben.
Programmschritt Taste
0000 DEFINE
0001 Fl • 0002 CLR
0003 F-RET
0004 END
Der Befehl END bildet nun den Abschluß der Definition von. Fl.
d. Allegemeine Edierfähigkeiten
Zusätzlich zu der eben beschriebenen Beseitigungsfunktion kann der Anwender des Blocks mit belegbaren Funktionen über die Fähigkeit des Rechners verfügen, einzelne Werte im Speicher zu beseitigen, einzufügen und aufzusuchen, i. Beseitigung einzelner Werte Wenn die Anweisung DELETE von einer vierstelligen Adresse gefolgt wird (über die Adressenlänge" wird in dem nächsten Absatz über die automatische Adressenbeendigung näheres ausgeführt), beseitigt' der Rechner den an dieser Adresse gespeicherten Wert und läßt alle folgenden Werte entsprechend aufrücken.
209852/1005
Beispiel:
Programms ehritt " Taste
0000 CLR
0001 GO TO
0002 O <«* —
0003 5
0004 END
0005 1
0006 ...
Zur Beseitigung des Wertes beim Programmschritt 00Q2 wird im Modus RUN die Taste DELETE betätigt (wodurch die Anzeigelampe für das Einfügen und Beseitigen aufleuchtet) und sodann die Adresse 0 0 0 2. eingegeben. Hierdurch ergibt sich die folgende Speicherübersicht: Programmschritt Taste
0000 CLR
0001 GO TO
0002 5
0003 · END
0004 1 0005
0006
Wie ersichtlich, ist der Wert, der ursprünglich bei 0003 gewesen ist, nunmehr bei Programmschritt 0002. Alle dem beseitigten Wert folgenden Werte sind bis zum letzten Wert des Speichers entsprechend aufgerückt.
209852/1005
22287A2
Automatische Adressenbeendigung und Unwirksammachung einer Beseitigungs-Anweisung
In dem vorstehenden Beispiel ist eine vierstellige Adresse benutzt worden, um den zu beseitigenden Wert näher zu bezeichnen. Der Anwender kann jedoch auch eine 3-, 2- oder einstellige Adresse verwenden, wenn diese Adresse durch einen nicht numerischen Wert (abgesehen von dem Befehl CLEAR) beendet wird. So sind die folgenden Beseitigungsbefehle dem in dem letzten Beispiel verwendeten gleichwertig:
DELETE 2 STOP DELETE 02 STOP DELETE 002 STOP
Ein Beseitigungsbefehl kann vor seiner Ausführung durch Betätigen der Taste CLEAR unwirksam gemacht werden. Dabei verlöscht die Anzeigelampe für das Einfügen und Beseitigen (option 1) und der Beseitigungsbefehl wird gestrichen. Die Taste CLEAR kann dabei unmittelbar nach Betätigen der Taste DELETE oder während der Eingabe der Adressziffern gedrückt werden. Die vierte Stelle einer Adresse beendet diese in jedem Fall. Diese Stelle zeigt dem Rechner an, daß nunmehr die Beseitigungsoperation durchgeführt werden soll. Eine Betätigung der Taste CLEAR nach der vierten Stelle einer Adresse hat keinen Einfluß auf eine Beseitigungsoperation. Nach der Durchführung einer Beseitigungsoperation wird die Anzeigelampe für das Einfügen und Beseitigen abgeschaltet. Falls die Adresse des zu beseitigenden Wertes größer als 2035 ist, leuchtet die Statuslampe auf und es wird keine Beseitigungsoperation durchgeführt. Die Zahl 2035 stellt nämlich die
209852/1005
größte Anzahl der in dem Rechner zur Verfügung stehenden Programmschritte dar.
ii. Einfügung einzelner Werte
Der Block mit belegbaren Funktionen bietet dem Anwender weiterhin die Möglichkeit, bei jedem beliebigen Programmschritt einzelne Werte einzufügen.
Beispiel;
Programmschritt Taste
0000 CLR
0001 GO TO
m
0002 9
0003 END
0004 ...
Zur Einfügung eines Wertes vor dem Programmschritt 0002 wird in dem Modus RUN die Taste INSERT betätigt (wodurch die Anzeigelampe für das Einfügen und Beseitigen aufleuchtet) und die Adresse 0 0 0 2 eingegeben. Sodann wird auf den Modus PROGRAM umgeschaltet. Das Sichtgerät zeigt im y-Register den Programmschritt 0002. An dieser Stelle ist nun der Befehl CONTINUE (Code 47} eingefügt worden. Der urprünglich bei 0002 befindliche Wert ist nun in den Programmschritt 0003 gerückt und alle folgenden Werte sind entsprechend nachgerückt. Um nun einen neuen
209852/1005
Wert bei 0002 einzufügen, braucht nur die entsprechende Taste gedrückt zu werden, solange der Rechner noch in dem Modus PROGRAM ist. Dieser eingegebene Wert ersetzt dann den zuvor durch den Rechner eingegebenen Befehl CONTINUE. Vor dem Ersetzen des Befehls CONTINUE beim Programmschritt 0002 sieht die neue Speicherübersxcht wie folgt aus:
Programmschritt Taste
0000 CLR
0001 GO TO
0002 CONT
0003 9
0004 END 0005
Die Adresse in einem INSERT-Befehl kann in der gleichen Weise automatisch beendet werden, wie zuvor im Zusammenhang mit dem Befehl DELETE beschrieben worden ist. Auch kann die Einfügungs-Operation in der gleichen Weise unwirksam gemacht werden. Wie ersichtlich, beeinflußt eine Einfügungs-Operation den Speicherinhalt an allen Programmschritten, welcher auf den in dieser Operation angegebenen Schrittfolgen.
iii. Aufsuchen eines gegebenen Wertes im Speicher Die Möglichkeit, einen vorgegebenen Wert im Speicher aufzusuchen, wird durch die Taste FIND 209852/1005
(suchen)gegeben. Durch Betätigen dieser Taste im Modus RUN und danach einer beliebigen anderen Taste des Tastenfeldes gibt der Anwender dem Rechner die Anweisung, im Speicher nach diesem Wert zu suchen, wobei von dem augenblicklichen Programmzählerwert ausgegangen wird. Falls der gesuchte Wert nicht aufgefunden wird, leuchtet das Statuslicht auf. Wenn der gesuchte Wert jedoch gefunden wird, schaltet der Rechner automatisch in den Modus PROGRAM um und das z-Register enthält den Programmschritt, an welchem der gesuchte Wert gefunden worden ist. Beispielt
Es soll ein eine Funktion belegender Bereich des Speichers geschützt werden. Dieser Bereich ist durch den Befehl END abgeschlossen. Hierzu wird der Programmzähler durch Betätigen der Tasten GO TQ, O oder END im Modus RUN auf 0000 zurückgesetzt. Nunmehr werden die Tasten FIND und END betätigt, woraufhin das z-Register nunmehr den den Funktionsbereich abschließenden Befehl END enthält. Wenn jetzt die Taste RUN PROTECT gedruckt wird, ist dieser Funktionsbereich einschließlich des abschließenden Befehls END geschützt.
Programmierhinweise
Die belegbaren Funktionen können 5 Stufen weit ineinander verschachtelt werden, und zwar unabhängig von der Verschachtelung
209852/1005
450
der normalen Unterprogramme. Eine höhere Verschachtelung veranlaßt den Rechner die Programmausführung zu unterbrechen und die Statuslampe einzuschalten.
Die Anzeigelampe oben auf der Taste F-RET (option 3) zeigt durch ihr Aufleuchten an, daß der Anwender eine Folge von Werten im Rahmen einer Funktionsbelegung eingibt. Durch Betätigung der Taste STOP während des Aufleuchtens dieser Lampe kann der Rechner mitten in einer solchen Funktion angehalten werden. Zum Wiedereinleiten der Programmausführung müssen dann die Tasten DELETE und F-RET im Modus RUN gedrückt werden. Die Lampe F-RET verlischt sodann und der Programmzähler ist auf den Wert eingestellt, den er hatte, als der Funktionsbereich des Speichers aufgerufen wurde.
Das Aufrufen einer nicht vorhandenen Funktion aus einem gespeicherten Programm veranlaßt den Rechner, die Programmausführung zu unterbrechen und die Statuslampe einzuschalten. Zu diesem Zeitpunkt zeigt der Programnrcrähler den Programmschritt an, welcher die Bezeichnung der aufgerufenen Funktion enthält.
ROM-Modul für mathematische Funktionen
Wenn das ROM-Modul für mathematische Funktionen in die linke Fassung 94 des Rechners eingesteckt wird, kann der Anwender die belegbaren Tasten 91 zur Durchführung weiterer Funktionen verwenden, die auf der in Fig. 9 dargestellten Mathematik-Schablone angedeutet sind. All diese zusätzlichen Funktionen
209852/ 1005
sind programmierbar. Jede von der Tastenfeldeinheit oder von einem gespeicherten Programm aufgerufene mathematisch unzulässige Funktion läßt die Statuslampe aufleuchten.
Die bei Problemen, welche die Verwendung von trigonometrischen Funktionen oder von Vektor-Arithmetik erfordern, zu benutzenden Einheiten werden nach dem in der folgenden Tabelle A zusammengestellten Verfahren ausgewählt. Dabei werden die Einheiten durch entsprechende Anzeigelampen . oberhalb des Blockes der belegbaren Tasten bestimmt.
Tabelle A Einheitenbestimmung
Einheit TABLE Tasten 1 Anzeige ο
Grad TABLE N 2 ο ο Ό
Bogenmaß TABLE N 3 ο
Deg
3r
Neugrad N ο
Rad (
Die Einstellung auf Grad, Bogenmaß und Neugrad (360 Grad = 400 Neugrad) ist dabei programmierbar.
Trigonometrische Funktionen von Winkeln zwischen 0° bis 5760 können mit voller Genauigkeit berechnet werden, die Umkehrfunktionen der trigonometrischen Funktionen werden jedoch nur für deren Hauptwerte berechnet:
θ = sin"1 x; -90° < θ <. + 90°
θ = cos"1 χ; 0° < θ <+ 180°
θ = tan""1 χ; -90° < θ < + 90°
Zum Beispiel: cos 150° s cos 210° = cos 510° = ... = - 0,866, aber: cos" 0,866 = 150°.
209852/1005
ASl
Bei Betätigung der Taste "sinus χ" wird der Sinus des Inhalts des x-Registers berechnet und das Ergebnis in das x-Register eingeführt.
Bei Betätigung der Taste "cosinus x" wird der Cosinus des Inhalts des x-Registers berechnet und das Resultat in das x-Register eingeführt.
Bei Betätigung der Taste "tangens x" wird der Tangens des Inhalts des x-Registers berechnet und das Resultat in das x-Register eingeführt.
Bei Betätigung der Taste "arc" und anschließendem Drücken einer trigonometrischen Taste wird die Umkehrfunktion dieser trigonometrischen Funktion von dem Inhalt des
x-Registers berechnet und das Ergebnis in das x-Register eingeführt.
Beispielsweise kann sin 0,5 dadurch berechnet werden, daß nacheinander die Tasten TABLE N, 1, ., 5, arc und sin χ betätigt werden. Das Drücken der Tasten TABLE N und 1 wählt dabei gemäß Tabelle A die Einheit "Grad" aus.
Die folgenden logarithmischen und Exponentialfunktionen können jeweils durch Drücken von ein oder zwei Tasten ausgeführt werden.
Zur Berechnung des Zehner-Logarithmus des Inhalts des x-Registers und zur Anzeige des Ergebnisses in diesem Register werden nacheinander die Tasten TABLE N und 4 in der angegebenen Reihenfolge gedrückt.
209852/1005
Zur Erhebung der Zahl 10 in die durch den Inhalt des x-Registers angegebene Potenz und zur Anzeige des Ergebnisses in diesem Register (d.h. also zur Bildung von 10 ) werden nacheinander die Tasten TABLE N und 5 in der angegebenen Reihenfolge betätigt. Die Zahl o,69897 kann zum Beispiel dadurch in die durch den Inhalt des x-Registers angegebene Potenz erhoben werden, daß nacheinander die Tasten ., 6, 9, 8, 9, 7, TABLE N, und 5 gedrückt werden.
Zur Bildung des natürlichen Logarithmus des Inhalts des x-Registers und zur Anzeige des Resultats in dem Register (d.h. zur Bildung von In x) wird die Taste "In x""gedrückt. Zum Beispiel kann V23 dadurch berechnet werden, daß nacheinander die Tasten 2, 3, In x, f, 5, -f, I, und ex betätigt werden.
Zur Erhebung der Zahl e = 2,718,..' in die durch den Inhalt des x-Registers angegebene Potenz und zur Anzeige des Resultats in dem x-Register,(d.h. zur Bildung von e ) wird, die Taste ex gedrückt.
Zur Erhebung des Inhaltes des x-Registers in die durch den Inhalt des y-Registers angegebene Potenz wird die Taste x· gedrückt. Das Ergebnis wird in dem x-Register angezeigt, der Inhalt des y-Registers bleibt unverändert.
Die folgenden Tasten bieten die Möglichkeit, durch Betätigen einer einzigen Taste Rechnungen mit komplexen Zahlen und Vektor-Arithmetik durchzuführen.
2098 5.2/1005
, R = Vx +y) wird die
Zur Umwandlung rechtwinkliger Koordinaten (wobei sich die x- und y-Komponenten in den x- und y-Registern befinden) in Polar-Koordinaten (Θ = tan
Taste TO POLAR betätigt. Hierbei liegt der berechnete Winkel θ in dem Bereich -180°< θ <18O°. Das Sichtgerät liefert folgende Anzeige:
Augenblickswert ζ
Akkumulator y (Winkel Θ)
Tastenfeld χ (Radius R)
Beispielsweise können die Koordinaten (4, 3) = (x, y) dadurch in Polarform umgewandelt werden, daß nacheinander die Tasten TABLE N, 1 (hierdurch wird die Einheit als Grad ausgewählt), 3,Φ, 4 und TO POLAR betätigt werden.
Zur Umwandlung von Polarkoordinaten (wenn sich der Radius R im x-Register und der Winkel θ im y-Register befindet) in rechtwinklige Koordinaten (y = R sin θ, χ = R cos Θ) wird die Taste TO RECTANGULAR betätigt. Im Sichtgerät ist dann folgende Anzeige vorhanden:
Augenblickswert ζ
Akkumulator y (y-Komponente)
Tastenfeld χ (x-Komponente)
Beispielsweise können die Polar-Koordinaten R = 8, θ = (oder -240 ) dadurch in das Rechtwinkelmaß umgewandelt werden, daß nacheinander die Tasten TABLE N, 1, 1, 2, 0,-^, und TO RECTANGULAR betätigt werden. Die Anzeige ist dann:
209852/ 1 005
2226742
Augenblickswert ζ
Akkumulator y 6,928
Tastenfeld χ -4fOOO
Die Tasten ACCUMULATE +, ACCUMULATE - und RECALL dienen zum Abspeichern und Auslösen und sind den a- und b-Datenspeicherregistern zugeordnet. Diese Tasten bieten die Möglichkeit für Vektor-Additionen und -Subtraktionen.
Bei Betätigung der Taste ACCUMULATE + wird gleichzeitig der Inhalt der x- und a-Register einerseits und derjenige der y- und b-Register andererseits zusammengezählt. Die Summen werden in das a- bzw. b-Register eingeführt, während der Inhalt der x- und y-Register unverändert bleibt.
Bei Betätigung der Taste ACCUMULATE - wird gleichzeitig der Inhalt des x-Registers von dem Inhalt des a-Registers einerseits und der Inhalt des y-Registers von dem Inhalt des b-Registers andererseits abgezogen. Die Differenzen werden jeweils in das a- bzw. b-Register eingeführt, während der Inhalt der x- und y-Register unverändert bleibt.
Die Taste TABLE N ermöglicht den Zugang zu 10 ROM-Funktionen mehr als belegbare Tasten vorhanden sind. In der Tabelle B wird eine Liste dieser Funktionen angegeben. Nach der Taste TABLE N kann jede beliebige andere Taste betätigt werden. Wenn diese Taste jedoch weder eine numerische Taste oder die Taste FMT ist, wird keine Operation durchgeführt.
209852/1005
Tabelle B
TABLE N
1 2 3 4 6 7 δ 9 FMT
für trigonometrische Funktionen
Funktion
Einheit Grad
Einheit Bogenmaß
Einheit Neugrad
log10x
Grad, Min, Sek-9» dezimale Grad
dezimale Grad -♦■ Grad, Min, Sek
x!
abrunden
automatischer Maßstab für Kurvenschreibe'r
Die ersten fünf Funktionen der Taste TABLE N sind im vorstehenden bereits erläutert worden. Diese Taste kann jedoch auch zum Durchführen der noch nicht genannten nächsten fünf Funktionen verwendet werden, nämlich zur Winkelumwandlung , zur Berechnung von Fakultäten, zum Abrunden einer Zahl bezüglich einer vorgegebenen Zehnerpotenz und zur Maßstabsbestimmung für einen Kurvenschreiber.
209852/ 1005
Zur Umwandlung eines in Grad, Minuten und Sekunden ausgedrückten Winkels in Dezimalteile eines Grades werden die Tasten TABLE N und 6 in dieser Reihenfolge betätigt. Der Winkel muß in der folgenden Weise in den Rechner eingegeben werden:
Sichtgerät
Augenblickswert ζ —- (Grade)
Akkumulator y (Minuten)
Tastenfeld χ (Sekunden)
Das Ergebnis in Dezimalteilen eines Grades erscheint im x-Register die y- und z-Register werden gelöscht.
Augenblickswert ζ —— 0
Akkumulator y 0
Tastenfeld χ Grad (Dezimalteile)
Zur umwandlung eines in Dezimalteilen eines Grades ausgedrückten Winkels in Grade, Minuten und Sekunden werden nacheinander die Tasten TABLE N und 7 in dieser Reihenfolge gedrückt. Der umzuwandelnde Winkel muß in das x-Register eingegeben werden, das Ergebnis erscheint wie zuvor besehrieben im Sichtgerät. Bei dem Befehl TABLE N, 7 braucht der Inhalt der y- und z-Register jedoch nicht Null zu sein.
Zum Ersetzen des Inhalts des x-Registers durch X! (wobei 0 <^ χ ^ 69) werden nacheinander die Tasten TABLE N und 8 gedrückt.
Zum Abrunden des Inhalts des y-Registers hinsichtlich der durch den ganzzeiligen Teil des Inhalts des x-Registers gege-
20 9 852/1005
benen Zehnerpotenz werden die Tasten TABLE N und 9 in dieser Reihenfolge betätigt. Die abgerundete Zahl erscheint im x-Reglster und das y-Register bleibt unverändert. Beispiels-
weise kann die Zahl 5610,0 auf 10 , d.h. auf den nächsten
Hunderter dadurch abgerundet werden, daß nacheinander die Tasten 5# 6, 1, 0, und f, 2, TABLE N und 9 gedrückt werden.
Sichtgerät:
Akkumulator γ 5610.000
Tastenfeld χ 5600.000 (y abgerundet)
In ähnlicher Weise kann der Inhalt des y-Registers bezüglich
einer anderen Zehnerpotenz, beispielsweise bezüglich 10 abgerundet werden, indem die Tasten 4, TABLE N und 9 betätigt werden:
Sichtgerät:
Akkumulator y 5610.000 Tastenfeld χ 10000.000 (y abgerundet)
Ein Bruch kann durch Einführen einer negativen Zahl in das
x-Register abgerundet werden. Zum Beispiel kann die Zahl
—2
0,005 dadurch auf 10 , d.h. auf 1/100 abgerundet werden, daß nacheinander die Tasten ., 0, 0, 5, Φ, CHG SIGN, 2, TABLE N und 9 betätigt werden (der Befehl CHG SIGN bewirkt dabei den "Zeichenwechsel").
Sichtgerät:
Akkumulator y 0.005 Tastenfeld χ . 0.010 (y abgerundet)
209852/1005
Ein beim Aufstellen eines Rechner-Kurvenschreiber-Programmes für gewöhnlich auftretendes Problem besteht darin, den Maßstab der zur Verfügung stehenden Veränderlichen der Aufgabe an die Koordinaten anzupassen, welche der Kurvenschreiber
verwenden kann. Das im folgenden beschriebene Merkmal der
Maßstabsbestimmung für den Kurvenschreiber vereinfacht dieses typische Kurvenschreiberproblem erheblich. Um in die x- und y-Register eingegebene Veränderliche eines Kurvenschreiberproblems durch maßstabsgerechte Koordinaten zu ersetzen, werden nacheinander die Tasten TABLE N, FMT und t oder | in der angegebenen Reihenfolge betätigt. Die Maxima und Minima der dem Anwender zur Verfügung stehenden Variablen für diese Maßstabsaufgabe sind in den Anwender-Datenspeicherregistern 001-004 abgespeichert. Die vorstehende Befehlsfolge steuert den (maßstabsgerechte Variable verwendenden) Kurvenschreiber in der gleichen Weise, wie oben für die Folge FMT7 'f oder 4-beschrieben.
Die Taste DEFINABLE f ( ) (belegbare f..) wird dafür verwendet, eine häufig benötigte (oder bevorzugte) Funktion, die in dem Rechner als Unterprogramm programmiert ist, zu bezeichnen und aufzurufen. Die belegbare Funktion kann jederzeit vom Tastenfeld aus durch Betätigen der Taste DEFINABLE ausgeführt oder durch Einfügen des Befehls DEFINABLE in ein Programm
hinein aufgerufen werden. Die belegbare Funktion wird in ähnlicher Weise wie ein LABEL-Unterprogramm programmiert und wie ein normales Unterprogramm ausgeführt, abgesehen davon, daß sie mit einem einzigen Tastenanschlag oder·Programmschritt
aufgerufen werden kann.
209852/1005
Wenn die Taste DEFINABLE f ( ) betätigt wird, sucht der Programmzähler nach einem Unterprogramm, das mit DEFINE f ( ) bezeichnet ist, führt dieses aus und kehrt zum Ausgangspunkt zurück. Diese Anweisung kann sowohl bei Steuerung durch das Tastenfeld als auch bei Programmsteuerung verwendet werden. Ein vom Anwender aufgestelltes Unterprogramm, das durch die Taste DEFINABLE f ( ) aufgerufen werden soll, kann an beliebiger Stelle im Programmspeicher abgespeichert werden. Seine ersten Programmschritte müssen LABEL und DEFINABLE f ( ) lauten, sein letzter Programmschritt SUB/RETURN. Hinsichtlich der Arbeitsschritte, welche dieses Unterprogramm ausführen kann, bestehen keinerlei Beschränkungen. Es kann durch das folgende Beispiel illustriert werden.
LABEL DEFINABLE f ( )
χ e
CHG SIGN
χ · e
SUB
RETURN
Sobald hier der Befehl DEFINABLE f ( ) entweder im Modus RUN
oder im Modus PROGRAM aufgerufen wird, wird durch dieses Unterprogramm der hyperbolische Cosinus der Zahl in dem x-Regi-
209852/ 1005
ster berechnet und in das y-Register eingeführt.
Zum Löschen aller numerischen Speicherregister, ohne jedoch die a- und b-Register oder die x-, y- und z-Register zu beeinflussen, werden die Tasten TABLE N und CLEAR x gedrückt.
Ein programmiertes Unterprogramm kann dadurch m mal wiederholt werden, daß am Ende des Unterprogramms die folgenden Befehle eingefügt werden: TABLE N, SUB RETURN und η, wobei η einer der Werte 0 bis 9 ist und das Datenspeicherregister angibt, welches m enthält. Dabei ist m gleich dem ganzzeiligen Absolutwert des Inhalts des η-Registers. Nachdem das Unterprogramm η mal wiederholt worden ist, verläßt das Programm dieses Unterprogramm und nimmt an dem Programmschritt, der dem Aufrufbefehl für dieses Unterprogramm folgt, wieder die normale Programmausführung auf. Die Maßregel iteratives Unterprogramm kann a'n ein LABEL-Unterprogramm angefügt werden, wenn aber das LABEL-Unterprogramm während eines Programmes aufgerufen wird, muß der Aufrufbefehl 6 Programmschritte umfassen. Das folgende Teilprogramm zeigt die Art und Weise, in welcher das iterative Unterprogramm LABEL // (bezeichne ff ) aufgerufen wird.
Iteratives LABEL-Unterprogramm
Schritt Taste Bemerkung 0400
0402 CONTINUE 47 . Unterprogramm
0403 nri mrv A Λ Autrur
Taste Taste
CONTINUE Kode
CONTINUE 47
GO TO 47
SUB 44
RETURN 77
LABEL
ir 31
χ 56
35
0404 SUB 77 Anweisungen RETURN
0405 LABEL 31 '(6 Tasten)
0406 If 56 «·. ι , u τ* *.
Q407 χ ο= Ruckkehr vom Unterprogramm
20985271005
ROM-Modul Statistik
Der Hauptzweck des ROM-Moduls Statistik ist es, Suiranationen durchzuführen von Variablen, Kreuzprodukten und Quadraten, die in einer Anzahl statistischer Berechnungen als Grundgrößen dienen. Diese Summationen werden in den allgemeinen Anwender-Datenspeicherregistern erzeugt und der Anwender muß sorgfältig alle Operationen vermeiden, welche den Inhalt dieser Register zerstören oder verändern können. Die Anzahl der verwendeten Register hängt von der Anzahl der auf Anweisung des Anwenders behandelten Veränderlichen ab.
Die verwendeten Register sind:
eine Veränderliche: χ
zwei Veränderliche: x, y drei Veränderliche: x, y, ζ
a »10
xa »11
ya £12
za χ-—-V13
a 4 r vier Veränderliche: x, y, z, a
η J\
—*?.
V
JT Xa
Y — ±5
*» ,, s 6
XZ
ζ — —»-9
b
xb
yb >17
zb U 8
ab-2 HhI 9
b -»20 ] fünf Veränderliche: x, y, z, a, b
209852/1005
413
Dies kann übersichtlich in den folgenden Merkregeln dargestellt werden:
1 X y Z A a b
1
X
0 1
2
3
4
6
7
10
11
15
16
y ο 5 8 12 17
Z
a
3 9J 13
14
18
19
b , 20
Zusätzlich zu den Anwender-Registern O £20 , die in der
eben beschriebenen Weise eingesetzt werden, können die Register 21 >27 zur Ansammlung von Maximum/Minimumwerten
verwendet werden, die als Ausgangswerte für die Bildung von Pseudo-Zufallszahlen dienen, und zwar wie folgt:
—»21
min
x'
max
mxn zmax~ RN
-»23 -»24 -»25 -»26
-»27
Alle nicht in einer bestimmten Folge verwendeten Register sind für anderweitige Verwendung frei. Wenn z.B. nur mit zwei Veränderlichen gearbeitet wird, werden nur die Register 0 r^5 verwendet und die Register 6 >20 stehen für andere Zwecke zur Verfügung.
Wenn das ROM-Modul Statistik in den Rechner eingesteckt ist, kann der Anwender die belegbaren Tasten 91 zur Durchführung der weiteren Funktionen verwenden, die in der Statistik-Schablone nach Fig. 11 angedeutet sind. Alle diese zusätzlichen Funktionen sind programmierbar und im folgenden Schritt für Schritt beschrieben.
209852/1005
Die Taste VARIABLES K (K Veränderliche) wird dazu verwendet, die Anzahl der zu verarbeitenden Veränderlichen, nämlich 1 bis 5, anzugeben. Unmittelbar nach ihr muß stets eine Zifferntaste 1 bis 5 betätigt werden. Falls eine andere Taste gedrückt wird, leuchtet die Statuslampe auf und der Rechner bleibt im Modus DISPLAY (Sichtgerät) stehen. Der Befehl VARIABLE und die folgende falsche Anweisung werden nicht beachtet und es £>lgt kein weiterer Arbeitsschritt.
Wenn jedoch eine richtige Ziffernanweisung folgt, leuchten ein oder zwei Anzeigelampen auf, um die Anzahl der gewählten Veränderlichen anzuzeigen, und zwar nach folgendem Muster:
1 Veränderliche Lampe 1
2 Veränderliche Lampe 2
3 Veränderliche Lampe 3
4 Veränderliche Lampen 1 und 3
5 Veränderliche Lampen 2 und 3
Die Festlegung der Anzahl der Veränderlichen beeinflußt eine folgende Wendung der Tasten ££und MAX/MIN sowie der hiermit verwendeten Tasten INITIALIZE (vorbereiten) und CORRECT (korrigieren). Die Anzahl der Veränderlichen bleibt solange unverändert, bis die Taste VARIABLES zu ihrer Veränderung betätigt wird, was jederzeit erfolgen kann.
Die Taste ^£, wird dazu verwendet, die oben erwähnten Summationen von Veränderlichen, Kreuzprodukten und Quadraten aufzuaddieren. Die Zahl der Summationen wird in der beschriebenen Weise durch" die Taste VARIABLES bestimmt. Der Inhalt der verwendeten Register ist dementsprechend:
209852/ 1005
1 Veränderliche x
2 Veränderliche χ, y
3 Veränderliche χ, y, ζ
4 Veränderliche χ, y, ζ, a
5 Veränderliche χ, y, ζ, a, b
Palls die Summier-Taste \X ohne vorhergehende Festlegung der Anzahl der Veränderlichen (Taste VARIABLES und Zifferntaste
.χ 5) betätigt wird, erfolgt eine Festlegung der Anzahl der
Veränderlichen auf 3, Diese Anzahl bleibt solange eingestellt, bis sie durch Verwendung der Taste VARIABLES verändert wird.
Die Summiertaste £-2 erzeugt die Summationen und läßt den Inhalt der Register x, y, z, a und b unverändert. Die Tasten INITIALIZE und CORRECT arbeiten nur im Zusammenhang mit der Summiertaste. Sie müssen vor dieser betätigt werden.
Wenn die Befehlsfolge INITIALIZE, J^. verwendet wird, werden alle durch die Anzahl der verwendeten Veränderlichen bestimmten Register, die bei den Summationen im Spiel sind, auf Null zurückgestellt. Diese Befehlsfolge sollte jedesmal vor dem Beginn einer Reihe von Summationen eines Datensatzes verwendet werden, weil sonst der vorhergehende Registerinhalt mit in die Summationen eingeht.
Wenn nach Betätigung der Summiertaste festgestellt wird, daß der Inhalt eines der Register x, y, z, a oder b fehlerhaft war, kann der Anwender die fehlerhaften Daten dadurch aus der Summation eliminieren, daß er nacheinander die Tasten CORRECT und ^betätigt. Hierdurch werden alle Veränderlichen, Kreuzprodukte und Quadrate dieser Daten aus der Summation eliminiert. Der Anwender kann die Daten dann korrigieren und sie durch Betätigen der Summiertaste wieder eingeben. Da durch die Verwen-
209 8 5 2/100S
dung der Summiertaste oder der Tasten CORRECT und \^> der Inhalt der Register x, y, z, a und b unverändert bleibt, wird dies am günstigsten dann vorgenommen, wenn die fehlerhaften Daten noch unverändert sind, d.h. unmittelbar nach Betätigung der Summiertaste. Wenn die fehlerhaften Daten jedoch erst später festgestellt werden, muß der Anwender sie wieder in die Register χ bis b eingeben (d.h. in χ und y bei 2 Veränderlichen etc.), die Tasten CORRECT und ^betätigen und dann die fehlerhaften Daten korrigieren und sie schließlich mit Hilfe der Summiertaste eingeben.
Der Anwender muß dabei darauf achten, während einer Summationsfolge keine Operationen mit Daten vorzunehmen, welche den Inhalt von Anwender-Registern ändern können, welche bei dieser Summation beteiligt sind. Solange der Inhalt der Summationsregister jedoch nicht verändert wird, können diese Register jederzeit benutzt werden.
Sobald eine Datenfolge mit Hilfe der Summiertaste eingegeben worden ist, stehen die Summationen für weitere statistische Berechnungen zur Verfügung. Zur Bedienungserleichterung sind vier häufig verwendete statistische Rechenverfahren fest eingebaut, die jeweils durch nur einen Tastendruck ausgelöst werden können. Die Wirkung dieser vier Tasten wird im folgenden beschrieben.
Die Taste MEAN (mittel) veranlaßt die Berechnung des arithmetischen Mittels aus den angesammelten Summationen für bis au 3 Veränderliche x, y und z. Falls mit 4 oder 5 Veränderlichen gearbeitet wird, wirkt die Taste MEAN lediglich für
3 Veränderliche und bildet für die beiden anderen /eränder-203852/1005
222m2
lichen a und b kein Mittel.
Für die verschiedenen Veränderlichen-Anzahlen werden die folgenden Berechnungen durchgeführt - (1) bedeutet dabei "Inhalt des Registers 1" - und in den Registern x, y und ζ angezeigt:
1 Veränderliche ζ 0.0
y 2-0 ^
χ χ = L*x = (l)
η TOT
2 Veränderliche ζ 0.0
y y = T2y = (3)
η W χ χ
3 Veränderliche ζ ζ = £2z - (6)
η (O)-
y £
χ χ
Die Rechnungen werden in der gezeigten Weise ausgeführt und die Ergebnisse erscheinen wie dargestellt in den Registern x, y, und z, ohne jedoch den Inhalt eines der Summationsregister zu verändern.
Die Taste VARIANCE (Varianz) löst die Berechnung der Varianz der gesammelten Summationen für bis zu 3 Variablen x, y und ζ aus. Wenn 4 oder 5 Veränderliche benutzt werden, wirkt die Taste VARIANCE lediglich für 3 Veränderliche und bildet für die Veränderlichen a und b keine Varianz. Hierbei werden die folgenden Berechnungen durchgeführt:
η - 1 (0)' - 1
(3)2
= η = (5)
Y η - 1 (O)-I
209852/1005
ίο) - üi
η m (O)
η - 1 (O)-I
Das Ergebnis erscheint in den Registern x, y, ζ in folgender Weise:
1 Veränderliche 2 Veränderliche 3 Veränderliche ζ - 0.0 0.0 /^ 2
Y - 0-0 Δ\ &\
Der Inhalt aller bei diesen Berechnungen verwendeter Summationsregister bleibt unverändert.
Die Taste REGRESSION löst die Bestimmung linearer Regressionen unter Verwendung der angesammelten Summationen aus und dient der Ausgleichung von Meßwerten nach der Methode der kleinsten Quadrate.Die Berechnungen und die Ergebnisse werden wie folgt durch die Wahl der Veränderlichen gesteuert:
1 Veränderliche: Die Regression einer einzigen Veränderlichen in Bezug auf sich selbst wird nicht durchgeführt. Wenn die Taste REGRESSION betätigt und VARIABLES - 1 eingestellt wird, leuchtet die Statuslampe auf und der Rechner bleibt im Modus DISPLAY stehen. Es erfolgt kein weiterer Arbeitsschritt und der Inhalt der Register x, y und ζ sowie derjenige aller Summationsregister bleibt unverändert.
2 Veränderliche: Die Regression einer abhängigen Veränderlichen, in Bezug auf eine unabhängige Veränderliche erfolgt nach der Gleichung
O T
Die Ergebnisse werden in folgender Form in die Register.χ, y und ζ eingeführt: 209852/1005
-0.0
Der Inhalt aller bei der Berechnung benutzter Summations-Register bleibt unverändert.
3 Veränderliche: Die Regression einer abhängigen Veränderlichen in Bezug auf zwei unabhängige Veränderliche erfolgt nach der Gleichung:
ζ = ao + ΛχΧ f a2y ■
Die Ergebnisse erscheinen in folgender Form in den Registern x, y und z:
χ ; a^
Der Inhalt aller bei der Berechnung verwendeter Summations-Register bleibt unverändert.
4 und 5 Veränderliche: Dieser Fall wird wie bei 3 Veränderlichen behandelt. Die Regression mit vier und fünf Veränderliehen kann unter gesonderter Programmierung durch den Anwender erfolgen. Alle erforderlichen Summationen werden durch die Summiertaste ausgelöst, wenn die Anzahl der Veränderlichen
auf 4 oder 5 eingestellt ist.
Die Taste r löst die Bestimmung des KorrelatipnsKoeffisienten {ein Maß für die Güte der Ausgleichung) für die mit Hilfe der Taste REGRESSION gebildeten linearen Regressionen aus. Die durchgeführten Berechnungen werden wiederum durch die Wahl ' der Veränderlichen gesteuert.
1 Veränderliche: Es werden keine Berechnungen durchgeführt, die Betätigung der Taste wird nicht beachtet.
209852/1005
2 Veränderliche: Zur Berechnung des Korrelations-Koeffizienten für die lineare Regression
y = a0 + axx
wird zunächst eine Hilfsgröße eingeführt:
•4M X1Xj = Σ.x± xj - (3Q X1) (Sxj>
Der Korrelations-Koeffizient für 2 Veränderliche ergibt sich dann zu
r 2 =
Das Ergebnis erscheint im x-Register, die Register y und ζ werden gelöscht.
3 Veränderliche: Der Korrelations-Koeffizient der linearen Regression
ζ = ao + S1X + a2y
ergibt sich mit obigem zu
/CC' 2Z
Das Ergebnis erscheint im x-Register, die Register y und ζ
werden gelöscht.
Die Tciste MAX/MIU wird zur Ermittlung der maximalen und minimalen Werte der Veränderlichen χ, y und ζ verwendet. Da diese Werte in den Registern 21 bis 26 abgespeichert werden, beeinflussen sie die Summationsregister nicht "(Summiertaste). Die MAX/MIti-Information kann somit bezüglich der gleichen Daten bestimmt v/erden, mit denen die Summation durchgeführt wird.
2 Q 9 8 5 2 / 1 0 0 5
22287Λ2
Die MAX/MIN Speicherregister 21 bis 26 werden durch die Befehlsfolge INITIALIZE und MAX/MIN vorbereitet. Hierdurch werden die Register folgendermaßen geladen
,99 ,99
(21), (23), (25) (x, y, z)min = 10"
(22), (24), (26) (x, y, z)max = -IQ-Alle sechs Register werden ohne Berücksichtigung der Einstellung für die Anzahl der Veränderlichen vorbereitet.
Wenn die Taste MAX/MIN betätigt wird, werden der Inhalt des x-Registers (bei einer Veränderlichen), des x- und y-Registers (bei zwei Veränderlichen) oder des x-, y- und z-Registers (bei drei, vier oder fünf Veränderlichen) mit den gespeicherten Inhalten der MAX/MIN-Register verglichen. Wenn der neue Wert kleiner ist als der Inhalt des entsprechenden MIN-Registers, wird der neue Wert substituiert. Wenn dies nicht der Fall ist, bleibt der Inhalt des Registers unverändert. Die Maxima werden in gleicher Weise behandelt. Auf diese Weise enthalten die MAX/MIN-Register zu jedem Zeitpunkt den größten bzw. kleinsten Wert der Eingangsdaten von der letzten Vorbereitung ab. Diese Daten werden nicht im Sichtgerät angezeigt, der Anwender muß sie erforderlichenfalls aus den entsprechenden Registern aufrufen.
Die Taste CORRECT kann nicht im Zusammenhang mit der Taste MAX/MIN verwendet werden, da alle vorhergehenden geänderten Werte durch die MAX/MIN-Operation unwiederbringlich verloren gehen.
209852/1005
Die Taste t bildet die für die Berechnung einer t-Statistik über Daten in χ und y erforderlichen Summationen, berechnet diese Statistik und zeigt sie an. Dieser Vorgang unterscheidet sich dabei beträchtlich von dem durch die Summiertaste ausgelösten Vorgang, bei welchem lediglich Summationen durch geführt und die ursprünglichen Daten unverändert gelassen werden. Im Gegensatz hierzu werden durch die Taste t die erforderlichen Summationen durchgeführt, die t-Statistik errechnet und dargestellt und die soeben eingegebenen Daten zerstört.
Die t-Summationen werden in den Registern 0, 1 und 2 abgespeichert, d.h. in den gleichen Registern, die auch im Zusammenhang mit der Summiertaste benutzt werden. Aus diesem Grund können auch die Summiertaste und die Taste t nicht gemischt verwendet werden.
Es werden folgende Summationen angesammelt:
η -=; 0
5D λ
Diese Summationen werden bei jeder Betätigung der Taste t angesammelt. Die drei Register können durch die Befehlsfolge INITIALIZE, t zu Beginn einer neuen Datenfolge gelöscht werden.
Wenn bei der Dateneingabe ein Fehler aufgetreten ist und bei den Summationen durch Betätigung der Taste t fehlerhafte
Daten verwendet worden sind, ist eine Möglichkeit zur Beseitigung dieser fehlerhaften Daten erwünscht. Diese Daten sind jedoch zerstört worden, um die bei jeder Tastenbetätigung be-
209852/ 1 005
stimmte t-Statistik darstellen zu können. Wenn der Anwender einen solchen Fehler entdeckt, kann er die fehlerhaften Daten erneut in die Register χ und y eingeben. Eine Betätigung der Tasten CORRECT, t beseitigt die Daten dann von der Summation und der Anwender kann die richtigen Daten eingeben und sie durch Betätigen der Taste t berücksichtigen.
Mit den Summationen werden folgende Berechnungen durchgeführt:
- χ)
D =
η η
n(n - 1)
Von diesen Werten wird D in das z-Register, η in das y-Register und t in das x-Register eingeführt.
Mit Hilfe der Taste X werden die Summationen angesammelt und die sogenannte chi-Quadrat-Statistik berechnet und dargestellt. Die Wirkung dieser Taste entspricht weitgehend derjenigen der Taste t:
1. Die Summationen werden in den Registern 0 und 1 ange-
2 V^
sammelt, so daß die Tasten X und 2_a nicht gemischt betätigt werden können.
2. Die Darstellung der Ergebnisse nach jeder Tastenbetätigung zerstört die in den Registern χ und y eingegebenen Daten. Die Korrektur fehlerhafter Daten kann durch Wiedereingabe der falschen Daten und durch Betätigen der Tasten CORRECT, X2 .erfolgen.
209852/1005
3. Die verwendeten Register (O und 1) können durch be-
tätigen der Tasten INITIALIZE, X gelöscht werden.
Es werden folgende Summationen angesammelt:
η ^O
In der bei der Verwendung der chi-Quadrat-Statistik normalen Anordnung befindet sich der "beobachtete" Wert im x-Register und der "erwartete" Wert im y-Register.
Die Taste RANDOM (Zufallszahlen) löst die Berechnung einer
Folge von Pseudo-Zufauszahlen aus, die in dem Intervall
O<RN<1 gleichförmig verteilt sind. Die hierfür verwendete
Methode ist diejenige der kongruenten Produkte. Der Benutzer muß hierfür Ausgangswerte gleichsam als "Keime" für eine
solche Folge liefern, bevor er die Taste RANDOM betätigt. Jeder solcher Ausgangswert liefert, so oft er angewendet wird, die gleiche Folge von Pseudo-Zufallszahlen.
Der Ausgangswert wird von dem Anwender in dem Register 27 abgespeichert. Nach jeder Betätigung der Taste RANDOM wird die neu erzeugte Pseudo-Zufallszahl in dem Register 27 als neuer Ausgangswert abgespeichert, gleichzeitig wird die Zahl auch
im x-Register dargestellt. Die Register y und ζ bleiben unverändert.
Der erste, vom Anwender zu liefernde Ausgangswert sollte unter Berücksichtigung bestimmter Regeln ausgewählt werden, um annehmbc.rci Poeudo-Zufällige Eigenschaften zu gewährleisten. Diese Rege*1' \--astehen darin, daß die eingegebene J'^hl
209852/1005
1. Aus einem 12stelligen Dezimalbruch bestehen
(d.h. aus einer vollständigen Zahl einschließlich Schutzstelle, obwohl diese nicht abgelesen werden kann),
2. Ungerade
3. nicht ohne Rest durch 5 teilbar sein soll.
Die Tasten log,Qx, log χ und ex liefern die mit dem im x-Register stehenden Argument durchzuführenden mathematischen Funktionen und das Ergebnis erscheint in dem x-Register. Hierbei werden keine anderen Register verändert.
ROM-Modul Schreibmaschine
Wenn das ROM-Modul Schreibmaschine in den Rechner eingesteckt worden ist, wirkt die Tastenfeld-Eingabeeinheit als gemäß Fig. 12 neu belegt, so daß das gesamte Tastenfeld einer mit einer geeigneten Schnittstelle versehenen Schreibmaschine, beispielsweise das Facit-Modell 3841 (im folgenden mit Modell bezeichnet), vollständig durch den Rechner,ausgesteuert werden kann. Das Modell 61 vermag folgende drei Grundoperationen durchzuführen:
1. Daten aus dem x-Register des Rechners auszuschreiben,
2. alphanumerische Nachrichten zu schreiben und die Funktionen der Schreibmaschine zu steuern und
3. Programme aus dem Speicher des Rechners aufzulisten.
Diese Operationen werden durch Rechnerbefehle ausgelöst, die entweder vom Tastenfeld aus oder als Programmsehritte in einer vorgeschriebenen Reihenfolge gegeben werden. Diese Befehlsfolgen werden nunmehr anhand von Beispielen beschrieben, bei
209852/1005
denen eine Tastenfeldeingabe durchgeführt wird. Normaler weise erscheinen solche Befehlsfolgen jedoch im Rahmen eines gespeicherten Programmes.
Die Tabelle C enthält in Kurzform die zum Betrieb des Modells 61 erforderlichen Befehlsfolgen. Diese Tabelle dient jedoch nicht zur Beschreibung der Schreibmaschine, sondern lediglich als Kurzübersicht.
Alle der hier wiedergegebenen Befehlsfolgen für das Modell 61 können in Bestandteile zerlegt werden, die aus einem oder aus mehreren Rechnerbefehlen bestehen. So enthalten beispielsweise alle dieser Befehlsfolgen die beiden Rechnerbefehle FMT und 2.
Die Befehle FMT und 2 dienen dem speziellen Zweck, die folgenden Rechnerbefehle so umzudeuten, daß sie nur von der Schreibmaschine ausgewertet werden können. Diese bei den Befehle, als Bestandteile der Befehlsfolge betrachtet, können somit als Schreibmaschinenadresse angesehen werden. Obwohl bei jeder der folgenden Befehlsfolgen angegeben, wird ihre Bedeutung nicht wieder jedesmal erläutert werden.
209852/ 1005
Tabelle C Befehlsliste Befehlsfolge:
Ziffernschreibung
Bewirkt die Schreibung der Zahl im x-Register in einer Schreibweise und an einer Stelle, die von dem letzten w.d.-Befehl bestimmt
1. FMT 2 PRINT wird.
2. FMT 2 w.d. w bestimmt dabei die Feldbreite (Stelle). Die
3. FMT 2 w.d. Zahl wird rechtsbündig geschrieben. Zu Beginn
PRINT
nimmt der Rechner ein w von 20 an.
. d bestimmt die Stellenzahl rechts'vom Komma oder eine Gleitkommadarstellung.
Alphanumerische Schreibung; FMT 2 FMT Message FMT
Ermöglicht dem Anwender Bezeichnungen und Überschriften zu schreiben. Ermöglicht weiterhin die Steuerung aller Tastenfeldfunktionen, außer der Randeinstellung. Die Nachrichten können auch Druckbefehle enthalten. Das Tastenfeld des Rechners besitzt zwei Arbeitsweisen, nämlich mit und ohne Schreibwagenumschaltung.
Auflisten eines Programmes: FMT 2 List
Hierdurch wird der Inhalt vom Speicher des Rechners aufgelistet, und zwar von der jeweiligen Stellung des Programmzählers an bis zum Auftreten einer Anweisung END in dem Speicher oder bis zur Betätigung der Stopptaste auf dem
20985 2/1005
Tastenfeld cies Rechners. Die Auflistung enthält die Adressenstelle, den Tä&tenkode und ein Merkzeichen.
Alle Befehle stehen auf Anforderung durch das Programm oder von Hand zur Verfügung. ■
Die Befehlsfolge FMT7 2, w.d, PRINT ermöglicht es dem Anwender, die in dem x-Register des Rechners enthaltenen Daten auszuschreiben. In dieser Befehlsfolge kann die Schreibweise der zu schreibenden Daten (Festkomma oder Gleitkomma) vorausbestimmt werden. Weiterhin kann die Stelle angegeben werden, an welcher die Daten auf der Schreibwalze angeordnet werden. Diese Befehlsfolge weist die folgenden Bestandteile auf: FMT 2 - Schreibmaschinenadresse.
w.d. - Festlegung der Lage und Schreibweise der zu schreibenden Daten.
PRINT - Auslösung der Schreibung.
Die Befehlsfolge wird von der Schreibmaschinenadresse eingeleitet und durch den Befehl PRINT (Drucken) beendet. Die einzelnen Bestandteile dieser Befehlsfolge haben folgende Bedeutung für die Schreibmaschine.
w.d, - Dieser Bestandteil der Befehlsfolge ermöglicht es, die Lage und die Schreibweise der zu schreibenden Daten anzugeben. Der Teil w bestimmt die Lage und der Teil d die Schreibweise. Der Dezimalpunkt in diesem Bestandteil trennt dessen beide Teile. Obwohl der Teil w ohne den Teil d keine Bedeutung besitzt, werden diese Teile im folgenden getrennt beschrieben.
w gibt die Feldbreite (w) an, in welcher die Daten geschrieben
209852/1005
werden sollen. Der linke Rand des Feldes wird durch die Lage des Schreibwagens beim Schreiben der Daten bestimmt. Der rechte Rand des Feldes wird durch den Wert w angegeben. Wenn sich zum Beispiel der Schreibwagen in einem Abstand von zehn Anschlägen von der linken Randeinstellung befindet und für w der Wert zwanzig angegeben wird, dann befindet sich nach dem Schreiben der Daten der Schreibwagen dreißig Anschläge von der linken Randeinstellung entfernt.
Alle in einem Feld geschriebenen Daten werden automatisch rechtsbündig mit diesem Feld, d.h. also rechts ausgeglichen angeordnet. Das folgende Beispiel illustriert den rechten Randausgleich der Zahl 123,45 in einem Feld von zehn Anschlägen.
w = 10
Das Feld muß natürlich groß genug sein, um die zu schreibenden Daten, das Dezimalkomma bzw. den Dezimalpunkt und ein etwaiges Vorzeichen dieses sogenannten Datenpunktes aufnehmen zu können. Wenn der Datenpunkt z.B. die Ziffer 1 ist, reicht eine Breite w von eins aus, um diesen Datenpunkt aufzunehmen; wenn dieser Datenpunkt jedoch negativ ist, wird eine Feldbreite w von zwei erforderlich. Falls das Feld nicht groß genug ist, um einen Datenpunkt aufzunehmen, werden die Daten nicht ausgeschrieben, es wird vielmehr das gesamte Feld mit Sternchen gefüllt, um auffällig zu machen, daß der zu schreibende Datenpunkt nicht in das vorgesehene Feld hineingepaßt hat.
209852/1005
w kann eine beliebige Zahl zwischen eins und dreiundsechzig (einschließlich dieser beiden Grenzen) sein. Da ein Datenpunkt immer rechtsbündig in dem Feld geschrieben wird, kann w dazu verwendet werden, diesen Datenpunkt in eine gewünschte Lage auf der Schreibwalze zu bringen, w darf jedoch nicht so groß gewählt werden, daß die Daten über den rechten Rand hinaus geschrieben werden. Wenn der rechte Rand überschritten wird, bleibt das Programm an der Speicherstelle nach dem Befehl PRINT stehen, bei welchem der rechte Rand überschritten worden ist, und die Statuslampe leuchtet auf.
Wenn ein Befehlsteil w auftritt, wird der Wert automatisch in dem Rechner gespeichert. Ein einmal aufgetretener Befehlsteil w braucht in dem Programm nicht noch einmal gegeben zu werden, es kann beliebig oft verwendet werden, wenn er der Befehlsfolge FMT, 2, PRINT angehört bzw. folgt.
Der für w gewählte Wert geht verloren, wenn der Rechner abgeschaltet wird. Beim Einschalten des Rechners wird dann wieder für w ein Wert von zwanzig automatisch eingespeichert.
Der Bestandteil d des Befehls ermöglicht es dem Anwender, den Modus der Rechneranzeige aus dem Programm und damit auch die Schreibweise der zu schreibenden Daten, d.h. ob mit Festkomma oder mit Gleitkomma zu wählen.
Bei dieser -Befehlsfolge werden die Daten aus dem x-Register des Rechners in der gleichen Weise geschrieben, wie sie in dem Sichtgerät, dargestellt werden. Um die Möglichkeit der Wahl der Schreibweise (Festkomma oder Gleitkomma) der zu schreibenden Daten
209852/1005
geben zu können, ist diese Befehlsfolge auch in der Lage, das Format der Sichtanzeige des Rechners zu steuern. Dies geschieht ebenfalls durch den Teil d des Befehlsbestandteils w.d.
Die folgende Tabelle zeigt den Zusammenhang zwischen dem Befehlsteil d und der Schreibweise der zu schreibenden Daten.
d Schreibweise
0 Dezimalteil und Dezimalpunkt (,) sind unterdrückt
1 rechts vom Komma wird eine Stelle geschrieben
2 rechts vom Komma werden zwei Stellen' geschrieben
9 rechts vom Komma werden neun Stellen geschrieben
JjQ J(Dezimalpunkt) die Daten werden in Gleitkommadarstellung geschrieben.
Ein Datenpunkt in dem x-Register des Rechners enthält stets einen Dezimalpunkt (bzw. ein Komma). Wenn der Datenpunkt jedoch -ohne Stellen rechts vom Komma dargestellt wird (z.B. 10.), werden diese Daten ohne den Dezimalpunkt geschrieben.
Der Teil d des Befehlsbestandteiles w.d kann sehr einleuchtend als programmierbarer Befehl FIX () - FLOAT (Festkomma Gleit/7 Detrachtet werden. Er hat die gleiche Wirkung auf die Anzeige des Rechners wie diese Taste. In gleicher Weise sind auch alle Rechenregeln bezüglich des Überlaufs und des Unterlaufs, die sich auf die Tasten FIX () und FLOAT beziehen, auch auf den Befehlsteil d anwendbar.
209852/1005
Im Falle eines Überlaufs, wenn die Anzeige des Rechners neun Stellen rechts vom Komma aufweist und ein Datenpunkt mit zwei Stellen links vom Komma in das x-Register eingeführt wird, läuft das Register über und zeigt den Dätenpunkt in, Gleitkommadarstellung an. Genau der gleiche Zustand kann mit dem Befehlsteil d eintreten. Falls ein d im Wert von neun gewählt wird und der Datenpunkt im x-Register überläuft, wird der Datenpunkt in Gleitkommadarstellung ausgeschrieben.
In dem Zusammenwirken zwischen den Befehlsteilen w und d besteht ein mögliches Problem, das der Anwender im Auge behalten muß. Es sei beispielsweise angenommen, daß w auf zwei gesetzt und d zu null gewählt wurde. Wenn nun der Datenpunkt in dem x-Register überläuft und es versucht wird, den Datenpunkt auszuschreiben, ist die Feldbreite vom Wert zwei nicht groß genug, um den Datenpunkt in Gleitkommadarstellung aufzunehmen und es werden zwei Sternchen ausgedruckt.
Während ein die Feldbreite überschreitender Überlauf das Drucken von Sternchen bewirkt, ist dies bei einem Unterlauf nicht vorgesehen. Bei einem Unterlauf ist der Datenpunkt in dem x-Register so klein geworden, daß die Angabe d es nicht erlaubt, diesen Datenpunkt mit ausreichender Genauigkeit darzustellen. Wie beim Überlauf wird ein s.olcher Datenpunkt tatsächlich nicht ausgeschrieben, wenn der Wert des Datenpunktes im x-Register z.B. 1,23 χ IO beträgt und d zu null angegeben wird, wird der Datenpunkt als null ausgeschrieben.
203852/ 1 005
Der Anwender muß ständig den Bereich im Auge haben, in welchem die auszuschreibenden D.aten zu liegen kommen, und die Angabe w.d so wählen, daß weder ein Unterlauf noch ein Überlauf auftritt. Wenn damit zu rechnen ist, daß der Bereich sehr groß ist, sollte die Feldbreite und der Wert d so gewählt werden, daß der Datenpunkt in Gleitkommadarstellung ausgeschrieben wird (16 . .).
Da der Wert d im wesentlichen dadurch abgespeichert wird, daß das Format der Anzeige des Rechners verändert wird, bleibt der Wert von d so lange unverändert, bis das Format der Anzeige geändert wird. Dies kann entweder durch einen weiteren Befehl d erreicht werden oder durch manuelle Betätigung der Tasten FLOAT oder FIX (). Wenn beispielsweise d zu zwei gewählt, das Programm angehalten und die Taste FLOAT betätigt wird, erfolgt der Ausdruck der wiederzugebenden Daten in Gleitkommadarstellung.
Der Bestandteil PRINT dieser Befehlsfolge veranlaßtdie Schreibmaschine die in dem x-Register des Rechners enthaltenen Daten auszuschreiben. Die Daten werden an der Stelle und in der Schreibweise ausgeschrieben, welche durch den letzten Befehlsbestandteil w.d bestimmt sind.
Wenn eine Befehlsfolge FMT, 2, w.d, PRINT ausgeführt worden ist, wird die Befehlsfolge automatisch beendet und die Schreibmaschinenadresse zurückgestellt. Dies bedeutet jedoch, daß, wenn die gleichen Daten zweimal geschrieben werden sollen, die ganze Befehlsfolge (bis auf w.d, was jedoch später erläutert wird) noch einmal gegeben werden muß.
209852/1005
Zur Erzielung größtmöglicher Flexibilität beim Programmieren können wahlweise bestimmte Bestandteile der Befehlsfolge FMT, 2, w.d, PRINT in dieser Befehlsfolge weggelassen werden. Die folgenden Veränderungen der Befehlsfolge sind zulässig:
FMT, 2, w.d, PRINT - Ausdrucken der Daten in dem x-Re-
gister an eine vorgegebene Stelle in vorbestimmter Schreibweise.
FMT, 2, w.d - Festlegung einer Feldbreite (w) und Schreibweise (d), die in dem Programm später durch eine oder mehrere Befehlsfolgen FMT, 2, PRINT verwendet werden.
FMT, 2, PRINT - Ausdrucken der Daten in dem x-Register an einer Stelle und in einer Schreibweise, die in dem Programm vorher festgelegt worden sind.
Die Befehlsfolge FMT, 2, w.d ermöglicht es dem Anwender, dadurch Progranvmschritte einzusparen, daß w und d in dem ganzen Programm nur einmal festgelegt und dann beliebig oft durch die Befehlsfolge FMT, 2, PRINT verwendet werden.
Der Befehl PRINT in diesen Befehlsfolgen beendet diese Befehlsfolgen automatisch und stellt die Schreibmaschinenadresse zurück. Im Falle der Befehlsfolge FMT, 2, w.d wird die Befehlsfolge jedoch nicht beendet; dies leistet erst der nächste Befehl des Rechners zusätzlich zu seiner normalen Funktion.
Die Verwendung der Befehlsfolge FMT, 2, w.d, PRINT wird durch das folgende Beispiel illustriert:
209852/1005
steller 4ÖI 2 3 3 • · * * 6 2228742 7 Ansehlag- • * ·-
1 O O O Rechter Rand O . . . Skala auf
Linker Rand- O steller dem Papier
Papier halter
führung 2 3 4
Ö 1 O O O
O
2 3 4
1 O O O
O O
O
Kartenhalter
Die Nummer eintausend wird in das x-Register des Rechners eingetastet und es wird Gleitkomma-Anzeige gewählt.
Anzeige: 1.QQOQOGQQQ 03 >x
Tasten: FMT,2 13.2
Anzeige: 1000»QQ > x
Das w (13) wurde gespeichert und das d (2} hat die Anzeige verändert. Die Befehlsfolge ist jedoch noch nicht beendet und es kann ein Befehl PRINT hinzugefügt werden:
Tasten: PRINT Ausdrucken:
w = 13, d = 2
lOOO.OO
1 1
0
Die Anzeigemarke auf dem Kartenhalter zeigt dabei auf der Anschlagskala des Papierhalters den Wert 13 an und nicht
wie man erwarten sollte. Diesberuht darauf, daß die Skala mit null beginnt und nicht mit eins.
lOOO .00 2 3 4
1 1 0 0 Q
0 3
209852/1005
Der Befehl PRINT hat die Befehlsfolge beendet. Um die Daten erneut auszuschreiben, ist eine weitere Befehlsfolge erforderlich:
Tasten: FMT, 2 PRINT
Ausdrucken:
w = 13, d = 2
lOOO. 00 1000. 2 OO 3 4
1 0 2 0 O
0 6
Die Befehlsfolge FMT, 2 PRIl T hat dabei die Werte w und d verwendet, die durch die vorhergehende Befehlsfolge FMT, 2, w.d abgespeichert worden ist. Der Ausschrieb ist rechtsbündig beim sechsundzwanzigsten Anschlag, da der linke Rand des Feldes durch die Lage des Schreibwagens beim Schreiben der Daten bestimmt wird.
Zu beachten ist, daß eine Befehlsfolge FMT, 2, w.d PRINT nicht die Möglichkeit eines Wagenrücklauf/Zeilenvorschub-Befehls einschließt. Die Möglichkeit ansich besteht jedoch und wird weiter unten beschrieben.
Eine Befehlsfolge FMT, 2, w.d wird durch den nächsten Rechnerbefehl beendet. Zusätzlich zu der Beendigung der Befehlsfolge FMT, 2, w.d wird dieser Befehl dann in der üblichen Weise ausgeführt.
Tasten: FMT, 2
1 3Λ
Anzeige: 1.000000000 O3 ? X, Y
Diese Befehlsfolge hat eine Gleitkommadarstellung vorgeschrieber
2Q9852/1005
48**
diese Anzeige kann jedoch durch die Tasten FIX () - FLOAT unterdrückt werden:
Tasten: FIX ( ) 2
Anzeige: 1000.00 >X
Tasten: FMT, 2, und PRINT Ausschrieb: w = 13, d = 2
1000.00 1000. 00 3 1000. 00 34
1 2 0 90
0 0
Die Daten in dem x-Register des Rechners können ohne Dezimalpunkt (Komma) ausgeschrieben werden. Dies kann dadurch geschehen, daß für d der Wert null vorgeschrieben wird:
Tasten: FMT, 2, 4, ., 0, und PRINT Ausschrieb: w = 4, d = 0
lOOO.OO 1000.00 1000.001000
1 2 3 4 4 0 O 0 O 0 3
Der gerade geschriebene Datenpunkt wurde in einem Feld mit der Breite vier angeordnet, das gerade groß genug war, um die Daten aufzunehmen. Zwischenräume zwischen diesen ausgeschriebenen Daten und dem vorhergegangenen Ausschrieb hätten durch Wahl einer größeren Feldbreite w vorgesehen werden können.
Ein Feld, das nicht groß genug ist, um die Daten aufzunehmen, wird mit Sternchen gefüllt.
Tasten: FMT, 2, 3, ., 0, und PRINT Ausschrieb: w = 3, d =' 0
1000. 00 1000. 00 3 1000. 001000 4 5
1 2 0 4 6 0
O 0 0
209852/1005
Die Befehlsfolge FMT, 2, FMT, MESSAGE, FMT ermöglicht es, Bezeichnungen und Überschriften für Daten zu schreiben. Mit Hilfe dieser Befehlsfolge kann der Anwender sowohl beide Zeichen jeder Schreibmaschinentaste anwählen, 'als auch alle Schreibmaschinenfunktionen unmittelbar vom Rechner aus steuern, und zwar entweder durch gespeicherte Programmschritte oder von Hand vom Tastenfeld des Rechners aus.
Die Befehlsfolge besitzt dabei die folgenden Bestandteile: FMT 2 - Schreibmaschinenadresse
FMT - Leitet die Befehlsfolge "Nachrichtenschreibung11 ein.
MESSAGE ,- Gewünschte Bezeichnung oder Überschrift FMT - Beendet die Befehlsfolge.
Andere Rechnerbefehle, welche diese Befehlsfolge beenden, sind:
STEP LOAD STOP * PMM FLOAT
RUN KEYLOG RECORD END FIX ( ) PRGM LIST
* Programmierbare Befehle.
Bei dem Bestandteil MESSAGE dieser Befehlsfolge steuert jeder programmierbare Rechnerbefehl eine Schreibmaschinentype. Welches Zeichen geschrieben oder welche Schreibmaschinenfunktion ausgeführt wird, hängt dabei von dem Modus ab, in welchem sich das Tastenfeld des Rechners befunden hat, als der Befehl gegeben worden ist. Bei dem Bestandteil MESSAGE dieser Befehlsfolge kann sich der Rechner in einem von zwei Modi befinden; nämlich mit umgeschaltetem oder mit nicht umgeschaltetem Wagen.
209852/1005
Wenn der Befehl FMT, 2, FMT erteilt wird, ist das Tastenfald des Rechners automatisch im nicht umgeschalteten Modus. In diesem Arbeitsmodus entsprechen sich die Rechnerbefehle und die geschriebenen Zeichen bzw. ausgeführten Funktionen wie in Fig. 12 durch die Zeichen und Symbole auf den Tasten dargestellt.
Das Tastenfeld des Rechners im nicht ungeschalteten Zustand kann die Ziffern der Schreibmaschine und die Großbuchstaben des Alphabets steuern. Zusätzlich können die Funktionen TAB CLEAR (Tabulatorlöschung), TAB (Tabulatoreinstellung), CR/LF (Wagenrücklauf/Zeilenvorschub), SPACE (Zwischenraum) und BLACK RIBBON (SchwarzSchreibung) ausgeführt werden. Der Befehl FMT und die in der Zeichnung dargestellten Leertasten beenden die Befehlsfolge. Die drei Befehle PRINT (Drucken), TAB (Tabulator) und SHIFT (umschalten), die auf dem nicht umgeschalteten Tastenfeld des Rechners zur Verfügung stehen, verdienen besondere Erwähnung.
Ein Befehl PRINT innerhalb einer Nachricht bewirkt, daß die Daten aus dem x-Register des Rechners ausgeschrieben werden. Die Daten werden an die Stelle und in der Schreibweise ausgeschrieben, die durch den letzten Befehlsbestandteil w.d angegeben worden ist. Innerhalb einer Nachricht kann kein Befehlsbestandteil w.d gegeben werden, wenn sie jedoch auftreten, wer- ' den sie abgespeichert und automatisch aufgerufen und verwendet wenn ein Befehl PRINT innerhalb einer Nachricht auftritt.
Die Befehlsfolge "Nachrichtenschreibung" beeinflußt den Inhalt der Anzeigeregister des Rechners nicht. Daher können mit einem Befehl PRINT innerhalb einer Befehlsfolge gleichzeitig Daten
209852/1005
4SO
in das x-Register eingeführt und ausgeschrieben werden.
Ein Befehl TAB veranlaßt den Schreibwagen, sich entweder bis zum nächsten eingestellten Tabulator-Reiter oder bis zum rechten Randsteller zu bewegen. Falls der Wagen sich nur zwei Anschläge von einem Reiter befindet, wenn der Befehl TAB gegeben wird, übergeht die Schreibmaschine diesen Reiter und der Schreibwagen bewegt sich zum nächsten Reiter oder zum rechten Randsteller.
Der Befehl SHIFT ermöglicht es, den Modus des Rechnertastenfelds zu ändern. Befindet sich das Tastenfeld des Rechners im nicht umgeschalteten Zustand und es tritt ein Befehl SHIFT, so schaltet das Tastenfeld des Rechners in den umgeschalteten Zustand um. In diesem Betriebszustand entsprechen sich Rechnerbefehle einerseits und geschriebene Zeichen oder ausgeführte Funktionen andererseits wie in Fig. 12 durch die Zeichen und Symbole unterhalb der Tasten angegeben.
Das umgeschaltete Tastenfeld des Rechners steuert die Kleinbuchstaben des Alphabets und die Symbole oberhalb der Ziffern sowie zusätzlich die Funktionen TAB CLEAR ALL (Tabulator-Gesamtlöschung) , TAB SET (Tabulatoreinstellung), CR/LF (Wagenrücklauf und Zeilenvorschub)„ SPACE (Zwischenraum) und BACK SPACE (Rücktaste) . Der Befehl FMT und die gezeigten Leertasten beenden die Befehlsfolge. Die Wirkung der Befehle PRINT und SHIFT ist bei dem umgeschalteten ersten Feld die gleiche wie bei dem nicht umgeschalteten Tastenfeld. Beim umgeschalteten Tastenfeld verdienen zwei Befehle besondere Erwähnung, nämlich CR/LF und RED RIBBON {Rotschreibung).
209852/ 1 005
AW
Der Befehl CR/LF (Wagenrücklauf und Zeilenvorschub) veranlaßt die Schreibmaschine, einen Wagenrücklauf und einen Zeilenvorschub durchzuführen. Zusätzlich bewirkt dieser Befehl, daß das Tastenfeld des Rechners in den nicht umgeschalteten Zustand versetzt wird.
Ein Befehl RED RIBBON (Rotschreibung) veranlaßt die Schreibmaschine, die folgenden Zeichen rot anzuschlagen. Wenn einmal Rotschreibung gewählt ist, können nur zwei Dinge die Rotschreibung wieder aufheben, nämlich ein Befehl BLACK RIBBON (Schwarzschreibung) , der auf dem nicht umgeschalteten Tastenfeld zur Verfügung steht, und das Abschalten der Schreibmaschinen-Schnittstelle. Eine Beendigung der Befehlsfolge "Nachrichtenschreibung" bewirkt jedoch nicht eine Rückstellung des Befehls "Rotschreibung11.
Der Nachrichtenbestandteil einer Befehlsfolge "Nachrichtenschreibung11 kann jede beliebige Anzahl von Programmschritten umfassen, die lediglich durch die Größe des Speichers des Rechners begrenzt wird. Eine Schreibmaschinenzeile darf jedoch den rechten Rand nicht überschreiten. Wenn der rechte Rand unbeabsichtigt überschritten wird, bleibt das Programm an der zweiten Speicherstelle hinter dem Befehl stehen, welcher die Überschreitung des rechten Randes bewirkt hat, und die Statuslampe leuchtet auf.
Wenn bei einer Befehlsfolge "Datenschreibung" der rechte Rand überschritten wird, bleibt das Programm an der Speicherstelle stehen, die unmittelbar auf den Befehl PRINT folgt, der die Überschreitung des rechten Randes bewirkt hat.
209852/10 05
Beim Programmieren geben zwei Dinge zuweilen zu Irrtümern Anlaß. Wenn beispielsweise in eine Nachricht ein Buchstabe eingefügt werden soll, kann der Anwender nicht ohne weiteres angeben, ob das Zeichen dann groß oder klein und rot oder schwarz geschrieben wird, was natürlich davon abhängt, ob das Tastenfeld des Rechners im umgeschalteten oder im nicht umgeschalteten Zustand und das Farbband auf rot oder auf schwarz geschaltet ist. Eine gemäß folgendem Muster angefertigte Niederschrift erleichtert die laufende Übersicht über das Programm.
STEP BRSU PROG. INST. KEY CODE X Y Z
Dieses Muster entspricht im wesentlichen dem üblichen Programmierformular. Es besitzt lediglich fünf weitere Spalten: B, R, S, U und PROG INST. Zur Markierung der Farbe des Farbbandes wird eine der Spalten B und R abgehakt. In den Spalten S und U kann der Zustand des Tastenfelds des Rechners markiert werden. Die Spalte PROG INST dient dazu, den Schreibmaschinenbefehl zu notieren, der abhängig von dem Modus des Tastenfeldes dem Befehl in der Spalte ,KEY entspricht. In den folgenden Beispielen wird die Spalte PROG INST nur für Schreibmaschinen-Befehlsfolgen verwendet.
Zur Schreibung von Nachrichten werden der linke Randsteller der Schreibmaschine und die Papierführung auf null gestellt. Der Schreibwagen wird dann gegen den linken Randsteller gezogen. Sodann wird Schreibpapier von mindestens 215 mm Breite eingeführt und der rechte Randsteller auf siebzig gestellt. In das x -Register des Rechners wird die Zahl 123.45 eingegeben und es wird der Anzcigemodus FIX (), 3 gewählt.
In dem folgenden Beispiel soll die Nachricht 'The value is" gefolgt von den soeben in das x-Register des Rechners eingogebe-
209852/10 05
493
nen Daten niedergeschrieben werden. Dies wird durch Eintasten der folgenden Befehle bewirkt:
STEP BRSU PROG.INST. KEY CODE XYZ
0000 FMT FMT 123.450
0001 2 2 Il
0002 7 7 Il
0003 / / Il
0004 . 2 2 123.45
0005 FMT FMT Il
0006 2 2 Il
0007 FMT FMT Il
0008 BLK RBN S/R Il
0009 CR/LF CLR Il
0010 · T XTO Il
0011 SHIFT UP Il
0012 h H M
0013 e F. Il
0014 SPACE CNT Il
- 0015 V INT Il
0016 a A Il
0017 I I Il
0018 ü /X It
0019 e F Il
0020 SPACE CNT Il
0021 i I Il
0022 S YTO It
0023 PRINT CNT Il
0024 FMT FMT If
Ausschrieb: "The value is 123.45"
Schritte 0000-0004:
Die Befehlsfolge FMT, 2, w.d setzt ein Feld der Breite sieben mit zv/ei Stellen rechts vom Komma fest. Der Datenpunkt (123.45) erfordert eine Feldbreite von sechs, die Wahl der Feldbreite zu sieben gewährleistet, daß zwischen den Daten und dem letzten ge-
209852/1005
schriebenen Zeichen ein Zwischenraum folgt. Schritte 0008-0009
Der Befehl BLK RIBBON (Schwarzschreibung) im Schritt 0008 stellt sicher, daß die Nachricht in diesem Beispiel schwarz geschrieben wird. Vor diesem Zeitpunkt war der Zustand des Farbbandes bekannt, deshalb ist keine der Spalten B und R markiert.
Der Befehl CR/LF (Wagenrücklauf und Zeilenvorschub) in Schritt 0009 bewirkt, daß die Nachricht ausgehend vom linken Rand geschrieben wird.
Im nächsten Beispiel wird die gleiche Operation mit einer etwas anderen Befehlsfolge durchgeführt. Hier soll die Befehlsfolge "Nachrichtenschreibung'1 dazu verwendet werden, die Nachricht "123.45 squared =" in schwarz zu schreiben und sodann das Farbband auf Rotschreibung umzuschalten. Anschließend wird der Befehl "Datenschreibung" zum Einstellen einr Feldbreite von zehn mit vier Stellen rechts vom Komma und zum Ausschreiben der in dem x-Register enthaltenen Daten gegeben.
Falls die Zahl 123,45 nicht mehr vom letzten Beispiel her in dem x-Register ist, wird sie wieder in das x-Register eingegeben. Es werden die folgenden Tasten in der angegebenen Reihenfolge betätigt:
209852/ 1 005
BRSU Prog.Inst. KEY Code X Y Z
0000 UP 123.45 123.45
0001 X 123.45 123.45
0002 DN 25 15239.9025 15239.9025
0003 FMT FMT Il η
0004 2 2 Il η
0005 FMT FMT η η
0006 CR/LF CLR 20 ti η
0007 1 1 01 η η
0008 2 2 02 Il η
0009 3 3 03 η Il
0010 21 η η
0011 4 4 η Il
0012 5 5 η Il
0013 SPACE CNT Il η
0014 SHIFT UP η Il
0015 S YTO η Il
0016 a a 13 Il ■ι
0017 U /X 14 η Il
0018 a A Il Il
0019 r •ι Il
0020 e F Il Il
0021 It η
0022 SPACE CNT 47 Il Il
0023 = - Il Il
0024 RED RBN S/R Ii η It
0025 FMT FMT 43 η Il
0026 FMT FMT 42 Il It
0027 2 2 . 02 Il Il
0028 1 1 01 Il Il
0029 Il Il
0030 . Il Il
0031 Il It
0032 PRINT CNT η Il
In dem letzten Beispiel V7ar der Befehl BLK RIBBON (Schwarzschreibung) gegeben worden. Seit dem ist die Farbbandfarbe nicht geändert worden. Deshalb kann im Schritt 0003 die Spalte B markiert werden, obwohl kein Befehl BLK RIBBON gegeben worden
209852/1005
Im Schritt 0024 tritt der Befehl RED RIBBON (Rotschreibung) auf, so daß die Daten in dem x-Register rot ausgeschrieben werden. Die Rotschreibung kann, wie erwähnt, nur dadurch in Schwarzschreibung umgewandelt werden, daß entweder ein Befehl BLK RIBBON gegeben oder die Schreibmaschinen-Schnittstelle abgeschaltet wird.
Ausschrieb: "123.45 Squared = 15239. 9025",
Wenn in dem Ausschrieb zwischen dem Zeichen"=" und den Daten kein Zwischenraum erscheint, kann dies auf zwei Arten korrigiert werden:
1. Durch Einstellen von w auf elf.
2, Durch Einfügen des Befehls SPACE unmittelbar hinter dem Befehl "=".
Die Befehlsfolge PMT, 2, LIST ermöglicht es dem Anwender ein in dem Speicher des Rechners enthaltenes Programm aufzulisten. Diese Liste wird spaltenweise geschrieben, wobei jede Zeile die Speicherstelle, das Merkzeichen des an dieser Stelle gespeicherten Befehles und den Kodeschlüssel des Befehls enthält. Die Liste beginnt mit der Stelle des Programmzählers beim Auftreten dieser Befehlsfolge und endet entweder mit einem Befehl END oder bei Betätigung der Taste STOP auf dem Tastenfeld des Rechners. Wenn der Farbband-Modus auf rot eingestellt ist, wird dann die Liste in rot geschrieben.
Ein bestimmtes Schreibmaschinen-Übungsprogramm kann beispielsweise folgendermaßen aufgelistet werden:
2098b? / 1005
Λ SCtF
Tasten: END Ausschrieb;
QQaQ="
QQtI^ GQ33,^
LIST
QQQl--QQQ2^ QQQ3---QQQ4"
D--·?--
Taaten i.h?rer\ ?ugehQrig
Jeäe Taste l^a.t riur ©Inen,
ftf #^¥©Ώ« wieviele ve|r-s.chteä©p.e Fiinkti©n©ii öur<gh dies© Taste.
äes für- i
>, FIJC () CFes.tkpÄiwa)-t IPN' ('Muf) t. , KgY JjQg (^astatm--pro,tok0,ll)J, LIST (Auflistung)
( BAqK STEP (Rtiektast©)
g werden in B.inär-fQrni γς>η sieben
an die zentra-te Verarbeitungsein.h.eit (CPü> B*a diese Tas.tßRkpäes nur für die Steuerung der des Rechners^ ^e.rwendet werden, sind sie nicht programmierbar;* §ie werden niemals vom Ausgabedrucker ausgesehrieben und, hajfee.ft auch keine zugehörige I^erkzeichen. Alle übrigen Tastenko,d;GS werden in sechsstelliger Binär-for-m an die CPU weitergeleitet, sind prograinniierbar und haben ein Merkzeichen fl das vom Ausgabedrucker ausgedruc^t werden kann.
AS8
Tabelle D
Schlüssel Kode Merkzeichen Schlüssel Kode Merkzeichen
O OO 0 GO TO 44 GTO
1 01 1 PRINT 45 PNT
2 02 2 space; 46 END
3 03 3 END 47 CNT
4 04 4 CONTINUE SO χ-«γ
5 05 5 IF X=^y 51 LBL
6 06 6 LABEL 52 X Y
7 07 7 IF χ y 53 X Y
a 10 8 IF x γ 54 SFL '
9 11 9 SET FLAG 55 K
χ2 12 XSQ K 56 Tf
a 13 a T 57 PSE
b 14 b PAUSE 60 E
G 15 G 1 61 C
F 16 F C 62 A
Vx 17 VX A 63 D
CLEAR 20 CLR D 64 INT
* 21 9 int χ 65 I
ROLL t 22 RUP I 66 B
X--i() 23 XTO B 67 XFR
y>.0 24 YE X)fr () 70 η
25 DN M 71 O
ENTER EXP 26 EEX Q 72 L
27 UP L 73 N
X^y 30 XEY N 74 B
INDIRECT 31 IND H 75
CHG SIGN 32 CHS J 76 J**
33 + 77 S/R
34 - SUB 102
- 35 DIV RETURN 1Q3
36 X RECORD IO 4
X 37 CLX LOAD 105
CLEAR χ 4O YTO LIST 1Ο6
y-0 41 STP KEY LOG 107
STOP 42 FMT PRGM HO
FMT 43 IFG RUN 110
IF FLAG FIX ()
FLOAT
0 9 8 5 2/1005
Verarbeitung der Tastenkodes
Die Art und Weise, in welcher von der Tastenfeld-Eingabeeinheit oder von dem Programmspeicherteil der Speichereinheit in die zentrale Verarbeitungseinheit (CPU) eingegebene Tastenkodes weiter verarbeitet werden, ist aus dem Flußdiagramm nach Fig. 13 ersichtlich. Wenn der Rechner eingeschaltet worden ist, arbeitet er solange in dem Anzeigeprogramm, bis eine Taste betätigt wird. Wenn eine der Tasten FLOAT, FIX (), RUN, PRGM, KEY LOG, LIST, LOAD, RECORD, BACK STEP oder STEP PRGM (mit dem siebenstelligen Tastenkode) gedruckt wird, arbeitet der Rechner zunächst in einem Leitprogramm, um festzustellen, welche der Tasten betätigt worden ist, und wählt dann das zur Durchführung der von dieser Taste bezeichneten Funktion erforderliche' Programm aus. Nach Beendigung dieses ausgewählten Programmes kehrt der Rechner wieder in das Anzeigeprogramm zurück.
Wenn eine der anderen Tasten (mit dem sechsstelligen Tastenkode) , bis auf die Taste CONTINUE (fortsetzen), betätigt wird und die Taste PRGM nicht gedrückt worden ist oder von der Taste RUN gefolgt wird, arbeitet der Rechner im Übersetzerprogramm, um festzustellen, welcher der sechsstelligen Tastenkodes empfangen worden ist und um das zum Durchführen der durch diesen sechsstelligen Tastenkode bezeichneten Funktion erforderliche Programm auszuwählen. Nach Beendigung des aus-.gewählten Programmes kehrt der Rechner wieder in das Anzeigeprogramm zurück.
Falls die Taste CONTINUE (fortsetzen) betätigt wird und die Taste PRGM nicht gedrückt worden ist oder von'der Taste RUN gefolgt wird, arbeitet der Rechner in einem Lieferprogramm und holt die von dem Anwender-Programmzähler bezeichneten Tastonkodes nacheinander aus dem Programmspeicherteil des Speichers RWM. Jeder so geholte Tastenkode wird übersetzt und das zum Durchführen der durch diesen bezeichneten Funktion er-
209852/1005
forderliche Programm in der gleichen Weise ausgewählt, wie bei den unmittelbar von der Tastenfeld-Eingabeeinheit stammenden Tastenkodes.
Nach Beendigung des ausgewählten Programmes kehrt der Rechner jedoch in das Lieferprogramm zurück, sofern der geholte Tastenkode nicht ein Befehl STOP, END oder PAUSE (gefolgt von einer Tastenbetätigung) war. In diesen Fällen kehrt der Rechner in das Anzeigeprogramm zurück.
Wenn eine Taste mit sechsstelligem Tastenkode betätigt wird und die Taste PRGM gedrückt und nicht von der Taste RUN gefolgt war, arbeitet der Rechner in einem Speicherprogramm und speichert den von der Tastenfeld-Eingabeeinheit erhaltenen sechsstelligen Tastenkode als Programmschritt in dem Programmspeicherteil des Speichers RWM. Nach Beendigung dieses Speicherprogramms arbeitet der Rechner wieder in seinem Anzeigeprogramm.
Falls die Taste KEY LOG betätigt und nicht von der Taste RUN oder der Taste PRGM gefolgt wird, druckt der Rechner in jedem der genannten Fälle auch noch den von der Tastenfeld-Eingabeeinheit empfangenen Sechstelligen Tastenkode aus.
Das Anzeigeprogramm, das Leitprogramm, das Übersetzerprogramm, die Programme zum Durchführen der verschiedenen durch die sechs- und siebenstelligen Tastenkodes bezeichneten Funktionen und andere vom Rechner benutzte Programme sind in Fig. 14 dargestellt.
Grundbefehls-Liste
Jedes Programm und jedes Unterprogramm des Rechners besteht aus einer Folge· von einem oder mehreren von 71 Grundbefehlen von jeweils sechzehn-bit Länge. Diese 71 Befehle werden von der Mikroprogrammeinheit serienmäßig in einer Zeitspanne ausgeführt, deren Länge von dem jeweiligen Befehl abhängt, ob er indirekt ist und ob Sprungbedingungen erfüllt worden sind.
Nach Beendigung der Ausführung jedes Befehls wird der Programm-
209852/1005
zähler (P-Register) um eins erhöht, bis auf die Befehle JMP, JSM und die Sprungbefehle, bei welchen die Sprungbedingung erfüllt ist. Das M-Register erhält den gleichen Inhalt wie das P-Register. Der Inhalt der adressierten Speicherstelle und die Register A und B bleiben, sofern nicht anders angegeben, unverändert.
Speicherbefragungsgruppe
Die 14 Speicherbefragungsbefehle beziehen sich jeweils auf eine bestimmte Adresse im Speicher, die durch das Adressenfeld <m> , durch das bit "Seite Null/ laufende Seite" und durch das bit"direkt/indirekt" gegeben ist. Das seitenmäßige und das indirekte Adressieren sind dabei im Zusammenhang mit dem Rechner HP 2116 der Anmelderin bereits im einzelnen bekannt.
Das Adressenfeld <.mi> ist ein Feld von 10 bit Länge und enthält die bits 0 bis 9. Das bit "Seite Null/laufende Seite" ist das bit Nr. 10 und das bit "direkt/indirekt" ist das bit 15, bis auf den Fall des Zugriffes zu den Registern A und B, wo das bit Nr. 8 das bit "direkt/indirekt" ist. Ein indirekter Zugriff wird durch <,I> gefolgt von der Adresse -iitii· bezeichnet.
Zugriff zum A- oder B-Register:
Wenn bei einem Speicherzugriffsbefehl anstelle von zm> die Speichersteile <A^> oder <B> verwendet wird, behandelt der Befehl den Inhalt des A- oder B-Registers genauso wie den Inhalt der Speicherstelle <m> . Für den direkten Zugriff zu dem A- oder B-Register besteht jedoch eine Einschränkung, auf die weiter unten eingegangen wird.
ADA m, I "Addiere zu A". Der Inhalt der adressierten Speicherstelle m wird binär zu dem Ixihalt des Α-Registers addiert, die Summe verbleibt im A--Register. Falls vom bit 15 ein
09852/1605
übertrag auftritt, wird in das E-Register 0001 eingegeben, sonst bleibt das Ε-Register unverändert.
ADB m, I "Addiere zu B". Sonst identisch zu ADA.
CPA ra, I "Vergleiche mit A und überspringe wenn ungleich". Der Inhalt der adressierten Speicherstelle wird mit dem Inhalt des Α-Registers verglichen. Wenn die zwei sechzehnstelligen Wörter verschieden sind, wird der nächste Befehl übersprungen, d.h. das P- und M-Register werden nicht um eins, sondern um zwei weitergeschaltet. Sonst wird der nächste Befehl in der normalen Reihenfolge ausgeführt.
CPB m, I "Vergleiche mit B und überspringe wenn ungleich". Sonst identisch mit CPA.
LDA m, I "Lade in A". Das Α-Register wird mit dem Inhalt der adressierten Speicherstelle geladen.
LDB m, I "Lade in B". Sonst identisch mit LDA.
STA m, I "Speichere A". Der Inhalt des Α-Registers wird in die adressierte Speicherstelle eingespeichert. Der frühere Inhalt der adressierten Speicherstelle geht verloren.
STB m, I "Speichere B". Sonst identisch mit STA.
IOR m, I "Inklusive^ ODER mit A". Der Inhalt der adressierten Speicherstelle wird gemäß der logischen Operation "inklusives ODER" mit dem Inhalt des Α-Registers verknüpft.
ISZ m, I "Erhöhe und überspringe wenn null". Zu dem Inhalt der adressierten Speicherstelle v/ird eins addiert. Wenn da; Ergebnis dieser Addition null ist, wird der nächste Befehl übersprungen, d.h. die Register P und M v/erden nicht um ei sondern um zwei weitergeschaltet. Der erhöhte Wert wird an
209852/1005
die adressierte Speicherstelle zurückgeschrieben. Die Verwendung des Befehls ISZ im Zusammenhang mit den Registern A und B ist, wie weiter unten angegeben, auf den indirekten Zugriff beschränkt.
AND m, I"Logisches UND mit A". Der Inhalt der adressierten Speicherstelle wird mit dem Inhalt des Α-Registers gemäß der logischen Operation "UND" verknüpft.
DSZ m, I "Vermindere und überspringe wenn null". Von dem
Inhalt der adressierten Speicherstelle Wird eins abgezogen. Wenn das Ergebnis dieser Operation null ist, wird der nächste Befehl übersprungen. Der verminderte Wert wird in die adressierte Speicherstelle zurückgeschrieben. Die Verwendung des Befehls DSZ im Zusammenhang mit den Registern A und B ist, wie -weiter unten angegeben, auf den indirekten Zugriff beschränkt.
JSM m, I "Springe zu Unterprogramm". Der Befehl JSM ermöglicht den Sprung zu einem Unterprogramm sowohl im Speicher ROM als auch im Speicher RWM. Der Inhalt des P-Registers wird an der Adresse abgespeichert, die an der Stelle 1777 enthalten ist (Stapelzeiger). Der Inhalt des Stapelzeigers wird um eins erhöht und die Register M und P mit der befragten Speicherstelle beladen.
JMP m, I "Sprung". Dieser Befehl überträgt die Steuerung an den Inhalt der adressierten Speicherstelle. Die befragte Speicherstelle wird sowohl in das M-Register als auch in das P-Register geladen, wodurch ein Sprung an diese Stelle bewirkt wird.
Verschiebung und Drehung
Die acht Schiebe-Drehungs-Befehle enthalten jeweils ein vier-
209852/ 1005
stelliges Schiebefeld <n>, welches eine Verschiebung von ein bis sechzehn bits ermöglicht, d.h. 1 < η <. 16. Wenn die Angabe <n> weggelassen wird, erfolgt eine Verschiebung um ein bit. Der Schiebekode in den bits 8,7,6 und 5 ist der Binärkode für n-1, bis auf SAL und SBL, wo der Komplementärkode für n-1 verwendet wird.
AAR η "Arithmetische Rechtsverschiebung von A11. Das A-Register wird um η Stellen nach rechts verschoben, wobei die Vorzeichenstelle (bit 15) alle leergewordenen Stellen füllt. Dies bedeutet, daß die n+1 bedeutsamsten Stellen gleich der Vorzeichenstelle werden.
ABR η "Arithmetische Rechtsverschiebung von B". Sonst identisch zu AAR.
SAR η "Rechtsverschiebung von A". Das Α-Register wird um
η Stellen nach rechts verschoben, wobei alle geleerten Stellen gelöscht werden. Dies bedeutet, daß die η bedeutsamsten Stellen gleich null werden.
SBR η "Rechtsverschiebung von B". Sonst identisch mit SAR.
SAL η "Linksverschiebung von A". Das Α-Register wird um η
Stellen nach links verschoben, wobei die η unbedeutendsten Stellen gleich null werden.
SBL η "Linksverschiebung von B". Sonst identisch mit SAL.
RAR η "Rotiere A rechts". Das Α-Register wird um η Stellen nach rechts rotiert, wobei das bit 0 nach bit 15 eingeschrieben wird.
RBR η "Rotiere B rechts". Sonst idertisch mit RAR.
2098 5 2/1005
ändern - überspringen
Die sechzehn Ändern-Überspringe-Befehle enthalten jeweils ein 5-stelliges Überspringfeld in <n>, welches eine relative Verzweigung zu einer von 32 Stellen ermöglicht, wenn die überspring-Bedingung erfüllt ist. Die bits 9, 8, 7, 6 und 5 sind für eine positive oder negative relative Verzweigung kodiert, bei welcher die Zahl <.n> gleich der zu der laufenden Adresse zu addierenden Zahl ist (Überspringen in Vorwärtsrichtung) und die Zahl<-n> diejenige, die von der laufenden Adresse abgezogen werden muß (überspringen in Rückwärtsrichtung). Wenn der Wert Cn^ weggelassen wird, wird dieser als Eins ausgelegt.
wiederhole den gleichen Befehl führe nächsten Befehl aus überspringe einen Befehl addiere 15 zur Adresse führe vorhergehenden Befehl aus subtrahiere 16 von Adresse führe nächsten Befehl aus
Die Änderungsstellen bestehen aus den Stellen 10 und 4. Ein dem Befehl folgender Buchstabe in <s> führt in bit 10 eine Eins ein, wodurch das geprüfte bit nach der Prüfung eingestellt wird. In ähnlicher Weise bewirkt der Buchstabe <c> das in bit 4 eine Eins eingeführt wird, um das·Prüf-bit zu löschen. Falls sowohl ein Setz- als auch ein Lösch-bit angegeben werden, überwiegt die Setz-Anweisung. Die Änderungs-bits beziehen_sich nicht auf die Befehle SZA, SZB, SIA und SIB.
SZA η "Überspringe wenn A null". Wenn alle 16 bits des A-Registers null sind, wird die durch η angegebene Stelle über· Sprüngen.
SZB η "Überspringe wenn B null". Sonst identisch mit SZA.
<n>=0 CODE=OOOOO
<n>=l CODE=OOOOl
<n>=2 CODE=OOOlO
<n>=15 CODE=OIlIl
<n^=—1 CODE=IIlIl
^n^=—16 CODE=IOOOO
k.Ana. CODE=OOOOl
20 9852/1005
RZA η "überspringe wenn A nicht null". Gegenteil von SZA.
RZB η "Überspringe wenn B nicht null". Sonst identisch mit RZA.
SIA η "Überspringe wenn A null, dann erhöhe A". Das A-Register wird auf null geprüft, dann um eins erhöht. Wenn alle 16 bits vor der Erhöhung null waren, überspringe die durch η gegebene Stelle.
SIB η "Überspringe wenn B null, dann erhöhe B". Sonst identisch mit SIA.
RIA η "Überspringe wenn A nicht null, dann erhöhe A". Gegenteil von SIA. .
RIB η "überspringe, wenn B nicht null, dann erhöhe B". Sonst identisch mit RIA.
SLA n,S/C "Überspringe wenn unbedeutsamstes bit von A null". Wenn das unbedeutsamste bit (bit 0) des Α-Registers null ist, überspringe die durch η gegebene Stelle. Wenn entweder S oder C vorhanden ist, wird das Prüf-bit nach der Prüfung entsprechend geändert.
SLB n, S/C "Überspringe wenn unbedeutsamstes bit von B null". Sonst identisch mit SLA..
SAM η, S/C "Überspringe wenn A minus". Wenn die Vorzeichenstelle (bit 15) des Α-Registers eins ist, überspringe die durch η gegebene Stelle. Wenn entweder S oder C vorhanden ist, wird bit 15 nach der Prüfung geändert.
SBM n, S/C "Überspringe wenn B minus". Sonst identisch mit
SAM.
209852/1005
SAP nf S/C "Überspringe wenn A positiv". Wenn die Vorzeichenstelle (bit 15) des Α-Registers Null ist, überspringe die durch η gegebene Stelle. Wenn entweder S oder C vorhanden ist, wird nach der Prüfung bit 15 geändert.
SBP n, S/C "Überspringe wenn B positiv". Sonst identisch mit SAP.
SES nf S/C "Überspringe wenn unbedeutsamstes bit von E eingestellt". Wenn das bit O des Ε-Registers eine Eins enthält, überspringe die durch η gegebene Stelle. Wenn entweder S oder C vorhanden ist, wird das gesamte Ε-Register eingestellt bzw. gelöscht.
SEC n, S/C "Überspringe wenn unbedeutsamstes bit von E gelöscht" Wenn das bit O des Ε-Registers eine Null enthält, überspringe die durch η gegebene Stelle. Wenn entweder S oder C vorhanden ist, wird das gesamte Ε-Register eingestellt bzw·. gelöscht. t
Komplement und direkter Speicherzugriff
Die folgenden sieben Befehle umfassen Komplementieroperationen und verschiedene Spezialbefehle, die das Ausdrucken und umfangreiche Speicheroperationen beschleunigen.
CMA "Komplementiere A". Das Α-Register wird durch sein Einer-Komplement ersetzt.
CMB "Komplementiere B". Das B-Register wird durch sein Einer-Komplement ersetzt.
TCA "Zweier-Komplement von A". Das Α-Register wird durch sein Einer-Komplement ersetzt und um eins erhöht.
TCB "Zweier-Komplement von B". Das B-Register wird durch sein Einer-Komplement ersetzt und um eins erhöht.
209852/1005
EXA "Führe A aus". Der Inhalt des Α-Registers wird als laufender Befehl behandelt und in der üblichen Weise ausgeführt. Das Α-Register bleibt unverändert sofern nicht der Befehlskode eine Änderung von A bewirkt.
EXB "Führe B aus". Sonst identisch mit EXA.
DMA "Direkter Speicherzugriff". Der direkte Speicherzugriff im erweiterten Speicher wird dadurch wirksam gemacht, daß das indirekte bit in M eingestellt und ein Befehl WTM gegeben
wird. Der nächste ROM-Taktimpuls überträgt A nach M und
die folgenden beiden Arbeitsspiele B nach M. Der ROM-Taktimpuls bleibt solange gesperrt, bis er von der DMA-Steuerung wieder freigegeben wird.
Spezielle Einschränkung für den direkten Zugriff zu den Registern A und B
Für die fünf Registerzugriffbefehle, die bei ihrer Ausführung
eine Schreiboperation umfassen, muß ein Registerzugriff zum A-
oder B-Register auf einen indirekten Zugriff beschränkt werden. Die Befehle sind STA, STB, ISZ, DSZ und JSM. Ein direkter Zugriff zu den Registern A und B bei diesen Befehlen kann eine
Programmänderung bewirken. (Dies ist hier anders als beim Rechner HP 2116, bei welchem ein Speicherzugriff zum A- oder B-Register als Zugriff zu den Speicherstellen 0 bzw. 1 behandelt
wird.) Ein Zugriff zu den Speicherstellen 0 oder 1 bezieht sich tatsächlich auf die Speicherstellen O oder 1 in dem Auslesespeicher ROM.
Eingabe-Ausgabe (IQG)
Die elf Eingabe-Ausgabe-Befehle werden, wenn sie zusammen mit
einem Auswahlkode gegeben werden, zum Überprüfen, Einstellen
oder Löschen von Markierungs-bits und zum Steuern von flip-flops verwendet sowie zum Übertragen von Daten zwischen den Registern A und B und den I/O-Registern.
209852/1 005
STF <SC> "Markierungs-bit einstellen". Es wird das Markierungs-flip-flop des durch den Auswahlkode <SC> angezeigten Kanals eingestellt.
CLF <SC> "Lösche Markierungs-bit". Es wird das Markierungsflip-flop des durch den Auswahlkode <SC> angezeigten Kanals gelöscht.
SFC <SC> "überspringe wenn Markierungs-bit gelöscht". Wenn in dem durch <SC> angegebenen Kanal das Markierungsflip-flop gelöscht ist, wird der nächste Befehl übersprungen.
SFS <SC> H/C "Überspringe wenn Markierungs-bit gesetzt". Wenn
in dem durch <SC> angegebenen Kanal das Markierungs flip-flop eingestellt ist, wird der nächste Befehl übersprungen. H/C zeigt dabei an, ob das Markierung -flip-flop in seiner Stellung belassen oder nach Ausführung des Befehls SFS gelöscht werden soll.
CLC 4'SC> H/C "Lösche Steuerung". In dem durch <SC> angegebenen Kanal wird das Steuer-flip-flop gelöscht. H/C zeigt dabei an, ob das flip-flop in seiner Stellung belassen oder nach Ausführung des Befehls CLC gelöscht werden soll.
STC <SC> H/C "Setze Steuerung". In dem-durch <SC> angegebenen Kanal wird das Steuer-flip-flop eingestellt. H/C zeigt dabei an, ob das flip-flop in seiner St'ellunc belassen oder nach Ausführung des Befehls STC gelöscht werden soll.
OT* <SC> H/C "Ausgabe A oder B"'. Sechzehn bits des A/B-Register: werden an das I/O-Register ausgegeben. H/C ermög- licht ein Beibehalten der Stellung oder ein Lösche: des Markierungs-flip-flops nach Ausführung des Befehls OT*. Die verschiedenen Auswahlkodes er-
209852/1005
möglichen es, verschiedene Funktionen ablaufen
zu lassen, nachdem das I/O-Register geladen
worden ist.
SC=OO Die Daten vom A- oder B-Register werden
bei jedem auftretenden OT*-Befehl jeweils zu acht bits gleichzeitig ausgegeben. Das A- oder B-Register v/ird dann um acht
bits nach rechts rotiert.
SC=Ol Das I/O-Register wird mit 16 bit vom
A/B-Register geladen.
SC=02 Die Daten vom A/B-Register werden zum
Zwecke der Übertragung an den Magnetkartenleser jeweils ein bit pro OT^-Befehl ausgegeben. Das I/O-Register bleibt unverändert.
SC=04 Das I/O-Register wird mit 16 bits vom
A/B-Register geladen und sodann das Steuerflip-flop für den Drucker eingestellt.
SC=08 Das I/O-Register wird mit 16 bits vom
A/B-Register geladen und sodann das Steuerflip-flop für die Anzeige eingestellt.
SC=16 Das I/O-Register wird mit 16 bits vom
A/B-Register geladen und sodann der Inhalt der I/O-Register an die Schalter-Verriegelungsschaltungen übertragen.
LI* 01 H/C "A oder B laden". Vom I/O-Register werden 16
Daten-bits in das A/B-Register geladen. H/C ermöglicht ein Halten odor Löschen des Markierungsflip-flops, nachdem der Befehl LI*1 ausgeführt
worden ist.
209852/1005
Die unbedeutsamsten 8 Stellen des I/O-Registers werden in die bedeutsamsten Stellen des A- oder B-Registers geladen.
MI* <01> H/C "Mische in A oder B". Mische 16 Daten-bits aus dem I/O-Register in das A/B-Register durch Ausführung des "inklusiven ODER". H/C ermöglicht das Halten oder Löschen des Markierungs-flip-flops nach dem der Befehl MI"*" ausgeführt worden ist.
<00> Die unbedeutsamsten 8 bits des I/O-Registers
werden durch das "inklusive ODER" mit den unbe deutsamsten 8 bits des A- oder B-Registers kom " biniert und in die bedeutsamsten Stellen des A oder B-Registers rotiert.
MACrBefehle
Es stehen insgesamt 16 MAC-Befehle für den Betrieb zur Verfügung
(a) mit den gesamten Gleitkomma-Daten (transfer, Verschiebung etc.) oder
(b) mit jeweils zwei Gleitkomma-Datenworten, um bei arithmetxschen Programmen die Stellen- und Wortschleife zu beschleunigen.
^A 3>bedeutet dabei Inhalt der bits 0 bis 3 des A-Registers.
AR 1 ist ein Merkzeichen für die arithmetischen Pseudc Register, die in dem RWM-Speicher an den Adresser: 1744 bis 1747 (oktal) angeordnet sind
AR 2 ist ein Merkzeichen für die arithmetischen Pseudc Register, die in"dem RWM-Speicher an den Adresser 1754 bis 1757 (oktal) angeordnet sind.
D. bedeutet: Mantissen der iten Dezimalstelle; bedeutsamste Stelle ist Dl
unbedeutsamste Stelle ist D12 Dezimalpunkt (Komma) liegt zwischen Dl und D2
209852/1005
Jede Operation mit Mantissen ist eine binärkodierte Dezimaloperation.
RET n Rückkehren11
Die sechzehnstellige Zahl an der höchsten in Anspruch genommenen Adresse des Stapels wird an die P- und M-Register übertragen. Der Stapelzeiger (= nächste freie Adresse im Stapel) wird um eins erniedrigt. <Ά}, <Β>, <E>, bleiben unverändert.
MOV "Bewege Überlauf"
Der Inhalt des Ε-Registers wird nach AQ_3 übertragen. Der Rest des Α-Registers und des Ε-Registers werden mit Nullen gefüllt. <B> bleibt unverändert.
CLR "Lösche ein Gleitkomma-Datenregister im RWM-Speicher an der Speicherstelle <A>"
Null-*<A>, <A> +1, <A> +2, <A> +3
<A>, <B>, <E>. bleiben unverändert.
XFR "Gleitkomma-Datentransfer innerhalb des RWM-Speichers von Speicherstelle <A>nach Speicherstelle < B^- ". Das Programm beginnt mit dem Transfer des Exponentwortes. Die Daten an der -Speicherstelle <A> bleiben unverändert. <E> bleibt unverändert.
MRX Die Mantisse ARl wird in mal nach rechts verschoben.
Das Exponentwort bleibt unverändert. C Β ο_3^> = n (binär
verschlüsselt).
Erste Verschiebung: <AQ_3>-*D ; 0JT^D-J+I? 0T? ^e^xt verloren. j te Verschiebung: 0^0I'' D.->Di+l; D-, 2 geht verloren, nte Verschiebung: Θ-^D·,; D.-}D. ,·,; Di2~^Y)-3·
0^' A4-15 jede? Verschiebung: <B _>—l-VB ^
^B4-1„> bleiben unverändert.
209852/1005
MRY Die Mantissen AR2 werden η mal nach rechts verschoben. Sonst identisch zu MRX.
MLS Die Mantissen AR2 werden einmal nach links verschoben. Das Exponentwort bleibt unverändert.
<B> bleibt unverändert.
DRS Die Mantisse ARl wird einmal nach rechts verschoben. Das Exponentwort bleibt unverändert.
und A4-15
<B> bleibt unverändert.
209852/1005
DLS "Mantisse ARl wird um eins nach links verschoben". Das Exponentwort bleibt unverändert.
KJ~ J XZ X IX 1 VJ~*J
<B> unverändert
FXA "Festkomma Addition"
Die Mantissen in den Pseudo-Registern AR2 und ARl werden aufaddiert und das Ergebnis wird in AR2 eingeschrieben. Beide Exponentenworte bleiben unverändert. Wenn ein Überlauf auftritt, wird in das E-Register 0001 eingegeben, andernfalls ist <E> null.
<AR2> + <AR1> + DC > AR2
DC = θ wenn vor Ausführung des Programms <E> = 0000 DC = 1 wenn vor Ausführung des Programms <E> = 1111 <Έ;>, <"AR1> unverändert
FMP "Schnelle Multiplikation"
Die Mantissen in den Pseudo-Registern AR2 und ARl werden <B_ o> mal aufaddiert und das Ergebnis v/ird in AR2 eingeschrieben. Der gesamte dezimale Überlauf v/ird in A _ eingegeben. Beide Exponentenv/orte bleiben unverändert.
<AR2> + <AR1> *<B^ ^>+DC ^- AR2 '
DC = 0, v/enn vor Ausführung des Programms <E> = 0000 DC = 1, wenn vor Ausführung des Programms <iE> = 1111 ZERO ·* E, A4-15
<AR1> unverändert
20 96 52/10 05
FDV "Schnelle Division"
Die Mantissen in den Pseudo-Registern AR2 und ARl werden so oft aufaddiert, bis ein erster dezimaler Überlauf auftritt. Das Ergebnis wird in AR2 eingegeben. Beide Exponentenworte bleiben unverändert. Jede Addition ohne Überlauf bewirkt eine Erhöhung von C*B7 um +1.
1. Addition: <AR27 + <AR1> + DC -;>AR2
DC = 0, wenn vor Ausführung des Programms <E> = 0000 DC = 1, wenn vor Ausführung des Programms <1E> = 1111
nächste Additionen: <AR2> + <AR1> -?'AR2 ZERO ■> E ~
<"AR1> unverändert
CMX Das Zehnerkomplement der Mantisse ARl wird in ARl zurückgeschrieben und das Ε-Register wird auf Null gesetzt. Das Exponentenwort bleibt unverändert. <fB> bleibt unverändert
CMY Zehnerkomplement der Mantisse AR2. Sonst identisch mit CMY
MDY "Dezimalerhöhung der Mantisse"
Die Mantisse an der Stelle K A> wird auf der Stufe D-, 2 XXPR eine dezimale Eins erhöht. Das Ergebnis v/ird an die gleiche Stelle zurückgeschrieben und in das Ε-Register wird null eingegeben.
Das Exponentwort bleibt unverändert.
Wenn ein Überlauf auftritt, ergibt sich die Mantisse zu 1,000 0000 0000 (dezimal)
209852/1005
und in das Ε-Register wird 0001 (binär) eingegeben, bleibt unverändert.
NRM "Normalisation"
Die Mantisse in dem Pseudo-Register AR2 wird nach links rotiert, um D, ^ 0 zu erreichen. Die Anzahl dieser vierstelligen Linksverschiebungen wird in binärer Form in BQ_3 gespeichert (<B4_15>=°)
wenn
B. o>= 0,1,2,. . . , 11 (dezimal) $><E> = 0000 wenn <BQ>_3> = 12 (dezimal) =5>Mantisse = null und <Έ> 0001 Das Exponentenwort bleibt unverändert <?A> bleibt unverändert.
Die Binär-Kodes aller oben angeführter Befehle sind in der folgenden Kodiertabelle angeführt. Hierbei bedeutet *" das A oder B-Register, D/I direkt/indirekt, A/B A-Register/B-Register, Z/C null- (Grund-)/laufende Seite, H/S, Prüf-bit halten/einstelle und H/C Prüf-bit halten/löschen. Die Werte D/I, A/B, Z/C, H/S, und H/C werden wie O/l'kodiert.
209852/ 1 005
KODIER - TABELLE
GRUPPE OKTAL BEFEHL AD* 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P O 1 O
CIiE1TOHCT CP-* /-» Vc O
o fCiX Uli Γι 1
BEFRA-
LD* U
O
U
O
1 1
GUNGS ·— O _»■_·■> ST=* O 1 O 1
GRUPPE -3 IOR O 1 1 % O
-4 ISZ ft 1 O O O 2Zc O
-4 AND *k 1 O O 1 2Zc O
-5 DSZ 1 O 1 O z/c O
-5 JSM 3Il 1 O 1 1 Vc O
—6———— JMP i 1 1 O O Vc O
-6 _ A*R 1 1 O 1 Ve O
VER 07—0 S*R O 1 1 1 % - «eVERSCHIEBE-·? - O 1 O O
SCHIE 07—2 S*L O 1 1 1 - KODE O 1 1 O
BEN - 07—4 R*R O 1 1 1 - - - O O O
DREHEN 07 6 SZ * O 1 1 1 O 1 O
VERÄN 07 O RZ* O 1 1 1 16 O ÜBERSPRING O 1 O O
DERN 07 O SI* O 1 1 1 % 1 KODE O 1 O O
- 07 O RI* O 1 1 1 •ti O 1 1 O O
ÜBER 07 O SL* O 1 1 1 ti 1 1 1 O O
SPRIN 07 1 S*M O 1 1 l" % Vk 1 O 1
GEN 07 2 S*P O 1 1 1 «/c 1 1 O
07 3 SES O 1 1 1 1 1 1
07—4 SEC O 1 1 1 46 $- 1 O O
07 5 O 1 1 1 «/5 1 O 1
20 9 852/1005
KODIER-TABELLE - Fortsetzung 1
GRUPPE OKTAL BEFEHL 15 14 13 12 11 10 9 8 . 7 6 5 4 3 2 1 O
SPEI 07 — 17 ADA O 1 1 1 % O O O O 1 1 1 1
CHER 07 — 37 ADB O 1 1 1 % - - O O O 1 1 1 1 1
BEFRA- 07—57 CPA O 1 1 1 *h - - ΐ O O 1 O 1 1 1 1
GUNGS 07—77 CPB O 1 1 1 % - - O O 1 1 1 1 1 1
GRUPPE 07 — 17 LDA O 1 1 1 ,*& - - O 1 O O 1 1 1 1
07-37 LDB O 1 1 1 Vi? - - % O 1 O 1 1 1 1 1
07-557 STA O 1 1 1 y& - - 1 O 1 1 O 1 1 1 1
07-577 STB O 1 1 1 - - 1 O 1 1 1 1 1 1 1
07 — 17 IOR O 1 1 1 - - % 1 O O O 1 1 1 1
07-637 ISZ ' O 1 1 1 Vs - - 1 1 O O 1 1 1 1 1
07—57 AND O 1 ^ 0 - - Sfn 1 O 1 O 1 1 1 1
07-677 DSZ O 1 1 1 - - 1 1 O 1 1 1 1 1 1
07-717
07 — 37
JSM
JMP
O
O
1
1
1
1
1
1
3 - - 1 1
1
1
1
O
O
O 1 1 1 1
DMA 07-016 EX* O 1 1 1 Ά _ _ _ _ O O 1 1 1 O
BERECH 070036 DMA O 1 1 1 O - - - - - O 1 1 1 1 O
NEN - 07-056 CM* O 1 1 1 - - - - - 1 O 1 1 1 O
AUSFÜH 07-076 TC* O 1 1 1 - - - - - - 1 1 1 1 1 O
REN
EINGABE 1727 — STF 1 1 1 1 _ 1 O 1 1 1 1< . AUSWAHL
5 KODE
- 1737 — CLF 1 1 1 1 - 1 1 1 1 1 1
AUSGABE 17-7 — SFC 1 1 1 1 - 1 ;(/c 1 1 1 O
GRUPPE JL ι ~> —— SFS 1 1 1 1 - 1 Vc 1 O 1 O
17-5 — CLC 1 1 1 1 - 1 Yc 1 O 1 1
17-6 — STC 1 1 1 1 - 1 1 1 O O
17-1— OT* 1 1 1 1 1 Yt O O 1 1
17-2 — LI* 1 1 1 1 1 Vc O 1 O 1
17-0— MT * 1 1 1 1 1 O O O 1
209852/1 005
KODIER-TABELLE - Fortsetzung 2
GRUPPE OKTAL BEFEHL RET 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 O
MAC 170402 MOV 1 1 1 1 O O O 1 O O O O O O 1 O
GRUPPE 170002 CLR " 1 1 1 1 O O O O O O O O O O H O
170000 XFR 1 1 1 r-i O O O O O O O O O O O O
170004 MRX 1 1 1 1 O O O O O O O O O 1 O O
174430 MRY 1 1 1 1 1 O O 1 O O O 1 1 O O O
174470 MLS 1 1 1 H 1 O .0 ■Η O O 1 1 1 O O O
171400 DRS r-i 1 rH 1 O O 1 1 O O O O O O O O
170410 DLS 1 1 1 1 O O O H O O O O 1 O O O
175400 FXA 1 ί 1 1 1 O 1 rH O O O O O O O O
170560 FMP r-i 1 1 1 O O O 1 O 1 1 1 ό O O O
171460 FDV r-i 1 r-i rH O O 1 1 O O 1 rH O O O O
1704 20 CMX rH 1 1 1 O O O 1 O O O 1 O O O O
174400 CMY 1 1 1 rH rH O O r-i O O O O O O O O
170400 MDI 1 1 1 1 O O O 1 O O O O O O O O
170540 NRM 1 1 1 1 O O O 1 O 1 1 O O O O O
171450 1 1 r-i 1 O O 1 1 O O 1 O 1 O O O
209852/ 1 005
Ausführliche Aufstellung der Programme und Unterprogramme mit den Grundbefehlen
Im folgenden wird eine vollständige Aufstellung aller Programme und Unterprogramme mit den von dem Rechner verwendeten Grundbefehlen gegeben sowie aller in diesen Programmen und Unterprogrammen verwendeten Konstanten. Alle dieser Programme, Unterprogramme und Konstanten sind entweder in dem Grund- Auslesespeicher ROM oder in dem hiermit verwendeten einsteckbaren ROM-Moduln gespeichert. Jede Seite einer bestimmten Gruppe von Programmen, Unterprogrammen und Konstanten ist in der linken oberen Ecke durchnummeriert und jede Zeile einer Seite ist links in der ersten Spalte getrennt durchnummeriert. Hierdurch soll die Bezugnahme auf bestimmte Teile der Aufstellung erleichtert werden. Weiterhin werden in der Aufstellung Zwischenüberschriften verwendet, um Programme, Unterprogramme, konstante Gruppen, verschiedene Teile des Auswahlspeichers ROM, die einsteckbaren ROM-Moduln usw. näher zu bezeichnen. Jeder Befehl eines Programmes oder Unterprogrammes und jede in dem Auswahlspeicher ROM oder in einem einsteckbaren ROM-Modul gespeicherte Konstante wird in der dritten Spalte der Seite sechsstellig in Oktalform dargestellt. Die Adresse der ROM-Speicherstelle, an welcher jeder solcher Befehl oder jede solche Konstante abgespeichert ist, wird in der zweiten Spalte der Seite in fünfstelliger Oktalform dargestellt.
In der vierten Spalte von links einer jeden Seite werden für die meisten Konstanten und für viele der Befehle Merkzeichen angegeben, die als symbolische Adressen oder als Kurzbezeich-
209852/ 1 005
nungen dienen, vim die Bezugnahme auf diese Konstanten una Befehle sowie auf zugeordnete Befehle zu erleichtern. In der fünften Spalte von links sind die Merkzeichen der Grundbefehle und der Pseudo-Befehle angegeben. Wie bereits erwähnt, wird jeder Grundbefehl als Programmschritt eines aus mindestens einem Grundbefehl bestehenden Programmes oder Unterprogrammes verwendet und besitzt daher eine ROM-Adresse. Pseudo-Befehle wie ORG, EQU usw., welche nicht unter den oben angegebenen 71 Grundbefehlen auftreten und als Pseudo-Befehle erkennbar sind, werden zur Steuerung des Assemblers benutzt, der die symbolische Kodierung der Merkzeichen in den vierten, fünften und sechsten Spalten in die Adressen und den Inhalt der ROM-Register übersetzt, welche in den zweiten und dritten Spalten auftreten. (Näheres ist dem Kapitel des Hewlett-1 Packard-Anweisungsheftes "Assembler Programmer^ Reference Manual vom April 1970 zu entnehmen.) Pseudo-Befehle werden nicht als Programmschritte in von dem Rechner ausgeführten Programmen und Unterprogrammen verwendet und besitzen daher keine ROM-Adresse. In der sechsten Spalte von links jeder Seite sind Operanden-Kodes in Merkzeichen-Form angegeben und rechts davon Bemerkungen mit weiteren Erläuterungen. Das Format, die Anordnung und die Verwendung dieser Aufstellung sind in dem oben erwähnten Anweisungsheft ausführlich beschrieben.
209852/1005
Seite 0002 01 KONSTANTENGEBIET EINLEITUNG
0001 00003 000004 ASMB,A, I 3,L 3B
0003 00003 0017 50 ORG 4
0004 00004 001740 XADDP OCT 1750
0005 00005 001760 XADD OCT 1740
0006 00006 001764 YADD OCT 1760
0007 00007 001770 ZADD OCT 1764
0003 00010 001720 AADD OCT 1770
0009 00011 001724 BADD OCT 1720
0010 00012 001730 TlAD OCT 1724
0011 00013 001734 T2AD OCT 1730
0012 00014 ΌΟ1744 T 3AD OCT 1734
0013 00015 001754 T 4AD OCT 1744
0014 00016 000000 ARlAD OCT 1754
0015 00017 000021 AR2D OCT 1
0016 00020 000041 DISP BSS 21
0017 00021 000047 DPNT OCT 41
0018 00022 177773 STOP OCT 47
0019 00023 177766 CONTK OCT -5
0020 00024 177577 M5 DEC -10
0021 00025 176777 MIO DEC 177577
0022 00026 001000 CMSK OCT 176777
0023 00027 077760 PMSK OCT 1000
0024 00030 mm RMSK OCT 77760
0025 00031 177000 FMSK OCT — 1
0026 00032 001660 Ml DEC 177000
0027 00033 000003 MMSK OCT 1660
0028 00034 000000 RBAD OCT 3
0029 00035 000000 .3 DEC 1
0030 00036 001710 NEXE . BSS 1
0031 00037 000000 NUMBE BSS 1710
0032 00040 001716 RBADl OCT. 1
0033 00041 000000 RINCl BSS 1716
0034 00042 INTA OCT 1
003 5 OPERl BSS
209852/1005
0036 00043 000177 KMSK OCT 177
0037 00044 001712 SSP OCT 1712
0038 00045 111000 INM OCT 111000
0039 00046 001702 USP OCT 1702
0040 00047 012014 UPC OCT 12014
0041 00050 000000 RLA BSS 1
0043 00001 ORG IB
0044 00001 043060 OCT 43060
0045 12000 ' ORG 12000B
0046 REP 12
0047 12000 000000 OCT 0
0047 12001 000000 OCT 0
0047 12002 000000 OCT 0
0047 12003 000000 OCT 0
0047 12004 000000 OCT 0
0047 12005 000000 OCT 0
0047 12006 000000 OCT 0
0047 12007 000000 OCT 0
0047 12010 000000 OCT 0
0047 12011 000000 OCT 0
0047 12012 000000 OCT 0
0047 12013 000000 OCT 0
0049 00051 ORR
0050 00051 000000 NINCR BSS 1
0051 00052 000000 CLRlA BSS 1
0052 00053 000200 TBLE OCT 200
0053 00054 177774 M4 DEC -4
0054 *
0055 00055 162000 MAX OCT 162000
0056*
0057 00056 000065 ONAD OCT 65
0058 00057 114631 NINE OCT 114631
0059 00060 174013 MPWD DEC -2037
0060 00061 000044 GTOK OCT 44
0061 00062 000051 LBLK OCT 51
209852/1005
0062 00063 000001 ί; .1 OCT 1
0063 00064 000070 ,ER PIAD OCT 70
0064 00065 000000 ONE OCT O
0065 00066 010000 OCT 10000
0066 00067 000000 OCT O
0067 00070 000000 OCT O
0068 00071 030501 PI OCT 30501
0069 0007 2 054446 OCT 54446
0070 0007 3 051540 OCT 51540
0071 00074 000026 EEXK OCT 26
0072 0007 5 000032 CNSK OCT 32
0073 00076 000000 EEXA BSS 1
0074 00077 177775 M3 DEC -3
0075 00100 000077 GSBK OCT 77
0076 00101 177400 MASK OCT 177400
0077 00102 012001 NORM OCT 12001
0078 00103 012000 EXCF OCT 12000
0079 00104 000012 .10 DEC 10
0080 00105 000400 Sl OCT 400
0081 00106 000014 .12 DEC 12
0082 00107 012002 PRTF OCT 12002
0083 00110 000045 PRTK OCT 45
0084 00111 012013 SECW OCT 12013
0085 00112 001707 USTKL OCT 1707
0086 00113 002000 KLOG OCT' 2000
0087 00114 002000 CLRM OCT 2000
0088 END
* NO ERRORS
KEINE FEHI
209852/1005
PROGRAMMABLE OPTION PROP (PROGRAMMIERBARE WAHLMÖGLICHKEIT)
Olli 05107 045701
ISZ PCNT
0112 05110 055701 GT03 DSZ PCNT
0113 05111 025717 LDB ATMP
0114 05112 005707 ADB KBAS
0115 05113 045721 ISZ SUBF
0116 05114 165721 JMP SUBF,I
0117 05115 074117 SGT LDA B
0118 05116 031720 STA ADDRC'
0119 05117 000055 ADA MAX
0120 05120 070352 SAM *+7
0121 05121 120103 LDA EXCF,I
0122 05122 .070210 SZA *+4
0123 05123* 025701 LDB PCNT
0124 05124 004023 ADB M5
0125 05125 035701 STB PCNT
0126 05126 066110 JMP EMST
0127 05127 035701 STB PCNT
0128 05130 12 4103 LDB EXCF,I
0129 05131 076110 RZB *+2
0130 05132 066122 JMP 4122B
0131 05133 035722 STB NUMF
INCREMENT THE PROG COUNTER (ERHÖHE)
DECREMENT THE PROG COUNTER (ERNIEDRIGE)
LOAD THE ADDRESS VALUE (LADE) FIND ABSOLUTE ADDRESS
(ABSOLUTE ADRESSE) SUBROUTINE JUMP?
(UNTER PROGRAMMSPRUNG) YES7CHANNEl TO GOSUB
(JA, EINLEITEN) TAKE A COPY OF THE ADDRESS (KOPIEREN) RESET THE ADDRESS COUNTER
(RÜCKSTELLEN) CHECK IF OUT OF RANGE (PRÜFEN) SKIP IF WITHIN RANGE (ÜBERSPRINGEN) LOAD THE EXECUTE FLAG (LADEN) SKIP IF IN CALCULATOR MODE (ÜBERSPRINGEN)
LOAD THE PROF COUNTER (LADEN) BACK UP THE PROG COUNTER (RÜCKSETZEN)
LIGHT THE ERROR LIGHT AND STOP (FEHLERLAMPE, HALT)
LOAD THE EXECUTION FLAG (LADEN)
SKIP IF EXECUTING A PROG (ÜBERSPRINGEN) TERMINATE (BEENDEN) RESET THE NUMBER FLAG (RÜCKSTELLEN)
209852/1005
0132 05134 064167
JMP INIT
RETURN (RÜCKKEHREN)
O134*GOSUR PROCESSING (UNTER PROGRAMMÄNSCHLÜSS) 0135 05135 021710 GSUB LDA USTK LOAD THE U STACK POINTER
(LADEN)
■ CPA USTKL UPPER LIMIT REACHED
(OBERGRENZE) JMP EMST LIGHT THE ERROR LIGHT AND STOP
(PEHLERLAMPE) LDA PCNT LOAD VALUE OF PROG COUNT
(LADEN)
STA USTK,I REMEMBER THE RETURN ADDR
(RÜCKKEHRADR) ISZ USTK INCREMENT THE U STACK
(ERHÖHEN)
JMP SGT PERFORM A SIMPLE GOTO
(SPRUNG) 014 2 Λ
0143 *
0144* GO TO LABEL , AND LABEL KEY PROCESSING (SPRUNGBEZEICHNUNG)
014 5 Λ
014 6 Λ
0147 05144 023232 LABEL LDA GINCl
0148 05145 011723
0149 05146 067151
0150 05147 045701
0136 05136 010112
0137 05137 066110
0138 05140 021701
0139 05141 131710
0140 05142 045710
0141 05143 067115
0151 05150 067230
0152 05151 060115
0153 05152 024060
0154 05153 035726
0155 05154 025707
CPA RFLG GOTO PRECEEDED? (VORGÄNGER) JMP *+3 YES (JA)
ISZ PCNT NO,SKIP THE NEXT KEY
(NEIN ÜBERSPRINGE)
JMP SFLG+3 RE-INITIALIZE (WIEDEREINLEITUNG) JSM GETK GET THE NEXT KEY
(NÄCHSTE ANT-JEISUNG) LDB MPWD LOAD THE VALUE OF MAX MEMORY
(MAXIMUM)
STB TEMPI STORE IN TEMPORARY
(EINSPEICHERN) LDB KBAS LOAD START OF USER AREA
(LADEN)
209852/1005
0156 05155 035727 STB TEMP2 RESET A LOCAL PROG COUNT
(RÜCKSTELLEN)
0157 05156 024062 LDB LBLK LOAD CODE FOR LBL KEY
(LADEN) 015 8* 0159* SEARCH LOOP (SUCH-SCHLEIFE) 0160*
0161 05157 115727 SRCH CPB TEMP2,I IS CURRENT KEY A LABEL
(BEZEICHNUNG)
0162 05160 067165 JMP LBLF YES, STOP THE SEARCH
(JA, HALT)
0163 05161 045727 SRCHl ISZ TEMP2 POINT TO THE NEXT KEY
(NÄCHSTE ANW.)
0164 05162 045726 ISZ TEMPI MEMORY EXHAUSTED? (DURCH)
0165 05163 067157 JMP SRCH
0166 05164 066110 JMP EMST LIGHT THE ERROR LIGHT AND
STOP (FEHLER) 0167* 0168* LABEL FOUND (BEZEICHNUNG GEFUNDEN) Ο169Λ
0170 05165 055727 LBLF DSZ TEMP2 POINT TO THE PRECEEDING KEY
(VORGÄNGER)
0171 05166 125727 LDB TEMP2,I LOAD THE PRECEEDING KEY
(LADEN)
0172 05167 045727 ISZ TEMP2 (BEZEICHNUNG)
0173 05170 045727 ISZ TEMP2 POINT TO THE LABEL'S NAME
0174 05171 014100 CPB GSBK GOSUB/RET PRECEEDED?
(VORGÄNGER)
0175 05172 067204 JMP GSBP YES, MAY BE ALRIGHT
(JA, MÖGLICHERWEISE)
0176 05173 014061 LBLF2 CPB GTOK GOTO PRECEEDED?
(VORGÄNGER)
0177 05174 067156 JMP SRCH-I YES, IGNORE LABEL KEY
(JA, NICHT PEACHTEN)
0178 05175 125727 LBLFl LDB TEMP2,I LOAD THE LABEL'S NAME (LADEN)
0179 05176 045727 ISZ TEMP2
0180 05177 070077 CPB A IS IT THE ONE SEARCHED FOR?
(GESUCHT)
0181 05200 067202 JMP **2 YES, TERMINATE (JA,BEENDEN)
0182 05201 067156 JMP SRCH-I RETURN TO THE SEARCH LOOP
20 9 8 5 2/1 OO 5 (rückkehten)
0183 05202 025727 0184 05203 067113
LDB TEMP2
JMP SGT-2
018 5 Λ
0186 05204 025727 GSBP LDB ΤΕΜΡ2
0187 05205 004077
0188 05206 074537
0189 05207 067173
ADB M3
LDB B,I JMP LBLF2 LOAD VALUE OF LOCAL PROG COUNT (LADEN) RETURN TO THE GOTO (RÜCKKEHREN)
LOAD THE PROG POINTER (LADEN)
POINT 2 KEYS BACK (RÜCKSCHREITEN) LOAD KEY (LADEN)
209852/1005
TRANSFER BLOCK TRB (.ÜBERTRAGUNG)
0056*
0057 00222 ORG 222B
0058 00222 004022 DEF ROLUP
0059 04033 ORR RESTORE THE ORIGIN (URSPRUNG) 0060*
0061* DOWN ROUTINE (ABWÄRTS-PROGRAMM)
0062 04033 020005 DOWN LDA YADD
0063 04034 024004 LDB XADD
0064 04035 170004 XFR TRANSFER Y TO X
0065 04036 020006 LDA ZADD
0066 04037 024005 LDB YADD
0067 04040 170004 XFR TRANSFER Z TO Y
0068 04041 035720 STB CNGS RESET THE CHANGE' SIGN FLAG
0069 04042 064167 JMP INIT RE-INITIALIZE 0070*
0071*
0072* INTERPRETER TABLE ENTRY FOR DOWN (TAFELBEFRAGUNG)
0073*
0074 00225 ORG 225B
0075 00225 004033 DEF DOWN
0076 04043 ORR RESTORE THE ORIGIN (URSPRUNG) 0077*
0078* INDIRECT KEY PROCESSING (INDIREKTE TASTEN-VERARBEITUNG)
(LADEN)
LDA RFLG LOAD THE ROUTING REGISTER CPA RINCl KEY FOLLOWED A TRANSFER KEY?(VOR:
DSZ INDF DECREMENT THE INDIRECT FLAG (ERNIEDRIGEN)
RET
0084 *
008 5 Λ INTERPRETER TABLE ENTRY FOR INDIRECT (TAFELBEFRAGUNG)
0086 04047 004043 DEF NIND
0087 ft
0088 00231 ORG 23IB
0089 002 31 00404 3 DEF NIND
0090 04050 ORR RESTORE THE ORIGIN (URSPRUNG)
209852/100 5 '
0079* 04043 021723 NIND
0080 04044 010040
0081 04045 055721
0082 04046 170402
0083
0091* 009 2 * 009 3 Λ
00 9 4 Λ Λ Λ AAAΛ AΛ Λ Λ ΛΛ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ A Λ Λ Λ Λ A A Λ
«te «te </te «te «te «te «te «te «te «te «te «te «te rf» «te «te «te «te 'te «te «te «te «te «te «te «te «te tfte «te «te «te «te «te «te «te «te «te
009 5* 009 6 * 0097 *
ΟΟ98ΛΤΗΕ FOLLOWING ROUTINE PERFORMS THE OPERATIONS (DAS FOLGENDE PROGRAMM FÜHRT DIE ERFORDERLICHEN BEFEHLE AUS FÜR:
0099'5NEEDED FOR X<-() , X TO () , Y TO () , X EXCH Y, 0100*AND Y EXCHO. THE ROUTINE IS CONSTRUCTED OF ES BESTEHT AUS 0101i:THREE PHASES, THE FIRST PHASE ACCEPTS THE DREI TEILEN, DER 0102*KEY CODE FOR THE COMMANDS>. THE SECOND ERSTE TEIL NIMMT 0103*PHASE ACCEPTS THE FIRST DIGIT IN THE DEN AUSLÖSEBEFEHL 0104*REGISTER REFERENCED THE THIRD PHASE ACCEPTS ENTGEGEN, DER 0105*THE 2ND DIGIT IN THE REGISTER REFERENCE, ZWEITE DIE ERSTE
0106*AND PERFORMS THE TRANSFER
0107 *
0108 *X TO () , PHASE
0109 04050 020004 XINT
0110 04051 031715 XINTl
Olli 04052 070742
0112 04053 031717
0113 0405.4 020034
0114 04055 031716
0115 04056 020031
0116 04057 031720
0117 04060 031721
0118 04061 024040
0119 04062 035723 XINT2
STELLE UND DER
DRITTE DIE ZWEITE STELLE DES REFERENZ-REGISTERS, DER DRITTE TEIL FÜHRT DEN TRANSFER DURCH) LDA XADD STORE THE ADDRESS OF THE STA ATMP X REGISTER IN TEMPORARY
(EINSPEICHERN IN AUGENBLICKSWERT)
SAR 16 ' INITIALIZE THE RESULT LOCATIOisT
(WIEDERBEGINN) STA BTMP
LDA .3 LOAD DECIMAL 3 (LADEN) STA ADDRC START REGISTER DIGIT COUNT LDA Ml (ZÄHLEN)
STA OPER PUT -1 IN OPER (EINGEBEN) STA INDF INDICATE ZERO INDIRECT
(ANZEIGEN)
LDB RINCl SET THE INCREMENT TO BE STB RFLG USED IN THE NUMBER RTN (ERHÖHUNG EINSTELLEN)
209852/ 1
0120 0121* 0122* 0123* 0124* 0125 0126 0127* 0128* 0129* 0130* 0131 0132 0133 0134* 0135* 0136* 0137 0138 0139*
04063 170402
Y TO () , PHASE
04064 020005 YINTO
04065 066051
X«-() , PHASE
04066 020004 XFRM
04067 072053 INTOY 04070 066051
Y EXCH () , PHASE
04071 020005 YEXC
04072 066067
RET
LDA YADD JMP XINTl
LDA XADD SAP *+l,S JMP XINTl
LDA YADD JMP INTOY
STORE THE ADDRESS OF Y AND THE INCREMENT (EINSPEICHERN)
STORE THE X ADDR, AND FLAG AS NEGATIVE FOR LATER USE (ABSPEICHERN)
STORE THE Y ADDR, AND FLAG AS NEGATIVE FOR LATER USE (ABSPEICHERN)
0141" INTERPRETER TABLE ENTRY FOR TRANSFER BLOCK
0142*
0143 - 00223
0144 00223 004050
0145 00224 004071
ORG 223B DEF XINT DEF YEXC
(TAFELBEFRAGUNG)
X INTO () Y EXCH ()
0147 00267
0148 00267 004066
ORG 267B DEF XFRM
X<-0
0150 00240
0151 00240 004064
0152 04073
ORG 24OB DEF YINTO Y INTO () ORR RESET THE ORIGIN (URSPRUNG)
0154"
0155* PHASE2 OF THE TRANSFER ROUTINE (TRANSFER PHASE 2)
0156*
209852/1005
0157 04073 066101
0158 04074 021725 ACTRl
0159 04075 062176
0160 04076 055716
0161 04077 170402
0162 04100 045722
0163 04101 025717 ACTR3
0164 04102 074076
0165 04103 074704 ACTR4
0166 04104 004033
0167 04105 074117
0168 04106 000375
0169 04107 070213
0170 04110 062750
0171 04111 031722
0172 04112 064161
0173 04113 045721
0174 04114 066147
0175 04115.021715 DREC
0176 04116 045720
JMP ACTR3 TERMINATION ENTRY
(EINGABE)
LDA KBUF LOAD THE INPUT KEY (LADEN)
JSM MDEC CONVERT REFERENCE TO
BUNARY (KONVERTIERUNG)
DSZ ADDRC DECREMENT THE ADDRESS
COUNTER (ERNIEDRIGUNG)
RET RETURN IF NOT 3 DIGITS
(RÜCKKEHR)
ISZ NUMF TERMINATE DIGIT SEQUENCE
(BEENDIGUNG)
LDB BTMP LOAD THE LAST RESULT
(LADEN)
TCB MAKE NAGATIVE (NEGIEREN)
SBL 2 MULTIPLY BY 4 (MULTIPLIZIEREN)
ADB RBAD FIND THE ACTUAL ADDRESS
(AUFSUCHEN)
LDA B PUT THE ADDRESS IN A
(EINGEBEN)
ADA NLIM CHECK WHETHER OUT OF RANGE
(PRÜFEN)
SAP *+4 SKIP IF OK (ÜBERSPRINGEN)
JSM ERROR LIGHT THE ERROR LIGHT
(FEHLER)
STA NUMF RESET THE NUMBER FLAG
(RÜCKSTELLEN)
JMP 161B STOPEXECUTION (HALT)
ISZ INDF INDIRECT FLAG SET?
(INDIR* MARKIERUNG) "
JMP COMPI NO, PROCESS AN INDIRECT
(NEIN)
LDA ATMP DIRECT,LOAD THE SOURCE
ADDRESS (DIREKT)
ISZ OPER SKIP IF SIMPLE TRANSFER
(ÜBERSPRINGEN)
209852/ 1
a.53
0177
0178*
0179*
0180*
0181*
0182*
0183*
0184
04117 165720 JMP OPER,I PERFORM A TRANSFER FUNCTION (ÜBERTRAGEN)
AT THIS POINT THE A REGISTER CONTAINS THE (ZU DIESEM ZEITPUNKT ENTHÄLT DAS Α-REGISTER SOURCE ADDRESS,(X OR Y), AND THE B REGISTER DIE ADRESSE DER QUELLE (X ODER Y) UND DAS B-REGISTER CONTAINS THE ACTUAL DESTINATION DIE TATSÄCHLICHE BESTIMMUNG)
04120 070432 ETRA SAM ETRA2,C
0185 04121 170004
0186 04122 045722
0187 04123 064167
0188 04124 020052
0189 04125 031723
0190 04126 025725
0191 04127 064357
XFR
ISZ
JMP LDA
STA LDB JMP
NUMF INIT CLRlA
RFLG KBUF INTR2
0192 04130 035717 ETRA2 STB BTMP
0193 04131 010005
0194 04132 066136
0195 04133 070137
0196 04134 021717
0197 04135 066121
0198 04136 031720
0199 04137 024013
0200 04140 170004
0201 04141 021717
CPA
JMP
ETRAl LDB
LDA
JMP
EXCH STA
LDB XFR LDA
YADD EXCH A
BTMP
ETRA+1
CTMP
TADDl
BTMP SKIP IF YEXCHO OR X^ () (ÜBERSPRINGE)
PERFORM A TRANSFER (ÜBERTRAGE)
NUMBER FLAG SET? (MARKIERUNG) RETURN (RÜCKKEHREN) RESET THE ROUTING REGISTER (RÜCKSTELLEN)
TO NUMBER ENTRY
LOAD THE INPUT KEY (LADEN) PICK THE NEXT KEY
(NÄCHSTE TASTE)
STORE DESTINATION INTO TEMP (SPEICHERN)
SOURCE ADDRESS IS Y?(QUELLE) YES,PERFORM A Y EXCH () (JA) NO, SWAP THE SOURCE AND DESTINATION (NEIN) ADDRESSES (AUSTAUSCHEN)
STORE THE SOURCE ADDRESS (SPEICHERN)
PICK A FLOATING TEMPORARY INTO A DATA TEMPORARY (WÄHLEN) LOAD DESTINATION INTO A (LADEN)
209852/ 1005
0202 04142 025720
0203 04143 170004
0204 04144 020013
0205 04145 025717
0206 04146 066121
0207*
0208ft INDIRECT ADDRESS PROCESSING
0209 Λ
0210 04147 074117 COMPI LDA B
LDB CTMP TRANSFER THE DESTINATION'S
CONTENT
XFR TO THE Y REGISTER (ÜBERTRAGEN) LDA TADDl LOAD ADDRESS OF TEMPORARY
(LADEN)
LDB BTMP LOAD DESTINATION ADDRESS (LADEN) JMP ETRA+1 PUT TEMPORARY INTO DESTINATION (EINGEBEN)
(INDIREKTES ADRESSIEREN)
0211 04150
0212 04151
0213 04152
0214 04153
0215 04154
0216 04155
0217 04156
0218 04157
0219 04160
0220 04161
0221 04162
0222 04163
0223 04164
0224 04165
0225 04166
0226 04167
0227 04170
0228 04171
0229 04172
024015 170004 074742 035717
021744 070113 066104 070342
024063 070037
000077
070112
024034
035716
17 5400 COMP
062176
055716
066166
066102 LDB ARlAD
XFR
SBR 16
STB BTMP
LDA ARl SAP *+2
LOAD THE REGISTER'S ADDRESS (LADEN)
TRANSFER ITS CONTENT (ÜBERTRAGES TO ARl
CLEAR B (LÖSCHEN)
CLEAR THE RESULT'S LOCATION (LÖSCHEN)
LOAD THE EXPONENT WORD (LADEN) GO ON IF POSITIVE
JMP ACTR4+1 ASSUME REFERENCE TO 000
SAR
LDB ADB A
ADA M3' SAM *+2 LDB STB ADDRC DLS JSM MDEC
DSZ ADDRC
JMP COMP
SHIFT DOWN THE EXPONENT
(VERSCHIEBEN)
PUT 1 IN B (EINGEBEN) ADD THE EXPONENT TO IT
(ADDIEREN)
CHECK IF EXP > 2 (PRÜFEN) SKIP IF NOT BIGGER (ÜBERSPRINGI RESTRICT ADDRESS TO 3 DIGITS STORE IN THE ADDRESS COUNTER PICK A DIGIT FROM THE REGISTER FIND THE BINARY EQUIVALENT ALL DIGITS IN?
NO, REPEAT
JMP ACTR3+1 YES, COMPUTED ADDRESS IS IN B
0231*
0232* X EXCH Y
209852/ 1005
LDB XADD STORE THE ADDRESS OF X LDA YADD PUT THE Y ADDRESS INTO A JMP ETRA2 PERFORM AN EXCHANGE
023 3*
0234 04173 024004 XEXY
0235 04174 020005
0236 04175 066130
0'237*
0238* LINKAGE TABLE ENTRY FOR Y EXCH X (ANSCHLUSSTAFEL-
BEFRAGUNG)
0239 00230 ORG 23OB
0240 00230 004173 DEF XEXY
0241 04176 ORR
0242*
0243*
0244a DECIMAL TO BINARY CONVERTER (DEZIMAL-BINÄR-KONVERTIERUNG)
0245*
O246*THIS ROUTINE ACCEPTS A NUMBER IN A , AND (DIESES PROGRAMM Ο247ΛΑ NUMBER IN B. THE ROUTINE MULTIPLIES THE MULTIPLIZIERT DIE 0248 »'«NUMBER IN A BY 10 AND ADDS B TO THE RESULT ZAHL IN A MIT
0249*
UND ADDIERT DIE ZAHL IN B HINZU)
0250 04176 025717 MDEC 004011 DPNT LDB BTMP LOAD PREVIOUS RESULT 213B -BEFRAGUNG) RESTORE THE ORIGIN
0251 04177 074704 004011 SBL 2 4*B ABETC
0252 04200 005717 , ADB BTMP 4*B+B ABETC
0253 04201 074037 ADB B TEN TIMES B 2OB OCTAL CODE FOR . ROM
0254 04202 070037 ADB A (B) = 10*B+A
0255 04203 035717 STB BTMP STORE THE NEW RESULT
0256 04204 170402 RET
0257 *
0258 *
0259 * INTERPRETER TABLE ENTRY FOR A AND B KEYS (ÜBERSETZERTAFEI
0260 00213 ORG
0261 00213 DEF
0262 00214 DEF
0263 04205 ORR
0264 *
0265 *
0266 00020 EOU
209852/1005
0267 01717
0268 01720
0269 00052
0270 01720
0271 00037
0272 00033
0273 01721
0274 00015
0275 01744
0276 01715
0277 01720
0278 00004
0279 01723
0280 00005
0281 00013
0282 00006
0284 00167
0286 01716
0287 00063
0288 00034
0289 00031
0290 00077
0291 01722
0292 01725
0293 04750
0294 00375
0295 00375
BTMP EQU CTMP EQU CLRlA EQU CNGS EQU RBADl EQU RBAD EQU INDF EQU ARlAD EQU ARl EQU ATMP EQU OPER EQU XADD EQU RFLG EQU YADD EQU TADDl EQU
1717Β
172OB
52Β
172OB
37Β
33Β
1721Β
15Β
1744Β
1715Β
172OB
1723Β
13Β
ZADD EQU 6B
INIT EQU 167Β CHANGE SIGN FLAG R/W,S BEGINING ADDR OF A ROM BASE ADDRESS OF USER REG ROM
ADDRESS OF ARl LOCATION OF ARl TEMPORARY STORAGE A R/W,N*
ADDRESS OF X ROM SHIFT INDICATOR R/W,N ADDRESS OF Y ROM ADDRESS OF DECIMAL TEMPORARY
ADDRESS OF THE Z REF ROM
INITIALIZATION ROUTINE (EINLEITUNGSPROGRAMM)
ADDRC EQU 1716B ADDRESS COUNTER R/W,N
.1 EQU 63B DECIMAL 1 ROM
.3 EQU 34B DECIMAL 3
Ml EQU 3 IB CONSTANT -1 ROM
M3 EQU 77B DECIMAL -3 ROM
NUMF EQU 1722B NUMBER FLAG R/W,N
KBUF EQU 1725B KEYCODE BUFFER R/W,N
ERROR EQU 475OB -
ORG 375B
00375 177000 NLIM OCT 177000
00357
Ö299 00042
INTR2 EQU 357B
ORG 42B RECYCLING ENTRY TO INTERPRETER (PERIODISCHE ÜBERSETZERBEFRAGUNG)
209852/1005
Ibt
0300 00042 004120 OPERH DEF ETRA
0302* DEFINITION OF 2ND ENTRY IN TRANSFER BLOCK
(DEFINITION DER 2. BEFRAGUNG IM TRANSFER BLOCK) 0303*
0304 00040" ORG 4OB
0305 00040 004074 RINCl DEF ACTRl
0306 04205 ORR RESTORE THE ORIGIN
0307 END * NO ERRORS ft
209852/1005
Page 0001
0001
CHGS 000377
.CHSl 000416
MAGNl 000426
TWS 000442
TWO 000444
ONE 000450
NONS 000451
DPROC 000456
DPRl 000465
CLR 000466
CLRl 000471
CLR2 000501
EEXL 000510
EEXLl 000530
EEX 000532
EEXl 000543
NUMBT 000555
NUMT 2 000567
EEXA 000076
INTR2 090357
KBUF 001725
MMSK 000032
Sl 000105
RFLG 001723
DPNT 000020
ARl 001744
ARlAD 000015
AR2AB 000016
XADD 000004
INIT 000167
SGF 001721
NUMF 001722
DPTF 001717
ASMB,A,B,L,T
CNGS 001720
INTA 00Ö041
BTMP 001725
Ml 000031
.1 000063
.3 000034
X 001750
EXPC 001721
EEXK 000074
CNSK 000075
NEXR 001715
EXR 001716
NORM 000102
AR2 001754
PRTF 000107
PRTK 000110
NEXE 000035
NUMBE 000036
CLRlA 000052
* NO ERRORS *
209852/10
CHANGE SIGN ROUTINE
NMR (ZEICHENWECHSELPROGRAMM)
OOOl ASMBfA7 00377 B,L,T LDB RFLG
0003 . ORG 377B LDA .1
0004* CHANGE SIGN (ZEICHENWECHSEL) CPB EEXA
0005* JMP CHSl
0006 00377 025723 CHGS LDB X
0007 00400 020063 CPA NORM,I
0008 00401 014076 LDB ARl
0009 00402 064416 SLB *+2,S
0010 00403 025750 SLB ft+l,C
0011 00404 110102 STB X
0012 00405 025744 STB ARl
0013 00406 076111 STA CNGS
0014 00407 074071 CPA NORM,I
0015 00410 035750 RET
0016 00411 035744 JMP INIT
0017 00412 031720 EXPONENT EN
0018 00413 110102
0019 00414 170402 LDB ARl
0020 00415 064167 ADB NEXR
0022* CHANGE SIGN DURING TCB
0023* ADB EXR
0024 00416 025744 CHSl DSZ CNGS
0025 00417 005715 STA CNGS
0026 00420 074076 JMP EEXLl
0027 00421 005716
0028 00422 055720
0029 00423 031720
0030 00424 064530
LOAD THE ROUTING REGISTER PUT 1 IN A
IN ENTER EXPONENT LOOP? YES, CHANNEL TO THAT PHASE LOAD THE EXPONENT OF X DURING NUMBER ENTRY?
YES,LOAD EXPONENT OF ARl SET MAGNITUDE SIGN IF CLEAI CLEAR MAG SIGN IF SET STORE NEW EXP IN X STORE NEW EXPONENT IN ARl SET THE CHANGE SIGN FLAG DURING NUMBER ENTRY?
RE-INITIALIZE
[1RY (ZEICHENWECHSEL BEI
EXPONENTENEINGABE) LOAD EXPONENT OF ARl SUBTRACT THE RESIDUE COMPLIMENT THE,EXPONENT ADD BACK THE RESIDUE EXPONENT NEGATIVE?
NO,MAKE IT NEGATIVE TERMINATE CHANGE SIGN ·
0032* INTERPRETER TABLE LINKAGE (UBERSETZERTAFEL-ANSCHLUSS)
0033 00232 ORG 232B
0034 00232 000377 DEF CHGS
0035 00425 ORR
209852/1005
3LMO
22287Λ2
NUMBER ENTRY ROUTINE NMR (ZAHLENEINGABE-PROGRAMM)
0038****** NUMBER ENTRY ROUTINE
0039* THIS ROUTINE BUILDS A FLOATING POINT NUMBER (DIESES PRO-
0040* OUT OF INDIVIDUAL DIGIT ENTRIES 0041* THE ROUTINE ALSO TAKES CARE OF THE 0042* ENTER EXPONENT OPERATIONS 004 3 Λ 0044* 004 5 ft
0046ftACONTINUATOR ENTRY (EINGABE DES WEITERFÜHRERS)
GRAMM BAUT AUS EINZELNEN ZIFFERNEINGABEN EINE GLEITKOMMAZAHL AUF UND BEWIRKT AUCH DIE EXPONENTEN-EINGABE)
0047 00425 064555 MAGNl JMP NUMBT R TWO
0048 00426 021725 LDA KBUF DPTF
0049 00427 045721 ISZ SGF TWS
0050 00430 064451 JMP NONS
0051 00431 025744 LDB ARl
0052 00432 004105 ADB Sl
0053 00433 035744 STB ARl
0054 00434 045717 ISZ DPTF
0055 00435 064442 JMP TWS
0056 00436 055717 DSZ DPTF
0057 00437 004032 ADB MMSK
0058 00440 035744 STB ARl
0059 00441 072150 TWS RZA TWO
0060 00442 024031 LDB Ml
0061 00443 035721 TWO STB SGF
0062 00444 175400 DLS
0063 004 45 070150 SZA *+3
0064 00446 024063 LDB .1
0065 00447 174430 ONE MRX
0066 00450 170402 NONS RET
0067 00451 071550 SZA
0068 00452 045717 ISZ
0069 00453 064442 JMP
JUMP TO TERMINATE ENTRY LOAD THE INPUT KEY SKIP IF THE SIG FLAG IS SET PROCESS NON-SIGNIFICANT
DIGIT LOAD THE EXPONENT WORD
INCREMENT THE EXPONENT STORE THE NEW EXPONENT SKIP IF DECIMAL POINT IS IN
SET THE DECIMAL POINT FLAG DECREMENT THE EXPONENT STORE THE NEW EXPONENT SKIP IF CURRENT DIGIT IS NOT
ZERO SET THE SIG DIG
FLAG
PUSH THE CURRENT DIGIT INTO A SKIP IF NO OVERFLOW PUT ONE IN B
PUSH OUT THE NEW DIGIT RETURN
SKIP IF DIGIT IS O SKIP IF DECIMAL POINT* IS IN SET THE SIGNIFICANT FLAG
209852/1005
0070 00454 055717
0071 00455 064444
DSZ DPTF SET THE DECIMAL POINT FLAG JMP TWO PROCESS THE CURRENT DIGIT
0073*- DECIMAL POINT PROCESSING (DEZIMALPUNKT-VERARBEITUNG)
0074 00456 021717 DPROC LDA DPTF
0075 00457 070312 SAM DPRl
0076 00460 020031 LDA Ml
0077 00461 031717 STA DPTF
0078 00462 031722 STA NUMF
0079 00463 045721 ISZ SGF
0080 00464 031721 STA SGF
0081 00465 170402 DPRl RET
LOAD THE DECIMAL POINT FLAG SKIP IF ALREADY SET SET THE FLAG
SET THE NUMBER FLAG SIGNIFICANT FLAG SET? NO,SET IT
0082AaFIRST ENTRY IN NUMBER ROUTINE (ERSTE EINGABE IM
ZAHLENPROGRAMM) 0083*
LDB Ml STB NUMF SET THE DIGIT SEQUENCE FLAG JMP RFLG,I ROUTE ACCORDING TO RFLG LDA ARlAD
CLR ISZ NORM1I
0084
0085
0086
0087
0088
0089
00466 024031 CLR
00467 035722
00470 165723
00471 020015 CLRl
00472 170000
00473 144102
LOAD ADDRESS OF ARl
0090 00474 055720
0091 00475 064477
0092 00476 045744
0093 00477 020041
0094 00500 170000
0095 00501 020035 CLR2
0096 00502 031723
0097 00503 021725
0098 00504 010020
0099 00505 064456
0100 00506 064427
INDICATE INPUT IS NOT
NORMALIZED DSZ CNGS SKIP IF CHANGE SIGN DID NOT
PRECEED
JMP *+2 DO NOT CHANGE SIGN ISZ ARl MAKE MAGNITUDE NEGATIVE LDA INTA LOAD ADDRESS OF WORK FLAGS CLR CLEAR THE WORK FLAGS LDA NEXE LOAD ADDRESS OF CONTINUATION
ENTRY
STA RFLG STORE IN THE ROUTING REGISTER LDA KBUF. LOAD INPUT KEY CPA DPNT DECIMAL POINT? JMP DPROC YES,PROCESS DECIMAL POINT JMP MAGNl+1 NO,PROCESS MAGNITUDE
0101Λ
0102Λ ENTER EXPONENT PROCESSING (EXPONENTEN VERARBEITUNG)
209852/1005
0103 Λ ENTER EXPONENT LOOP (EXPONENTENSCHLEIFE) TERMINATION ENTRY PROCEED
0104 Λ 00507 064555 JMP NUMBT LOAD THE INPUT KEY 2 EXP DIGITS ARE ALREADY IN
0106 Λ 00510 021725 EEXL LDA KBUF DECREMENT THE EXPONENT DIGIT LOAD THE CHANGE SIGN FLAG
0107 00511 055721 DSZ EXPC COUNTER SKIP IF IT INDICATES POSIT
0108 EXPONENT
0109 00512 064514 JMP Λ+2 COMPLIMENT THE INPUT DIGIT
00513 0.64567 JMP NUMT2 POSITION THE NEW INPUT DIGIT
0110 00514 025720 LDB CNGS LOAD THE EXPONENT WORD
0111 00515 014063 CPB .1 SUBTRACT THE RESIDUE
0112 STORE THE OLD EXP
0113 00516 070076 TCA 4*EXP
00517 070404 - SAL 8 5 Λ EXP
0114 00520 025744 LDB ARl ΙΟλΕΧΡ
0115 00521 005715 ADB NEXR ADD IN THE NEW DIGIT
0116 00522 035725 STB BTMP ADD THE EXPONENT RESIDUE BACK
0117 00523 074704 SBL 2 STORE THE NEW EXPONENT
0118 00524 005725 ADB BTMP
0119 00525 074037 ADB B
0120 00526 070037 ADB A
0121 00527 005716 ADB EXR
0122 00530 035744 EEXLl STB ARl
0123 00531 170402 RET
0124
0125
0127Λ FIRST ENTRY (ERSTE EINGABE)
0128 00532 020015 EEX LDA ARlAD
0129 00533'170000 CLR
0130 00534 045747 ISZ ARl+3
0131 00535 055720 DSZ CNGS
0132 0053 6 064540 JMP Λ+2
0133 00537 045744 ISZ ARl
0134 00540 144102
0135 00541 020031
ISZ NORM,I
LDA Ml
NOT IN NUMBERENTRY CLEAR ARl
PUT 1 IN ARl
SKIP IF CHANGE SIGN PRECEEDED
MAKE MAGNITUDE NEGATIVE INDICATE NUMBER IS NOT
NORMALIZED
209852/ 1005
- 259 -
0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147* 014 8 λ 0149* 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159
0160* 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171
00542 031722
00543 020076 EEXl
00544 031723
00545 020034
00546 031721
00547 031720
00550 021744
00551 031716
00552 070076
00553 031715
00554 170402
STA LDA STA LDA STA STA LDA STA TCA STA RET
NUMF
EEXA
RFLG
.3
EXPC
CNGS
ARl
EXR
NEXR
SET THE NUMBER FLAG ENTRY DURING NUMBER BUILDING SET ROUTING FLAG TO EEXL
INIT THE EXP DIGIT COUNTER
FORCE EXPONENT SIGN + LOADTHE EXPONENT STORE EXPONENT RESIDUE COMPLIMENT
STORE NEGATIVE OF ABOVE
NUMBER ENTRY
00555
00556
00557
00560
00561
00562
00563
00564
00565.
00566
00567 00570 00571 00572 00573 00574 00575 00576 00577 00600 00601
045723 021725 010020 064456 010074 064543 010075 064377 010110 144107
020015 NUMT2
024016
170004
020016
171450
074742
070135
035754
134102
035722
024004
TERMINATION LOOP (BEENDIGUNGSSCHLEIFE FÜR
ZAHLENEINGABE)
NUMBT ISZ RFLG CORRECT THE ROUTING REGISTER
LDA KBUF LOAD THE INPUT KEY
CPA DPNT DECIMAL POINT?
JMP DPROC YES,DO NOT TERMINATE
CPA EEXK ENTER EXPONENT?
JMP EEXl YES,PROCEED TO ENTER EXP
CPA CNSK CHANGESIGN?
JMP CHGS YES,PROCESS CHANGE SIGN
CPA PRTK DOES PRINT FOLLOW?
ISZ PRTF,1 SET PRINT ENTRY FLAG
LDA ARlAD
LDB AR2AD NUMBER TO AR2
LDA AR2AD
NRM NORMALIZE
SBR 16 CLEAR B
SEC*+2,C SKIP IF MAGNITUDE IS NOT ZERO
STB AR2 CLEAR THE EXPONENT WORD
STB NORM,I CLEAR THE NON-NORMALIZED FL
STB NUMF RESET THE NUMBER FLAG
LDB XADD TRANSFER NORMALIZED NUMBER
209852/1005
stm
NUMBER ENTRY ROUTINE NMR
0172 00602 170004
0173 00603 060167
0174 00604 025725
0175 00605 064357
XFR
JSM INIT LDB KBUF JMP INTR2
TO X
RE-INITIALIZE
LOAD THE FOLLOWING KEY
PICK THE NEXT KEY
0177* INTERPRETER LINKAGE ENTRY FOR ENTER EXPONENT (ÜBERSETZER-
0178 0179 0180 0181ft 0182 0183 0184 018 5 Λ 0186* 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198* 0199 0200 0201 0202 λ 0203 0204 0205 0206 0207*
00226 00226 000532 00606 ANSCHLUSS-BEFRAGUNG FÜR ORG 226B EXPONENTENEINGABE) DEF EEX DEFINE ENTRY ORR RESET THE ORIGIN
00076 ORG 76B
0007 6 000510 EEXA DEF EEXL 00606 ORR
INTERPRETER LINKAGE FOR NUMBER (ÜBERSETZERANSCHLUSS FÜR ZAHL) 00200
00200 000466
00201 000466
00202 000466
00203 000466
00204 000466
00205 000466
00206 000466
00207 000466
00210 000466
00211 000466
00221 00221 000471 00606
01722 01722 000000 00606 LINKAGE AREA (ANSCHLUSS-GEBIET)
ORG 20OB
DEF CLR
DEF CLR
DEF CLR
DEF CLR
DEF CLR
DEF CLR
DEF CLR
DEF CLR
DEF CLR
DEF CLR
ORG 221B
DEF CLRl
ORR
ORG 1722B
OCT O
ORR
RESET THE ORIGIN
209852/ 1005
0209 00357
0211 01725
0212 00032
0213 00105
0214 01723
0215 00020
0216 01744
0217 00015
0218 00016
0219 00004
0221 00167
0223 01721
0224 01722
0225 01717
0226 01720
0227 00041
0228 01725
0229 00031
0230 00063
0231 00034
0232 01750
0233 01721
0234 00074
0235 00075
0236 01715
0237 01716
0238 00102
0239 01754
0240 00107
0241 00110
INTR2 EQU 357B
KBUF
MMSK
Sl
RFLG
DPNT
ARl
ARlAD
AR2AD
XADD
SGF
NUMF
DPTF
CNGS
INTA
BTMP
Ml
.1
.3
EXPC
EEXK
CNSK
NEXR
EXR
NORM
AR2
PRTF
PRTK
EQU 1725B EQU 32B EQU 105B EQU 1723B EQU 2OB EQU 1744B EQU 15B EQU 16B EQU 4B
RECYCLING ENTRY TO THE INTERPRETER (PERIODISCHER ZUGRIFF ZUM ÜBERSETZER) DECREMENT FOR EXPONENT
INCREMENT INDICATOR R/W,N OCTAL CODE FOR . LOCATION OF ARl ADDRESS OF ARl ROM
INIT EQU 167B INITIALIZATION ENTRY
EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU
1721B
1722B
1717B
172OB
4 IB
1725B
31B
63B
34B
175OB
17 2 IB
74B
75B'
1715B
1716B
102B
1754B
107B
HOB SIGNIFICANT FLAG R/W,N NUMBER ENTRY FLAG· R/W,N DECIMAL POINT FLAG R/W,N
TEMPORARY LOCATION B R/W,S DECIMAL -1 ROM
DECIMAL 3
ROM
EXP DIGIT COUNTER R/W,N OCTAL CODE FOR ENT EXP ROM OCTAL CODE FOR CNG SGN ROM
EXPONENT RESIDUE R/W,N NORMALIZED FLAG R/W,N
00035 ORG 35B
00035 000426 NEXE DEF MAGNl
209852/1005
0246 00036 000466 NUMBE DEF CLR DEFINE 1ST ENTRY IN NJMBER
0248 00052 ORG 52B
0249 00052 000471 CLRlA DEF CLRl
0250 00606 ORR
0252
* NO ERRORS *
END
ASMB,A,L,T,B
0001 000622
INTRP 001774
INBUF 001775
INTSR 000043
MSK 000021
STOP 000376
MAXC ERRORS :
* NO
0001 ASMB,A,L,T,B
0002 00002 ORG 2B
0003 00002 060622 JSM INTRP
0004 00622 ORG 622B
0005 00622 031774 INTRP STA INBUF
0006 00623 020021 LDA STOP
0007 00624 172500 SFS OO
0008 00625 172241 LIA Ol
0009 00626 050043 AND MSK
SAVES A IN INPUT BUFFER, LOAD THE STOP CODE SKIP1 IF STOP IS INPUT LOAD A WITH INPUT KEY CLEAN UP KEYSTROKE.
209852/1005
0010 00627 031775
0011 00630 000376
0012 00631 073713
0013 00632 021774
0014 00633 170402
INBUF INTSR MSK STOP
0019 00376
0020 00376 177666MÄXC
0021 00003
0022
* NO ERRORS *
0015 01774
0016 01775
0017 00043
0018 00021
STA INTSR
ADA MAXC SAP *-2,S
LDA INBUF
RET
EQU 1774B
EQU 1775B
EQU 43B
EQU 2IB ORG 376B OCT 177666 ORR
END STORE KEYSTROKE IN LOC. KNOWN TO MONITOR.
SUBTRACT MAX KEYCODE FROM A
SKIP IF KEYCODE >111 RESTORE A%.
KEYCODE FOR STOP
0001 000172
DTO 000173
CONT 000174
RCRD 000175
DFRM 000176
DNC OO0177
UPC 000634
FMTE 000662
LOOK 000671
FOUND 000103
ENDS 000105
INCR 000673
PHTR 000703
PLTl 000705
PLT 2 000712
PDAT 000721
PDATO 000724
PDATl 000736
PDAT 2 000737
OUT
ASMB,A,B,L,T
OUTPT 000754
DONE 000766
SECD 000372
SECDl 000373
MSK 000374
SYNC 000105
GETK 000115
TBLE 000053
NINE 000057
XADD 000004
YADD 000005
AR2AD 000Q16
AR2 001754
.3 OOOO34
FINTl 000161
FINTO 000155
.1 000063
Ml 000031
USP 000046
209 852/1005
AADD 000007 INM 000045 * NO ERRORS
PAGE 0002 # Ol BASIC FORMAT BLOCK (GRÜNDFORMAT)
0001 00634 116006 ASMB ,A,B,L, 634B rl GETK GET THE NEXT KEY
0003 00172 116003 ORG 172B rl TBLE LOAD THE START OF THE
0004 00172 116004 ORG 16006B1 rl INTERPRETER TABEL
0005 00173 116005 DTO DEF 16OO3B, rl A
0006 00174 006000 CONT DEF 16004B1 B,I LOAD THE CORRESPONDING
0007 00175 004000 RCRD DEF 16005B1 ENTRY
0008 00176 DFRM DEF 6000 RESET THE ORIGIN 246B NEXT KEY IS END?
0009 00177 DNC OCT 4000 FINTO YES, EXECUTE END
0010 00634 UPC OCT 244B GOTO?
0011 060115 ORR CONT,I YES
0012 * 024053 3O2B RECORD?
0013* 00634 RCRD,I YES
0014 00635 070037 FMTE JSM 227B UP KEY?
0015 074537 LDB PLTl · JUMP TO PLOTTER ROUTINE
00636 225B DOWN KEY?
0016 00637 014246 ADB PLT 2 YES,JUMP TO THE PLOTTER
0017 064155 LDB 223B YTO KEY? ROUTINE
00640 014244
0018 00641 164173 CPB
0019 00642 014302 JMP
0020 00643 164174 CPB
0021 00644 .014227 JMP
0022 00645 064703 CPB
0023 00646 014225 JMP
0024 00647 064705 CPB
0025 00650 014223 JMP
0026 00651 CPB
0027 00652 JMP
0028 CPB
209852/100 5"
22287A2
OO2 9 OO653 164172 - JMP DTO, I
0030 00654 014267 CPB 267B
0031 00655 164175 JMP DFRM,I
0032 00656 014241 CPB 241B
0033 00657 064161 JMP FINTl
0034 00660 014247 CPB 247B
0035 00661 064673 JMP PHTR
YES,TRANSFER DATA TO MAG
CARD
X-*- () KEY?
YES,PICK DATA FROM MAG CARD STOP KEY?
YES,RETURN TO CALC MODE CONTINUE? YES,START THE PHOTO
READER
0037* SEARCH ROUTINE (SUCHPROGRAMM)
0038 00662 024176 LOOK LDB DNC
0039 00663 014103 CPB ENDS
0040 00664 170402 RET
0041 00665 074457 CPA B,I
0042 00666 064671
JMP FOUND
0043 00667 004105 ADB INCR
00.44 00670 064663 JMP LOOK+1
0045 00671 074070 FOUND SIB *+l
0046 00672 074737 JMP B,I
0047 00103 ENDS EQU 103B
0048 00105 INCR EQU 10 5B
LOAD START OF SEARCH AREA ALL BLOCKS TESTED? YES, RETURN DOES BLOCK START WITH
SAME KEY? YES, THIS IS THE BLOCK
SEARCHED FOR
NO, POINT TO THE NEXT BLOCK COMPARE KEY WORDS POINT TO 2ND WORD IN BLOCK JUMP TO OPTIONAL BLOCK
0050 * PHOTOREADER START UP (PHOTOLESER-ANLAUF)
0051 00673 020373 PHTR LDA SECDl
0052 00674 173741 CLR Ol
0053 00675 025775 LDB 1775B
0054 00676 074112
0055 00677 072051
SBM * +2
SLA * +1,S ENABLE THE INTERRUPT
LOAD INPUT BUFFER. IF POS, IMPLIES SINGLE STEPPING OR KEYBOARD, SUPPRESS CONTINUE FROM PHOTO-READER.
209852/1005
PAGE 0003 #01 BASIC FORMAT BLOCK (GRUNDFORMAT)
0056 00700 172141 , OTA Ol OUTPUT THE SELECT CODE
0057 00701 172601 STC Ol
0058 00702 064161 JMP 161B STOP THE EXECUTION IF
209852/100 5
- 25? -
Seite 0004 ^01 PLOTTER ROUTINES (KURVENSCHREIBER-PROGRAMME)
0062
0063
0064
0065
0066
0067
0058
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
00703
00704
00705
00706
00707
00710 00711 00712
00713
00714
00715
00716
00717
ΟΟ72Ο 00721 00722
00723
00724
00725
00725
00727
OÖ73O 00731
00732
00733
00734
00735
00736
00737
00740 00741 00742 00743
00744
020177 064706 020176 074742 035720 035722 060754 020004 024016 170004 070742 025754 074251 031755 020177 060754 064737 074153 031755 06 4740 074340 074076 004034 074213 020057 031755 064721 174470 021755 070342 060754 024105 035722 Ο21755.
PLTl
PLT2
PDAT
PDATO
PDATl
PDAT2
OUT
LDA JMP LDA SBR STB STB JSM LDA LDB XFR SAR LDB SLB STA LDA JSM JMP SBP STA JMP ABR TCB ADB SBP LDA STA JMP MRY LDA SAR JSM LDB STB LDA
UPC
DNC
16
172OB
1722B
OUTPT
XADD
AR2AD
16
AR2
PDATl
AR2+1
UPC
OUTPT
OUT
AR2+1 OüT+1 8
.3
PDAT2
NINE
AR2+1
PDATO
AR2+1
OUTPT
SYNC
1722B
AR2+1
0096 00745 050374
0097 00746 060754
0098 00747 021720
AND MSK JSM OUTPT LDA 172OB
LOAD THE CODE FOR PEN UP
LOAD THE CODE FOR PEN DOWN CLEAR B
INITIALIZE THE REG DELECT INITIALIZE THE SYNC BIT OUTPUT
TRANSFER Y OR
X TO AR2
LOAD THE EXPONENT WORD SKIP IF MAG IS POSITIVE ASSUME O COORDINATES PULL THE PEN UP
OUTPUT THIS COORDINATE SKIP IF EXP IS POSITIVE ASSUME 0000
OUTPUT 0000
SHIFT THE EXPONENT DOWN COMPLEMENT THE EXPONENT
SKIP IF EXP <4 STORE 9999 AS COORDINATE
POSITION THE COORDINATE LOAD THE 4 MOST SIG DIGITS PICK UP THE TOP TWO OUTPUT THIS COORDINATE
MAKE THE SYNC BIT 1 LOAD THE 4 MOST SIG DIGITS
AGAIN
ISOLATE THE BOTTOM TWO OUTPUT THIS COORDINATE LOAD THE REG SELECT FLAG
0099 00750 072710
0100 00751 020005
0101 00752 031720
~ zv Q —
SL5SI
RZA DONE LDA YADD STA 172OB
0102 00753 064713 JMP PDAT+
0103#
0104*
0105 00754 040372 OUTPT IOR SECD
0106 00755 172141 OTA Ol
0107 00756 1727.41 STP Ol
0108 00757 176241 LTB Ol
0109 00760 074504 SBL 6
0110 00761 074253 SBP DONE
Olli 00762 041722 IOR 1722B
0112 00763 172141 OTA Ol
0113 0076 4 172601 STC Ol
0114 00765 172701 SFC Ol
0115 00766 170402 DONE RET
0116 0076 7 064765 JMP *-2
0117*
SKIP IF INDICATES DONE LOAD THE ADDRESS OF Y SET THE REG SELECT FLAG TO
NON-ZERO
GET OUT THE NEXT Y COORDINATE
PUT IN THE SELECT CODE OUTPUT THE SELECT CODE PUT STATUS ON I/O REG INPUT THE STATUS POSITION THE STANDBY BIT SKIP IF PLOTTER IS NOT AVAILABLE PUT IN THE SYNC BIT OUTPUT THE" COMMAND SET THE CONTROL SKIP IF DEVICE IS NOT DONE
RETURN
WAIT
Seite 0005 ^Ol PLOTTER ROUTINES (KURVENSCHREIBER-PROGRAMME)
0119* 0120* 0121 0122 0123 0124 0125 0126 0127 O128 0129
0131 0132 0133 0134 0135
SYNC GETK TBLE
00105 00115 00053 OOO57
00057 114631 NINE XADD 0000Ö 00016 01754 00034 LOW 8 BIT MASK
SYNC BIT NON-ZERO
LINKAGE AREA (ANSCHLUSS-GEBIET) 00372 ORG 372B
00372 160000 SECD OCT 160000 SELECT CODE
00373 170000 SECDl OCT 170000
00374 000377 MSK .OCT
EQU 105B
EQU 115B
EQU 53B
ORG 57B
OCT 114631
EQU 4B
EQU 5B
AR2AD EQU 16B AR2 EQU 1754B .3 EQU 34B
00161 FINTl EQU 161B 400 OCTAL
YADD 209852/100 5
151
0136 00155 FINTO EQU 155B
0137 - 00063 .1 EQU 63B
0138 00031 Ml EQU 3 IB
0139 00046 USP EQU 46B
0140 00007 AADD EQU 7B
0141 00045 INM EQU 45B
0142* LINKAGE IN INTERPRETER TABLE (ANSCHLUSS IN ÜBERSETZERTAFEL)
0143 00242 ORG 242B
0144 00242 000634 DEF FMTE
0145 00770 ' ORR
0146 END * NO ERRORS*
Seite 0001 ASMB 005274 ,A,B,L,T 005543 IPTR 005577
0001 005313 OUTPT 005551 TWO 005600
CHECK 005314 BASE 000063 AR21 001755
SKPl 005317 ONE 000031 THREE 000034
YZENT 005333 Ml 005567 BLANK 005572
UNNRM 005340 M15 005570 DOT 000106
FLTCK 005344 M13 000106 TEN 000104
DSET 005354 TWELVE 005571 M3 000077
DSET2 005367 PTR 000016 NORM 001723
FIXM 005403 AR2AD 000015 MlO 000024
TEST 005405 ARlAD 001754 MINUS 000104
INCM 005411 AR2 005572
ZOUT 005424 ELEVEN 000054
SINOT 005426 M4 005573
CKFLT 005434 M12 000004
ZERT 005436 XADD 001776
DIGOT 005441 FLOAT 005574
PCHK 005456 FIVE 001737
DlDEC 005475 Dl 005575
FROUT 005507 DEC 001754
QUIT 005514 EXPNT 001735
QUITl 005522 CPOS 005576
RESTR P 52/1005
CONTU 2098
Seite 0002 ABLNK 005760
ALLON 005601 PC 001701
FIFTN 005601 PCTMP 001737
SSP 001777 DECMT 001735
ENTER 005602 DECPT 001754
CATCH 005606 M8 005761
DBASS 005617 PAUSE 005762
CLRM 0056 23 CONST 005601
RSTRT 005625 MAX 000055
FETCH 005627 CERR 005776
GOl 005644 BITMK 000770
GO 005650 * NO ERRORS»?
CHECM 005653
REGPT 000104
POSCT 001754
NPOS 001755
DREG 001756
DPTR 001757
OTHRP 005661
BUFFR 001775
FLGMS 005601
AR2ND 001757
ARlND 001747
FOUR 000052
REG 001734
POSNR 001736
MASK 005601
THFV 000035
MS 000023
PRGM 005665
NEWPT 005713
SUBEM 005717
OUT 005734
BOUT 005736
DECB 005752
MAXP 005757
209852/ 1 005
255
0001 0002 0003 0004 0005 0006 0007
0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022
0023 0024 0025 0026 0027 0028
0029 0030 0031 0032 0033 0034 0035
00017 00017 00257 00257 05274 05274
05275 05276 05277 05300 05301 05302 05303 05304 05305 05306 05307 05310 05311 05312 05313
05314 05315 O5316 05317 05320 05321
05322 05323 05324 05325 05326 05327 05330
ASMB,A,BfL,T ORG 17B
005602 DEF ENTER ORG 157B
005762 DEF PAUSE ORG 5274B
020003 CHECK LDA 3B TELLS MONITOR WHERE DISPLAY IS. ENTRY PT FOR DISPLAY.
LOAD THE POINTER TO THE REG
ADDRESSES
133571 120102 070610 020015 024004 170004 123577 024016 170004 171450 074076 004106 035737 067317 STA PTR,I REGISTER ADDRESSING.
LDA 102B,I LOAD THE NORM FLAG SZA SKPl SKIP IF X NORM.
LDA ARlAD TRANSFER ARl TO LDB XADD X
XFR LDA IPTR,I DOUBLE INDIRECT.
LDB AR2AD
XFR
NRM
TCB
ADB TWELVE
STB Dl
JMP UNNRM
123577 SKPl LDA IPTR,I LOAD ADDRESS OF CURRENT REGI
STER
024016 YZENT LDB AR2AD 170004 XFR 035737 STB Dl 024015 UNNRM LDB ARlAD
020015 170000
035734 023601 133576 020023 031736 021776 050027
LDA ARlAD CLR STB REG LDA FIFTN STA P,I LDA M5 STA POSNR LDA FLOAT AND 27B
TRANSFER THE CURRENT REG
TO AR2
SET Dl TO ANY LARGE NUMBER.
INIT THE REGISTER PTR. LOAD THE ADDRESS OF ARl
INSURE NO NON BCD CODRS FOR ROUNDING.
INITIALIZE THE DISPLAY CHARACTER COUNTER, INITIALIZE THE POSITION
LOAD THE STATUS WORD ISOLATE THE MAIN MODE
209852/100
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0056
05331 05332 05333 05334 05335
05336
05337 05340 05341 05342 05343 05344 05345 05346
05347 05350 05351 05352 05353 05354 05355
072110 067665 025754 074340 035754 021776 070253 020106 133575 027572 067354 053601 133575 107575 007600 023573 074017 035735 071253 023574 174430
RZA JMP
FLTCK LDB ABR STB LDA SAP
DSET LDA STA LDB JMP
DSET2 AND STA ADB ADB LDA ADA STB SAP
FIXM LDA MRX
PRGM
AR2
EXPNT
FLOAT
DSET2
TWLVE
DEC, I
ELEVN
FIXM
ALLON
DEC, I
DEC, I
TWO
Ml 2
CPOS
DSET
FIVE SKIP IF IN RUN JUMP TO PROG DISPLAY LOAD THE EXPONENT WORD SHIFT DOWN STORE FOR NOW
SKIP IF IN FLOATING PT.
B«-EXP+DEC+2.
SKIP IF NO OVERFLOW. ROUNDING COUNT.
0057 05356 170560
0058 05357 070415
0059 05360 045754
0060 05361 067362
0061 05362 020063
0062 05363 024063
0063 05364 174470
0064 05365 045735
0065 05366 067367
0066 05367 123575 TEST
0067 05370 010106
0068 05271 067411
0069 05372 023567
0070 05373 001735
0071 05374 127575
FXA
SEC TEST ISZ EXPNT JMP *+l LDA ONE LDB ONE MRY
ISZ CPOS JMP *+l LDA DEC,I CPA TWLVE JMP. SINOT LDA Ml5 ADA CPOS LDB DEC,Γ OVERFLOW?
INCREMENT THE EXPONENT DUMMY JUMP FOR -1 EXPNT
BYPASS BLANKS IF IN FLOATING
A*--.(15-CPOS)
209852/10
0072 0073 0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
4
0095
0096
7
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
05375 05376 05377 05400
05401 05402 05403
05404 05405 05406 05407 05410 05411 05412 05413 05414 05415 05416 05417 05420 05421 05422 05423 05424 05425 05426 05427 05430 05431 05432 05433 05434 05 435 05436 05437 05440 05441 05442
007570 074076 070037 074153
074076 074017 070070
031735 023572 063543 045735 067405 127577 074537 023572 074111 020104 063543 021737 072110 045737 021754 070453 021776 070352 070742 063543 045754 067426 045737 067441 171400 063543 123576 010034 06 7456 055737 067434
ADB M13 TCB ADB A SBP
B^-(13-DEC) B<- (13-DEC) ~ (15-CPOS)
(15-CP0S)>(13-DEC). OUTPUT (13-DEC)-I BLMKS
INCM
ZOUT TCB B<r (15-CPOS)- (13-DEC) ADA B A HAS -(13-DEC) STA
(13-DEC) =(15-CP0S). OUTPUT (15-CPOS)-I BLKS
SINOT
CKFLT ZERT
DIGOT PCHK
DlDEC
2098 STA CPOS
LDA BLANK JSM OUTPUT ISZ CPOS
JMP ZOUT LDB IPTR7I LDB B,I
LDA BLANK SLB *+2
LDA MINUS JSM OUTPT LDA Dl
RZA %+2
ISZ Dl
LDA EXPNT SAP DIGOT LDA FLOAT SAM DIGOT SAR 16
JSM OUTPT. ISZ EXPNT JMP ZERT ISZ Dl
JMP DlDEC MLS
JSM OUTPT LDA P,I
CPA THREE JMP FROUT DSZ Dl
JMP DIGOT
52/ 1005
TO DSZ Dl.
TO FLOAT PT ROUTINE.
- 2-H -
X5S
0110 05443 123575 LDA DEC, I
Olli 05444 000063 ADA ONE
0112 05445 070056 CMA
Seite 0005 7
0113 05446 103576 ADA P,I
0114 05447 070152 SAM ff.+3
0115 05450 045737 ISZ Dl
0116 05451 067434 JMP DIGOT
0117 05452 023572 LDA BLANK
0118 05453 063543 JSM OUTPT
0119 0545 4 045737 ISZ Dl
0120 05455 067436 JMP PCHK
0121 05456 123575 FROUT LDA DEC, I
0122 05457 003573 ADA M12
0123 05460 073050 RZA DlDEC
0124 05461 025754 LDB EXPNT
0125 05 462 023572 LDA BLANK
0126 05463 074113 SBP *+2
0127 05464 020104 LDA MINUS
0128 05465 063543 JSM OUTPT
0129 05 466 021754 LDA EXPNT
0130 05467 070113 SAP *.+ 2
0131 05470 070076 TCA
0132 05471 027752 LDB DECB
0133 05472 007600 ADB TWO
0134 05473 035754 STB DECPT
0135 05474 067713 JMP NEWPT
0136 05475 021747 QUIT LDA ARlND
0137 05476 070604 SAL 4
0138 05 4 77 043572 IOR BLANK
0139 05500 031747 STA ARlND
0140 05501 024104 LDB REGPT
0141 05502 107571 ADB PTR, I
0142 05503 004054 ADB M 4
0143 05504 LDB B7I
0144 05505 020015 LDA ARlAD
0145 05506 170004
LDA DEC,I IP DEC NOT OUT, PUT OUT A ZERO
OUTPUT ZEROS ON NUMB ENTRY.
KEEP Dl AT ZERO WHILE OUTPUT
BLANKS.
ZERO IF OVERFLOW OR FT. PT.
EVEN DISPLAY FILE
$0flm j Aooc
SL69
0146 05507 147571 QUITl ISZ PTR,I"
0147 05510 123577 LDA IPTR,I LD THE ADDRESS OF NEXT REGISTER.
0148 05511 010007 CPA 7B CHECK IF DONE
0149 05512 067514 JMP REGTR YES, TERMINATE
0150 05513 067314 JMP YZENT NO, CONSIDER THE NEXT REGISTER
0151 O5514 12O1O2 RESTR LDA 1O2B,I
0152 05515 070210 SZA. *+4
0153 05516 020004 LDA XADD
0154 05517 024015 LDB ARlAD
0155 05520 170004 XFR
0156 05521 170402 RET
0157 05522 125734 CONTU LDB REG,I
0158 05523 074604 SBL 4
0159 05524 074217 IOR B
0160 05525 131734 STA REG,I
0161 05526 021776 LDA FLOAT
0162 05527 050027 AND 27B
0163 05530 Ο7Ο25Ό SZA *+5 SKIP IF IN PROG MODE
0164 05531 123575 ■ LDA DEC,I CHECK DECIMAL POSITION..
0165 05532 003600 ADA TWO
0166 05533 113576 CPA P,I
0167 05534 067541 JMP *+5 ,
0168 05535 157576 . DSZ P,I
0169 05536 170402 RET
0170 05537 055777 DSZ SSP DONE, DECREMENT THE STACK POINTER
0171 05540 067475 JMP QUIT
0172 05541 157576 DSZ P,I
0173 05542 020106 LDA DOT
0174 05543 045736 OUTPT ISZ POSNR
0175 05544 067522 JMP CONTU
0176 05545 024054 LDB M4
0177 05546 035736 STB POSNR
0178 05547 045734 ISZ REG
0179 05550 067522 JMP CONTU
0160 0555.1 005562 BASE DBF«! Z09852/1005
0181 05552 073406 OCT 73400
0182 05553 010400 OCT 10400
05554 037000 ONE OCT 37000 2228742 2
05555 035400 Ml OCT 35400 3
0183 05556 054400 M15 OCT 54400 4
0184 05557 065400 M13 OCT 65400 5
0185 05560 067400 TWLVE OCT 67400 6
0186 05561 030400 PTR OCT 30400 7
0187 05562 077400 AR2AD OCT 77400 8
0188 05563 075400 ARlAD OCT 75400 9
0189 05564 004000 AR2 OCT 4000 MINUS
0190 05565 000000 ELEVN OCT O BLANK
0191 05566 000200 M4 OCT 200 DECIMAL
0192 00063 M12 EQU 63B
0193 00031 XADD EQU 3 IB
0194 05567 177761 FLOAT DEC -15
0195 05570 177763 FIVE DEC -13
0196 00106 Dl EQU 106 B
0197 05571 012005 DEC , OCT 12005
0198 00016 EXPNT EQU 16B
0199 00015 CPOS EQU 15B
0200 01754 P EQU 1754B
0201 05572 000013 IPTR DEC 11
0202 00054 TWO EQU 54B
0203 05573 177764 AR21 DEC -12
0204 00004 THREE EQU 4B
O2O5 01776 BLANK EQU 1776B
0206 05574 000005 DOT DEC 5
0207 01737 TEN EQU 1737B
0208 .05575 012004 M3 OCT 12004
0209 01754 EQU 1754B
0210 01735 EQU 1735B
0211 05576 012003 OCT 12003
0212 05577 112005 OCT 112005
0213 05600 000002 OCT 2
0214 01755 EQU 1755B
0215 00034 EQU 34B
0216 05572 EQU ELEVN
0217 00106 EQU TWLVE
0218 00104 EQU 104B
0219 00077 EQU 77B 2 0 9852/1005
0220
0221
- 2TJ -
0222 01723 *0l NORM EQU ] EQU L723B
0223 00024 000017 MIO EQU 24B
0224 OO10 4 MINUS TEN
Seite 0007 f . DEC
0225 ' 05601 ALLON EQU 15
0226 05601 076053 FIFTN EQU ALLON
0227 01777 035775 SSP 1777B
0228* 173741 SBP
0229 05602 063274 ENTER STB *+l,S
0230 05603 021775 CLF 1775B
0231 05604 070153 JSM Ol
0232 05605 063617 LDA CHECK
0233 05606 067606 CATCH SAP BUFFR
0234 05607 021776 JSM *+3
0235 05610 053776 JMP DPASS
0236 05611 031776 LDA CATCH
0237 05612 021775 AND FLOAT
0238 05613 170402 STA CERR
0239 05614 023661 LDA FLOAT
0240 05615 031757 RET BUFFR
0241 056 Ϊ6 020012 LDA
0242 05617 031756 DPASS STA OTHRP
0243 05620 020054 LDA DPTR
0244 05621 031755 STA 12B
0245 05622 070742 LDA DREG
0246 05623 031754 CLRM STA M4
0247 05624 121756 SAR NPOS
0248 05625 070546 RSTRT STA 16
0249 05626 131756 LDA POSCT
0250 05627 053601 FETCH RAR DREG,I
0251 05630 003551 STA 12
0252 05631 070517 AND DREG,I
0253 05632 141757 ADA ALLON
0254 05633 LDA BASE
0255 05634 IOR A,I
0256 05635 DPTR,I
CHECK BUFFER TO SPEED UP MARKED CARD
PROCESSING.
CLEAR ERROR CONDITION.
STORE ERRORLESS STATUS WORD.
ENTRY POINT DOES NOT CALL
DISPLAY BUILDER
209852/1005
0257 05636 041754 GOl IOR POSCT ' TERMINATE DISPLAY MANIP. RSTRT
0258 05637 045755 ISZ NPOS TEN USED FOR DISPLAY FILE ADDRESSING.
0259 05640 067644 JMP GOl 1754B
0260 05641 045756 ISZ DREG 1755B
0261 05642 024054 GO LDB M4 1756B
0262 05643 035755 STB NPOS 1757B
0263 05644 025754 LDB POSCT THIS IS A FILLER TO EVEN
DISP. TIMES.
0264 05645 017601 CHECM CPB ALLON »+1
0265 05646 067653 JMP CHECM 140 X REG SELECT.
0266 05647 173750 CLF 8 DISABLE DISPLAY. 120
0267 05650 172150 OTA 8 OUTPUT DATA TO DISPLAY. 60 Z REG SELECT.
0268 05651 045754 ISZ POSCT 1775B
0269 05652 067627 JMP FETCH ALLON MASK IS 15 FOR FIX/FLOAT.
0270 05653 173750 REGPT CLF 8 KEEP DISPLAY TIMES REL.CONSTi 175 7B
0271 05654 045757 POSCT ISZ DPTR 1747B
0272 05655 125757 NPOS LDB DPTR,I 52B
0273 05656 017665 DREG CPB OTHRP+4 1734B
0274 05657 170402 DPTR RET 1736B
209852/1005
0275 05660 067625 JMP
0276 00104 OTHRP EQU
0277 01754 EQU
0278 01755 EQU
0279 01756 EQU
0280 01757 BUFFR EQU
Seite 0008 j *01 FLGMS
0281 05661 005662 AR2ND DEF
0282 05662 000140 ARlND OCT
0283 05663 000120 FOUR OCT
0284 05664 000060 REG OCT
0285 01775 POSNR
MASK
EQU
0286 05601 EQU
0287 01757 EQU
0288 01747 EQU
0289 00052 EQU
0290 01734 EQU
0291
0292
01736
05601
EQU
EQU
0293 00035 023752 THFV EQU 35B SHOWS WHAT POWER OF TEN TO
USE.
I SKIP TO OUT IF LOOP IS ENDED.
0294 00023 031754 M5 EQU 23B LOAD THE PROG COUNTER
0295 05665 O257O1 PRGM LDA DECB CHECK FOR OVERFLOW
0296 05666 004055 STA DECPT SKIP IF IT DID NOT OVERFLOW
O297 O5667 074152 LDB PC LOAD VALUE OF MAX PERMIS PC
0298 05670 027757 ADB IiAX STORE IT
0299 05671 O357Ö1 SBM ■fc+3
0300 05672 123571 LDB MAXP TRICKY FORMULA TO COMPUTE WHi
0301 O5673 000023 STB PC VALUE OF PC TO USE.
0302 05674 070076 LDA PTR, I CONVERT ABS PC TO RELATIVE.
0303 05675 O257O7 ADA M5 1 209852/1005
0304 05676 O74L76 TCA 1
0305 05677 001701 LDB 17O7B TEMP PC.
D3O6 05700 031737 TCB
0307 05701 074017 ADA PC
0308 05702 070353 STA PCTMP
0309 05703 023760 ADA B
0310 05704 031734 SAP NEWPT
0311 05705 031735 LDA ABLNK
0312 05706 031736 STA 1734B
0313 05707 031737 STA 1735B
0314 05710 067514 STA 1736B
0315 05711 125754 STA 1737B
0316 05712 035735 JMP RESTR
0317 05713 074753 NEWPT LDB DECPT,
0318 05714 074742 STB DECMT
0319 O5715 001735 SBP OUT
0320 05716 070152 SBR 16
0321 05717 07407O SUBEM ADA DECMT
0322 05720 067717 SAM 3R+3
0323. 05721 031735 SIB X+l
0324 05722 074117 JMP SUBEM
0325 05723 063543 STA DECMT
0326 05724 021735 LDA B
0327 05725 070076 JSM OUTPT
0328 05726 101754
070076
LDA DECMT
0329 05727 TCA
0330
0331
05730
05731
ADA
TCA
DECPT,
0332 05732 045754
0333 05733 067713
0334 05734 027761 OUT
0335 05735 035735
0336 05736 020104 BOUT
ISZ DECPT JMP NEWPT LDB M8 STB DECMT LDA MINUS
0337 05737 063543 DECB MAXP JSM OUTPT
0338 05740 045735 ABLNK ISZ DECMT
0339 05741 067736 PC JMP BOUT
0340 05742 121737 PCTMP LDA PCTMP,I HAS OUTPUTTED ALL
0341 05743 070102 DECMT SAR 3 NOW WORK ON OCTA
0342 05744 063543 DECPT JSM OUTPT
0343 05745 121737 M8 LDA PCTMP,I
0344 05746 050770 PAUSE AND BITMK
0345 05747 063543 JSM OUTPT
0346 05750 023572 LDA BLANK
0347 05751 063543 JSM OUTPT NEATEN DISPLAY.
0348 05752 005753 DEF *+l
0349 05753 176030 DEC -1000 4 DIGIT ADDRESSING.
0350 05754 177634 DEC -100
0351 05755 177766 DEC -10
0352 05756 mm DEC -1
0353 05757 015777 OCT 15777
0354 05760 135673 OCT 135673
0355 01701 EQU 1701B
0356 01737 EQU Dl
0357 01735 EQU CPOS
0358 01754 EQU EXPNT
0359 05761 177770 DEC -8
0360 05762 173741 CLF Ol ENABLE INTERRUPT.
0361 05763 063274 JSM CHECK BUILD DISPLAY LIST.
0362 05764 .021775 LDA 1775B LOAD INPUT BUFFER.
0363 05765 070112 SAM X+2
0364 05766 064161 JMP 16IB JMP STOP ROUTINE.
0365 05767 023601 LDA CONST
0366 05770 031722 STA 1722B TEMP 1LOC.
0367 05771 063617 JSM DPASS
209852/1005
0368 05772 055722 DSZ 1722B
0369 05773 067771 JMP X-2
0370 05774 172741 STF 01 TURN OFF INTERRUPT.
0371 05775 170402 RET
0372 05601 CONST EQU FIFTN>
0373 00055 MAX EQU 55B
0374 05776 167777 CERR OCT 167777 ERROR MASKING.
0375 00770 ORG 77OB
0376 00770 000007 BITMK OCT 7
0377 END * NO ERRORS*
209852/1005
Seite 0001 ASMB,A,L,T,B 016616 CHECK 016752
0001 MANPT 016627 SECUR 000111
CLEAN 016374 NORML 016633 * NO ERRORS*
BLNKM 0163"'5 NMBR 016635
THRTN 016376 FCHl 016646
PRINT 016377 SET 000110
PRINN 016401 PRNT 000012
KILEM 016403 XDIS 000357
KILWD 016405 INTP2 000167
MAJFC 016407 INIT 001727
GETIT 016447 XLSB 016650
SERCH 000662 LISTM 016656
HERE 016451 CKMl 016660
RETÜR 016470 ■ STRTl 016667
PRTEM 016472 EOUT 016670
SPACE 016501 SPICE 016002
SPCl 016502 ENDM 016674
ICHCK 016511 KEYLG 016712
OUTK 016516 WORK 016726
OK 016525 FRCM 016731
HOLD 001754 FRCMl
STOP 000161 0002
OUTWD 001737 Seite
GROUP 016532 000770
POS 016533 MSKA 016733
CHAR 001736 ROT 016736
ADDRS 001735 UNROT 016740
TEMP 001734 PUT 016743
I 016534 KEYCG 000034
BUF 016535 THREE 000077
OCT42 016536 M3 000031
YDIS 000013 Ml 000024
MSK 016537 MlO 001776
ROTWD 01654ο FLOAT 001701
SIX 016541 PC 016751
TBL 016542 ABLNK
CODBL 016552
209852/1005
0001 0002* Ο003 0004 0005 0006 0007 ΟΟΟ8 Ο009 0010 0011 ΟΟ12 ΟΟ13 0014 ΟΟ15 0016 0017 0018 0019 0020
ASMB,A,L, T,B
BASIC PRINT ROUTINE. (GRÜNDPROGRAMM DRUCKEN)
O0113 00113 016674 00304 00304 016650 ΟΟ3Ο5 016743 00245 00245 016616 10007 10007 016447 10023 10023 016633 16374
ORG 113B DEF KEYLG ORG 3O4B DEF LISTM DEF KEXCG ORG 245B DEF MANPT ORG 10007B DEF GETIT ORG 10023B DEF NMBR ORG 16374B
16374 177760 CLEAN OCT 177760
16375 000273 BLNKM OCT
16376 000015 THRTN DEC
16377 ORG 16377B 16377 070742 PRINT SAR 16400 132534 STA I,I KEYLOG ENTRY.
LIST ENTRY.
BIT DIDDLER ENTRY FOR KEYLOG.
PRINTER ENTRY.
FOR ALPHA PRINT ROUTINES.
FOR ALPHA PRINT ROUTINES. MOVE THESE TO MAG CARD AREA.
0021 16401 070742 PRINN SAR
0022 16402 132532 STA GROUP,I
0023 16403 070742 KILEM SAR 16
0024 16404 132533 STA POS1I
0025 16405 070742 KILWD SAR 16
0026 16406 031737 STA OUTWD
0027 16407 024013 MAJFC LDB YDTS
0028 16410 106532 ADB GROUP,I
0029 16411 074517 LDA B,I
0030 16412 070546 RAR 12 P
0031 16413 074557 STA B,I
0032 16414 052537 AND MSK I
0033 16415 031736 STA CHAR
0034 16416 070137 LDB A
0035 16417 070704 SAL 2
0036 16420 074071 SLB *+l,C
I=VARlABLE SETTING SEVEN LINES FOR
PRINTER.
DIFFERENT ENTRY POINTS DEP. ON
FUNCTION.
1 OF 4 CHRA GROUPS. CHAR POS WITHIN
A GROUP.
WORD TO OUTPUT TO PRINTER. ADDRESS- OF Y DISPLAY LIST.
GETS CHARACTER FROM DISP FILE. POSITION IT.
PUT IT BACK REPOSITIONED. ISOLATE CHAR.
SAVE TEMPORARILY.
COMPUTE BASE ADDRESS OF CHARtCODE.
4+CHAR
FORMS CHAR -1 FOR ODD CHARS.
209852/1005
0037 16421 074017
0038 16422 070002
0039 16423 002552
0040 16424 031735
0041 16425 025736
0042 16426 022542
0043 16427 102534
0044 16430 070517
0045 16431 074111
0046 16432 070404
0047 16433 070342
0048 16434 031734
0049 16435 052537
0050 16436 001735
0051 16437 070537
0052 16440 021734
0053 16441 070142
0054 16442 070544
0055 16443 042540
0056 16444 070016
ADA B
SAR 1
ADA CODBL
STA ADDRS
LDB CHAR
LDA TBL
ADA 1,1
LDA A,I
SLB *+2
SAL 8
SAR 8
STA TEMP
AND MSK
ADA ADDRS
LDB A,I
LDA TEMP
SAR 4
SAL 5
IOR ROTWD
EXA
NOW HAVE OFFSET START OF CODE TABLE.
ADDRESS OF BYTE OF CODE FOR THIf
CHAR.
OFFSET TABLE.
GETS EVEN ODD INSTRUCTIONS. EFFECTIVE MALSK.
SAVE FOR EXTRACTION.
MSK=17, GETS ACTUAL ADDRESS OF OF PTR CODE.
M * . « ACTUAL PTR
CODE.
RESTORE ROTATION WORD.
SETS ROTATION CODE. FORMS RBR N. POSITIONS B.
Seite 0004 7 *01 STB BUF, I SAVES PRINT CODE
0057 16445 136535 LDA OCT42 FMT SEARCH
0058 16446 022536 GETIT JSM SERCH FINDS ROUTINE
0059 16447 060662 LDB BUF, I RESTORE B
0060 16450 126535 SERCH EQU 662B ROUTINE THAT CHECKS B
OPTIONS
0061 00662 HERE SBL 11
0062 16451 074244 SBR 5 MASK AND SET UP FOR POS3
0063 16452 074202 LDA POS, I
0064 16453 122533 SLA *+2
0065 16454 070111 SBL 5
0066 16455 074544 LDA OUTWD GETS OUTPT WORD
0067 16456 021737 IOR B
0068 16457 074217 STA OUTWD
0069 16460 031737 LDB POS, I CHECK IF TIME TO OUTPUT.
0070 16461 126533
209852/1005
16462 074311 RETUR - 2*5 - I
16463 O14O34 US
0071 16464 066472 PRTEM SLB RETUR I
OO72 16465 031754 CPB THREE
0073 16466 146533 JMP PRTEM
0074 16467 066405 STA HOLD I
0075 16470 146533 ISZ POS, I
0076 16471 066407 JMP KILWD
0077 16472 142532* ISZ POS, I
0078 16473 062516 SPACE JMP MAJFC
0079 16474 122532 SPCl IOR GROUP, I
0080 16475 000077 JSM OUTK
0081 16476 070553 LDA GROUP,
0082 16477 146532 ADA M3
0083 16500 066 403 SAP ICHCK
0084 16501 026365 ISZ GROUP,
0085 16502 070742 JMP KILEM
0086 16503 031754 ICHCK LDB 16365B
0087 16504 142532 SAR 16
0088 16505 062516 STA HOLD
0089 16506 074130 IOR GROUP,
0090 16507 066502 JSM OUTK
0091 16510 170402 OUTK SIB *+2
0092 16511 122534 JMP SPCl
0093 16512 012541 RET
0094 16513 066501 LDA 1,1
0095 16514 146534 CPA SIX
0096 16515 066401 JMP SPACE
0097 16516 035737 ISZ 1,1
0098 16517 024060 OK JMP PRINN
0099 16520 172504 STB OUTWD
0100 16521 066525 LDB 6OB
0101 16522 077730 SFS 4
0102 16523 062736 JMP OK
0103 16524 064161 RIB 5K- 2
0104 16525 025754 JSM UNROT
0105 16526 176141 JMP STOP
0106 16527 172144 LDB HOLD
0107 OTB 1
0108 OTA 4
IF POS = O OR 2 DO NOT OUTPUT.
POS =3, GO OUTPUT WORD WITH PEN SAVE FOR LATER OUTPUT.
INCREMENT POS, FROM O OR 2. GROUP = CONST
OUTPUT AND WAIT FOR FLAG.
SOFTWARE PRINTER PROTECTION.
SPACE THREE LINES.
SAVE FOR LATER OUTPUT.
OUTPUT AND WAIT FOR FLAGS.
2-09852/1QQ5 SAVE CONTENTS OF B REG, HAS
SPACING INF
GET DELAY.
SKIP IF PRINTER NOT READY. PRINTER READY, OUTPUT STUFF.-TIME NOT UP, CHECK PTF AGAIN. TIME UP, RESTORE STATUS. AND STOP EVERYTHING.
OUTPUT FIRST GROUP.
OUTPUT 2ND GROUP, WITH PEN.
209852/1005
— ?0 6 —
0109 16530 025737 LDB OUTWD
0110 16531 170402 RET
0111 01754 HOLD EQU 1754B
0112 00161 STOP EQU 16IB
RESTORE B REGISTER.
TEMP LOCATION FOR PRINTER CODE.
Seite 0005 f *01 OUTWD EQU EQU 1737B
0113 01737 GROUP OCT EQU 12003
0114 16532 012003. POS OCT OCT 12004
0115 16533 012004 CHAR EQU OCT 1736B
0116 01736 ADDRS OCT 1735B
0117 01735 TEMP EQU 1734B
0018 01734 I OCT 12005
0119 16534 012005 BUF OCT 12006
0120 16535 012006 OCT42 DEC 42
0121 16536 000042 YDIS DEF 13B ADDRS OF Y DISPLAY
0122 00013 MSK OCT 17
0123 16537 000017 ROTWD 74006
0124 16540 074006 SIX 6
0125 16541 000006 TBL #+1
0126 16542 016543 OCT 110360,040221,170101,110761
0127 16543 110360
16544 040221
16545 170101 DEF
16546 110761 OCT 40622,170502,111362
0128 16547 040622
16550 170502
16551 111362 CODBL *+l
0129 16552 016553 OCT 35063,53461,34004,30204
0130 16553 035063
16554 053461
16555 034004
16556 030204 10216, 35041,14420,76016
0131 16557 010216
16560 035041
16561 014420
16562 076016
209852/1005
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
O143
0144
0145
0146
0147
0148
0149
0150
16563 16564 16 56 5 16566 16567 1657O 16571 16572 16573 16574 16575 16576 16577 166OO 166O1 16602 16603 16604 166O5 166Ό6 16607 16610 16611 16612 16613 16614 16615 16616 1&617 16620 16621 16622 16623 16624 16625 16626 16627 16630
16631
O42O461
O03056
OO4312
O45742
OO4O37
041701
ΟΟ3Ό56
O1442O
O75O61-
Ό34Ο37
OO21O4
O2O41O
O35O61
Ο35Ό61
O34O16
O43O57
OO2114
OOOOOO
076O00
OOOOOO
OOOOOO
OOOOOO
OOOOOO
000014
030000
O24237
VH
OCT 42046,3056,4312,45742
OGT 4037,41701,3056,14420 OCT 75O61,34O37r21O4,2O41O OCT 35061,35061,34016,43057 OCT 2114,0,76000,0 OCT 0,0,0,14
OCT 30000,24237,10500
O1O5OO
162752 MANPT JSM CHECK,I 062733 JSM ROT
12O1O7
O7O331
13O1O7
O21727
052374
O42376
031727
020012 NORML LDA XDIS 024013 LDB YDIS O3172O STA 172OB RESET THE CHANGE SIGN FLAG
209852/1005
LDA 1078,1
SLA NORML,C LSB=I IF UNNORMkLIZED.
STA 107B,I
LDA XLSB
AND CLEAN ' GET SET TO INSET E IS DIS LIST.
IOR THRTN
STA XLSB
0151 16632 170004 NMBR XFR PRINT LDA SECUR,I PICK THE NEXT KEY LOAD THE EXECUTE FLAG. »
0152 16633 062377 JSM UNROT RZA SET-I IS IT A PRINT KEY? SKIP IF EXECUTING A PROG
0153 16634 062736 FCH JSM 115B JSM ROT YES DECREMENT THE SYSTEM STACK
0154 16635 060115 JSM PRNT SAP *+l,S JUMP TO THE EXEC WITH KEY
0155 16636 010110 CPA SET STA 1775B DEC STACK PTR, RET. AVOIDS
EXECUTING NEXT
0156 16637 066646 JMP 103B,I JSM SPICE KEY AFTER SEQUENCES OF PRIU
ON STEP PRGM
0157 16640 124103 LDB )fc+3 LDA 1775B SPACE THE PRINTER
0158 16641 076150 RZB 1777B SAP EOUT
0159 16642 055777. DSZ 34OB JSM CHECK,I
0160 16643 064340 JMP 1701B JSM PRINT
0161 16644 055701 DSZ LDA PC, I
0162 16645 170402 SET RET SPICE CPA ENDM
0163 16646 062670 JSM FCH JMP EOUT
016 4 16647 066635 PRNT JMP HOB ISZ PC ORIGN, DEFINE THRTN DEC 13,
0165 00110 XDIS EQU 12B JMP CKMl AND M3 DEC -3,
0166 00012 INTR2 EQU 357B JSM UNROT (AUFLIST-PROGRAMM)
0167 00357 INIT EQU 16 7B GET SECURITY WORD.
0168 00167 XLSB EQU 1727B SECURE PROGRAM, DO NOT LIST.
0169 01727 EQU TO CHANGE PTR
0170* r BUFFER TO NEGATIVE,
0171* rHREE DEC 3, LOOK FOR STOP KEY.
0172* LIST ROUTINE. SPACE THE PRINTER
0173 16650 120111 LISTM
0174 16651 073610
0175 16652 062733
0176 16653 072053
0177 16654 031775
0178 16655 062670
0179 16656 021775 CKMl
0180 16657 070413
0181 16660 162752 STRTl
0182 16661 Ό62377
0183 16662 1217.01
0184 16663 012002
0185 16664 066667
0186 16665 045701
0187 16666 066656
0188 16667 062736 EOUT
209852/1005
0189 16670 024024 SPICE LDB MlO
0190 16671 020034 LDA THREE
0191 16672 132532 STA GROUP,I
0192 16673 066502 JMP SPCl
0193 16002 ENDM EQU 16OO2B
Seite 0007 j KEYLOG 209 ROUTINES.
019 4# 074344 KEYLG SBL 9
0195* 074113 SBP *+2
0196* 066731 JMP FRCMl
0197 16674 025775 LDB 1775B
0198 16675 021776 LDA FLOAT
0199 16676 070544 SAL 5
0200 16677 070112 SAM «+2
0201 16700 170402 RET
0202 16701 070744 SAL 1
0203 16702 070252 SAM WORK
0204 16703 055701 DSZ PC
0205 16704 162752 JSM CHECK,I
0206 16705 045701 ISZ PC
0207 16706 066726 JMP FRCM
0208 16707 074117 WORK LDA B
0209 16710 074102 SBR 3
0210 16711 074604 SBL 4
0211 16712 050770 AND MSKA
0212 16713 074217 IOR B
0213 16714 070404 SAL 8
0214 16715 042375 IOR BLNKM
0215 16716' 031733 STA 1733B
0216 16717 022751 LDA ABLNK
0217 16720 031732 STA 1732B
0218 16721 031731 STA 173IB
0219 16722 031730 STA 173OB
0220 16723 062733 FRCM JSM ROT
0221 16724 062377 JSM PRINT
0222 16725 852/1005
0223 16726
0224 16727
(TASTENPROTOKOLL-PROGRAMME)
INPUT BUFFER. POSITION KEYLOG BIT. ZERO IF OFF.
NO KEYLOG, RETURN. PICK THE RUN BIT POSITIVE IF IN PROG MODE FOOL LIST BUILDER.
UNFOOL LIST BUILDER. FORCE TO PRGM MODE.
KEYCODE IN A.
BLANKS FILLING IN. PUT IN Y DISPLAY LIST.
BLANKS THE DISPLAY LIST,
0225 16730 062736 FRCMl JSM KEYCG LDA UNROT
0226 16731 025775 LDB RAR 1775B
0227 16732 170402 MSKA RET SLA
0228 00770 ROT EQU SLA 77OB
0229 16733 021776 LDA RAR FLOAT
0230 16734 070606 RAR JMP 13
0231 16735 064331 UNROT JMP THREE EQU 331B
0232 16736 021776 LDA M3 EQU FLOAT
0233 16737 070106 PUT RAR Ml EQU 3
0234 16740 026526 LDB MlO EQU OK+1
0235 16741 076030 RIB FLOAT EQU *
0236 16742 064330 JMP 33OB
02 3 7* PC EQU
0238* KEYLOG BIT I ABLNK OCT ) IDDLE
0239 16743 021776 CHECK OCT FLOAT
0240 16744 070446 SECUR EQU 10
0241 16745 072111 END *+2,S
0242 16746 070071 *+l,C
0243 16747 070246 6
0244 16750 064330 33OB
0245 00034 34B
0246 00077 77B
0247 00031 3 IB
0248 00024 24B
0249 01776 1776B
Seite 0008 γ <01
0250 01701 170 IB
0251 16751 135673 13567
0252 16752 005274 5274
0253 00111 HlB
0254
* NO ERRORS*
STORE AS STATUS WORD.
OUTPUT STATUS LITES.
(BIT-UNTERDRÜCKUNG BEIM TASTENPROTOKOLL)
STORES AND OUTPUTS A STATUS,
209852/1005
0001
0002*
0003*
0004*
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0034
0035
0036
0037
ASMB,A,BfLfT
ALPHA BLOCK. (ALPHABETSCHREIBUNG)
10000 10000 10001 10002 10003 10004 10005 10006 10010 10010 10011 10012 10013 10014
10015 10016 10017 1OO2O 10021 10022 10023 10024 10024 10025 10026 10027 10030 10031 10032 10033 10034 10035 10036
000042 021777 000031 070517 012007 066010 066117
021777 002116 070517 012023 170402
122331 012340 066024 010063 066027 170402
122332 073650 066032 122332 O7OOO2 071451 122332 002116 070113 070076 031755
ORG lOOOOB START OF ALPHA BLOCK. SRCH OCT 42 THE SEARCH CODE FOR THIS BLOCK.
LDA 1777B STACK PTR, USE TO DETERMINE WHETHER ADA 31B (-1) WANT ALPHA OR MNEM.
LDA A,I CPA 10007B JMP OPTON JMP ENTRY ORG 1001OB OPTON LDA 1777B ADA M2 LDA A,! CPA NMBR RET GETE LOCATION"OF RETURN PT. IS IT THE PRINTER AREA. YES, MUST WANT MNEM. NO , INPLIESfALPHA.
EXAMINE CONTENTS OF STACK TO DETERMINE IF ARE PRINTING A NUMBER OR ARE DOING ALPHA OPERATION AS LIST, KEYLOGf ETC.
DOING NUMBER PRINT, DO NOT ENTER
ALPHA
LDA GROUPfI ONE OF THE OFF PAGE VARIABLES.
CPA TWO JMP ZRPOS CHECK FOR POS=0.
ALSO LEGAL.
IS POS EQ 2 OR 3.
NOOK NMBR NMBR SHOWS PRINT NUMBER.
CPA ONE
JMP TORTH
RET
EQU *
ORG 10024B ZRPOS LDA POSfI
RZA NOOK
JMP OK TORTH LDA POS,I
SAR
SLA NOOK
LDA POS,I
ADA M2
SAP *+2
TCA STA WDPTR NOVi WORD PTR IS IN A(0,1,2).
209852/1005 CHECK FOR TWO OR THREE. NO, RET.
OK
0038 10037 021733 LDA YLEST
0039 10040 052113 AND MSK.1 MS HALF,
0040 10041 070137 LDB A
0041 10042 021733 LDA YLEST
0042 10042 052114 AND MSK.2 LS HALF,
0043 10044 070744 SAL 1
0044 10045 074217 IQR B
0045 10046 070402 SAR 9 KEY NOW IN A.
0046 10047 070137 LDB A
0047 10050 070071 SLA *+I,C
0048 10051 070744 SAL 1 2+KEY,
0049 10052 001755 ADA WDPTR
0050 10053 002342 SNU ADA DTBL DIRECTIVE TABLE.
0051 10054 070517 LDA A,I ENTRY OF CODE TABLE.
0052 10055 074111 SLB *+2
0053 10056 070404 SAL 8
0054 10057 070342 SAR 8 HAS ENTRY OT CODE TABLE
0055 10060 031727 STA RWORD
0056 10061 070137 LDB A FOR COMPUTING CORRECT
Seite 0004 7 «01
0057 10062 070704 SAL 2
0058 10063 074071 SLB *+l,C
0059 10064 074017 ADA B
0060 10065 070002 SAR 1
0061 10066 025727 LDB RWORD
0062 1006 7 031755 STA OFFST
0063 10070 122334 1LDA OFTBL,!
0064 10071 102333 ADA 1,1
0065 10072 070517 LDA A,I
0066 10073 074111 SLB *+2
006 7 10074 Q7O4O4 SAL 8
0068 10075 070342 SAR 8
0069 10076 031727 STA RWORD
0070 10077 052115 AND MSK.3 EQU MSK OCT 17.
0071 10100 001755 ADA OFFST HAS OFFSET FOR LINE.
0072 10101 002543 ADA CTBL
0073 10102 070537 LDB A, I GETS PRINTER CODE.
209852/1005
0074 0075 0076 OO77 0078 0079 0080 008 X 0082 0083 0084 0085 0086 0087 0088* 0089 0090
10103 021727
10104 070142
10105 070544 1Ο1Ο6 Ο42327 10107 070016
10110 136112
10111 170402
10112 012006 BUF
LDA RWORD
SAR
SAL
IOR ROTWD
EXA-
STB BUF,I
RET
OCT 12006 POSITIONS ROTATION.
PUT PRINTER CODE IN SAFE PLACE,
10113 170000 MSK.1 OCT 170000
10114 007400 MSK.2 OCT 7400
10115 000017 MSK.3 OCT 01755 WDPTR EQU 1755B 01755 OFFST EQU WDPTR 01727 RWORD EQU 1727B
I,GROUP,AND POS WILL BE INDIRECT OT THE VARIABLES.
10116 177776 M2 DEC -2 01733 YLEST EQU 1733B
Seite 0005 ^Ol ALPHA PRINT BLOCK (ALPHABETSCHREIBUNG)
0092+ 0093+ 0094+ 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110
10117 10120 10121 10122 10123 10124 10125 10126 10127 10130 10131 10132 10133 10134 10135 10136
ALPHA PRINT BLOCK
021775 ENTRY LDA INBUF
010300 CPA 30OB
066124 JMP GETKY
072052 SAM #+l,S
031775 STA INBUF
070742 GETKY SAR
031744
120103
070350
121701
045701
LDB INBUF CPB STOP JMP OUTl JMP MSKEM STEP PROGRAM.
A PROGRAM WITH NO ENDING FORMAT
025775 014021 066145 066143 173741 NEXT CLF Ol
STA CNT LDA 103B,I SZA NEXT LDA PCNT,I GET KEY FROM MEMORY. ISZ PCNT SET UP PC FOR MEXT USER.
CHECK FOR STOP.
ENABLE INTERRUPT.
209852/1005
Olli 0112 0113 0114 0115 0116 0117 0118
10137 10140 10141 10142 10143 10144 10145 10146
021775 071752 076053 035775 050100 010021 064161 012341
LDA SAM SBP STB
MSKEM AND CPA.
OUTl JMP CPA
in
INBUF
INBUF MASKO STOP 16IB RETRN
0119 10147 066160
JMP KEPPT
0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132
0136*
0140 0141
10150 10151 10152 10153 10154 10155 10156 10157 10160 10161 10162 10163 10164
10165 10166 10167
10170 10171 10172 10173 10174 10175 10.176 10177 10200 10201 10202
012000
066163
062170
045744
021744
012336
066161
066126
062211
06220
066124
021744
070150
062211 062220 170402 STOP KEY YET?
AFTER KEY IS IN, RESET INPUT BUFFER.
YES, CLOAN-UP KEY IF 7 BIT. IF STOP KEY,
GO TO STOP ROUTINE.
IS IT A RETURN COMMAND(CARRAIGE
RETURN)?
KEEP PRINTING ANOTHER LINE AFTER
THIS.
CLEAR AND PRINT REST OF LINE. VALID KEY, PUT IN BUFFER AREA.
IS BUFFER FULL? PRINT BUFFER AS IAS.
BYPASS SETTING INPUT BUF NEG.
CPA LBL
JMP BLNKl
JSM FILL
ISZ CNT
LDA CNT
CPA SICTN
JMP PNTM
JMP GETKY+2 KEPPT JSM ALLF PNTM JSM APRNT
JMP GETKY BLNKl LDA CNT
:■ ·". . :SZA STPEM TAKES CARE OF LBL-LBL AND 17TH CHAR
= LBL.
JSM ALLF JSM APRNT STPEM RET MAIN RETURN.
031747 FILL
021744
0257441
070002
000013
031745
070517
074111
070346
070346
05 2330
STA KEY LDA CNT LDB CNT SAR ADA TABLE STA TEMP LDA A,I SLB *+2 RAR RAR AND MASK ADD OF OCATION.
209852/1005
Seite 0006 ^01 ALPHA PRINT BLOCK (ALPHABETSCHREIBUNG)
0X48 10203 041747 ALLF IOR KEY
0149 10204 074111 SLB %+2
0150 10205 070346 RAR 8
0151 10206 070346 RAR 8
0152 10207 131745 STA TEMP,I
0153 10210 170402 RET
0154*
0155 10211 022335 LDA BLN FILLS REMAINDER OF BUFFER WITH
BLANKS
0156 10212 062170 APRNT JSM FILL
0157 10213 045744 ISZ CNT
0158 10214 021744 APRNN LDA CNT
0159 10215 012336 CPA SIXTN
0160 10216 170402 AKILM RET
0161 10217 066211 JMP ALLF
0162*. AKILW
0163 10220 070742 SAR 16 THIS ROUTINE PRINTS THE CONTENTS OF
THE
0164 10221 132333 MAJFC STA 1,1
0165 10222 070742 SAR 16 RESTART THE LINE COUNT,
0167 10224 031756 STA AGRUP
0168 10225 070742 SAR 16
0169 10226 031757 STA APOS
0170 10227 070742 SAR 16
0171 10230 031746 STA AOUTW OUTPUT WORD,
0172 10231 021744 LDA CNT FETCH WD FROM BUFFER,
0173 10232 012336 CPA SIXTN
0174 10233 066316 JMP GOTEM
0175 10234 045744 ISZ CNT
0176 10235 070137 LDB A
0177 10236 074002 SBR 1
0178 10237 004013 2 ADB TABLE
0179 10240 074537 LDB B,I
0180 10241 070111 SLA +'+2
0181 10242 074404 SBL 8
0182 10243 074342 SBR 8
0183 10244 074117 LDA B
0184 10245 070071 SLA &+l,C
098 52/1005
1*0
0185 10246 070744 ARET SAL 066231 APRTM JMP 1
0186 10247 000034 ADA 041756 IOR THREE
0187 10250 062053 JSM 062321 JSM SNU
0188 10251 074244 SBL 021756 LDA 11
0189 10252 074202 SBR 010034 CPA 5
0190 10253 021757 LDA 066311 JMP APOS
0191 10254 070111 SLA 045756 ISZ *+2
0192 10255 074544 SBL 066225 ASP/iC JMP 5
0193 10256 021746 LDA 024077 ASPCl LDB AOUTW
0194 10257 074217 IOR 0*70742 SAR B
0195 10260 031746 STA 172141 OTA AOUTW
0196 10261 025757 LDB 041756 IOR APOS
0197 10262 074311 SLB 062321 JSM ARET
0198 10263 014034 CPB 074130 SIB THREE
0199 10264 066272 JMP 066302 JMP APRTM
0200 10265 172141 OTA 170402 AICHK RET Ol
0201 10266 045757 ISZ 122333 LDA APOS
0202 10267 066227 JMP 0123 3 7 CPA AKILW
0203 10270 045757 ISZ APOS
Seite 0007 7*01 ALPHA PRINT BLOCK
0204 10271 MAJFC
0205 10272 AGRUP
0206 10273 OUTK
0207 10274 AGRUP
0208 102 75 THREE
0209 10276 AICHK
0210 10277 AGRUP
0211 10300 AKILM
0212 10301 M3
0213 10302 16
0214 10303 1
0215 10304 AGRUP
0216 10305 OUTK
0217 10306 *+2
0218 10307 ASPCl
0219 10310
0220 10311 1,1
0221 10312 STX
B IS PRINTER CODE.
JUST AS IN BASIC PRINT ROUTINE,
P0S=3, OUTPUT WITH PEN. POS=I, OUTPUT WITHOUT PEN.
(ALPHABETSCHREIBUNG)
209852/1005
■Jt«f
0222 10313 066301 JMP ASPAC
0223 10314 146333 ISZ I7I
0224 10315 066222 JMP APRNN
0225 10316 020034 GOTEM LDA THREE
0226 10317 031756 STA AGRUP
0227 10320 066311 JMP .AIGHK
0228 10321 172144 OUTK OTA 4
0229 10322 020060 LDA 60B TIME DELAY.
0230 10323 172504 SFS 4
0231 10324 170402 * RET
0232 1O325 073730 RIA *-2
0233 10326 064161 JMP 161B
0234 01756 AGRUP EQU 1756B
0235 01757 APQS EQU 1757B
0236 01744 CNT EQU 1744B
0237 01745 TEMP -EQU 1745B
0238 01746 AOUTW EQU 1745B
0239 01747 KEY EQU 1747B
0240 10327 074006 ROTWD OCT 74006
0241 00021 STOP EQU 21B
0242 10330 177400 MASK OCT 177400
0243 01776 FLOAT EQU 1776B
0244 10331 012003 GROUP OCT 12003
0245 10332 012004 POS OCT 12004
0246 10333 012005 I OCT 12005
0247 10334 016542 OFTBL OCT 16542
0248 10335 000047 BLN OCT 47
0249 01701 PCNT EQU 1701B
0250 00100 MASKO EQU IOOB
0251 01775 . INBUF EQU 1775B
0252 10336 000020 SIXTN DEC 16
0253 10337 000006 SIX DEC 6
0254 00077 M3 EQU 77B
0255 00034 THREE EQU 34B
0256 00063 ONE EQU 63B
0257 10340 000002 TWO DEC 2
0258 10000 LBL EQU 10000B •0259 10341 000020 RETRN OCT 20
209852/1005
Seite 0008 ^01 ALPHA PRINT BLOCK
0260 00013 TABLE EQU 13B *+l
0261* CODE TABLES FOR PRINT ROUTINES. (CODE-TAFELN FÜR
DRUCK-PROGRAMME)
27056,1,27056,1
0262 10342 010343 DTBL DEF
0263 10343 027056 OCT
10344 000001
10345 027056 27056,1003,27056,1003
10346 000001
0264 10347 027056 OCT
10350 001003
10351 027056 27056,2005,27056,2005
10352 001003
0265 10353 027056 OCT
1O354 OO2OO5
10355 027056 27056,3007,27056,3007
10356 002005
0266 10357 027056 OCT
»: 10360 003007
10361 027056 27056,4011,27056,4Ο11
10362 003007
0267 10363 O27O56 OCT
10364 004011
10365 027056 21456,17072,16056,22435
10366 004011
0268 10367 021456 OCT
10370 017072
10371 016056 27056,35422,27056,16022
10372 .022435
0269 10373 O27O56 OCT
10374 035422
10375 027056 27001,1046 4,27043,10440
103 76 016022
0270 10377 027001 OCT
10400 01046 4
10401 027043 7056,13413,16456,30013
10402 010440
0271 10403 007056 OCT
209852/1005
10404 013413
10405 016456
1O4O6 O3OO13
0272 10407 016443
10410 020037
10411 015432
10412 O34O37
0273 10413 027056
10414 O22O17
10415 O1OO31
10416 021467
0274 10417 O1OO56
10420 O1OO4O
10421 O21433
10422 033067
0275 10423 O21424
10424 O1OO31
10425 022017
10426 033442
0276 10427 007056
OCT 16443,2OO37,15432,34O37 OCT 27056,22017,10031,21467 OCT 10056,10040,21433,33067 OCT 21424,10031,22017,33442 OCT 7056,11446,17056,26046
Seite 0009 ^01 ALPHA PRINT BLOCK
0277 0278 0279
10430 011446
10431 O17O56
10432 026046
10433 O27O17
10434 OO5O24
10435 027041
10436 00506 4
10437 027016
10440 O21427
10441 O27O43
10442 034474
104 43 O22O36
10444 O17437
10445 O15O33
10446 O17OOO
OCT 27017,5024,27041,5064
OCT 27016,21427,27043,34474 OCT 22036,17437,15033,17000
209852/1005
02 80 0281 0282 0283 0284 0285 0286 0287 O280 0289
10447 010424
10450 014021
10451 017422
10452 032465
10453 011033
10454 017431
10455 015037
10456 024467
10457 010016
10460 014431
10461 007437
10462 033456
10463 021427
10464 024015
10465 022027
10466 030460
10467 021443
10470 036457
10471 022044
10472 031052
10473 O17Q56
10474 010426
10475 013456
10476 024026
10477 027033
10500 026036
10501 027020
10502 015463
10503 027056
10504 010016
10505 027056
10506 010016
10507 027056
10510 006017
10511 027056
10512 006017
105X3 012056
10514 014 4 24
10515 017456
10516 020424
OCT 10424,14021,17422,32465 OCT 11033,17431,15037,24467 OCT 10016,14431,7437,33456
OCT 21427,24015,22027,30460 OCT 21443,36457,22044,31052 OCT 17056,10426,13456,24026
■ OCT 27033,26036,27020,15463 OCT 27056,10015,27056,10016 OCT 27056,6017,27056,6017
OCT 12056,14424,17456,20424
209852/1005
10517 027043 OGT 27043,6421,27035,6444 Seite 0010 ^01 ALPHA PRINT BLOCK
10520 006421
10521 027035
10522 006444
10523 027056 OCT 27056,14032,27056,14032
10524 014032
10525 027056
10526 014032
10527 027056 OCT 27056,13431,27056,13431
10530 013431
10531 027056
10532 013431
10533 027056 OCT 27056,11425,27056,11425
10534 011425
10535 O2JO56
10536 011425
10537 027036 OCT 27036,23464,27035,23467
10540 023464
10541 027035
10542 023467
0295* END OF DIRECTIVE TABLE. (ENDE DER LEITTAFEL) 10543 010544 CTBL DEF *+l
0297 10544 035063 OCT 35063,53461,34004,30204,10216
10545 053461
10546 034004
10547 030204 10550 010216
0298 10551 035041 OCT 35041,14420,76016,42046,3056
10552 014420
10553 076016
10554 042046
10555 003056
10556 004312 OCT 4312,45742,4037,41701,3056 10557 045742
10560 004037
10561 041701
10562003056 209852/1005
0300 10563 014420
10564 075061
10565 034037
10566 002104
10567 020410
0301 105 7O O35O61
10571 035061
1O572 034016
10573 043057
10574 002114
0302 10575 000000
1O576 076000
10577 000000
10600 000000
Io601 000614
0303 10602 035061
10603 077061
I06O4 042036
10605 043076
10606 043076
OCT 14420,76061,34037,2104,20410 OCT 35061,35061,34016,43057,2114 OCT 0,76000,0,0,614
OCT 35061,77061,42036,43076,43076
Seite OOll ^01 ALPHA PRINT BLOCK
0304 10607 035060
1O61O 041021
10611 034036
10612 022451
10613 022476
0305 10614 077020
1O615 075020
10616 076037
10617 041036
10620 041020
0306 10621 037020
1O6 22 O41161
10623 036021
10624 043077
10625 043061
OCT 35060,41021,34036,22451,22476 OCT 077020,75020,76037,41036,4102O OCT 37O2O,41161,36O21,43O77,43O61
209852/1005
0307 0308 0309 0310 0311 0312 0313 0314
10626 034204
10627 010204
106 3O 034OQ!
10631 002041
10632 003056
10633 043124
10634 061222
10635 042020
10636 041020
10637 041037
10640 043565
10641 053061
10642 042021
10643 043465
10644 047061
10645 035061
10646 043061
10647 035036
10650 043076
10651 041020
10652 035061
10653 043262
10654 032036
10655 O'43O76
10656 051121
10657 035060
10660 034061
10661 034037
106 62 010204
10663 010204
10664 043061
10665 043061
10666 034021
10667 043052
1OG 70 024204
106 71 043061
.10672 053265
10673 024021
10674 042504
10675 025061
OCT 34204,10204,34001,2041,3056
OCT 43124,61222,42020,41020,41037 OCT 43565,53061,42021,43465,47061 OCT 35061,43061,34036,43076,41020 OCT 35061,43262,32036,43076,51121 OCT 35060,34061,34037,10204,10204 OCT 43061,43051,34021,43052,24204 OCT 43061,53 265,24021,42504,25061
209852/1Q 0.5
0315 10676 043052 OCT 43052,10204,10037,2104,21037
Seite 0012 j *01
10677 010204
10700 010037
10701 002104
10702 021037
0316 10703 000204
10704 076204
10705 000000
10706 036410
10707 021410
0317 10710 000037
10711 001740
10712 000012
10713 025752
10714 076512
0318 10715 024500
10716 000000
10717 000004
10720 010204
10721 010204
0319 10722 000056
10723 064512
10724 024004
10725 010204
10726 010004
0320 10727 000000
10730 000000
10731 000020
1073 2 020202
10733 010420
0321 10734 010764
10735 034276
10736 010030
10737 062104
10740 021143
0322 10741 004204
ALPHA PRINT BLOCK
OCT 204,76204,0,36410,21410 OCT 37,1740,12,25752,76512 OCT 24500,0,4,10204,10204 OCT 56,64512,24004,10204,10004 OCT 0,0,20,20202,10420 OCT 1O764,34276,1OO3O,621O4,21143 OCT 4204,10204,4010,10204,10210
209852/10OS
10742 010204
10743 004010
1O744 O1O2O4
10745 010210
0323 10746 000042
1O747 010420
1O75O 000016
10751 043042
10752 010004
0324 10753 000202
10754 076104
10755 000000
10756 000000
10757 000000
0325 10760 035041
10761 033265
10762 024000
10763 024237
10764 010500
0326 10765 000014
10766 045122
Seite 0013 j ίΟΙ
10767 032020
10770 041034
10771 045114
0327 10772 000000
10773 030604
10774 020002
10775 010420
10776 020202
0328
.-K. NO ERRORS*
OCT 42,10420,16,43042,10004 OCT 202,76104,0,0,0 OCT 35041,33265,24000,24237,10500 OCT 14,45122,32020,41034,45114
ALPfIA PRINT BLOCK
OCT 0,30604,20002,10420,20202 END
209852/100 5
Seite 0001
0001
ABORT 007015
INTR2 000362
TENX 007030
GETD 00703 3
FIXD 007037
ENDIT 007050
FLOAT 007051
PNTKY 000110
FHTKY 007054
LISTK 007055
PRINT 007056
PNT 007063
SMAK 007075
OUTSP 007102
FIXO 007106
OK 007124
OKM 007130
OUTAL 007136
DONE 007144
STAR 007145
TEN 000104
MlO 000024
ELEVN 007152
TIMES 007153
W 007154
DOT 000020
MSK 007155
TEMP 001737
CHECK 007156
INIT 007157
M15 007160
M16 007161
FIFTN 00716 2
Ml 000031
FORTN 007163
ROUT 001736
ASMB,A,B,L,T ASTER 007164 SPACE 007165 DBLNK 007166 SETGT 007167 GET 007173 WDPNT 001735 WDCNT 001734 M4 007204 OUTPT 007205 NMBR 007216 REALO 007217 DLY 007223 EOL 007233 STP 002737 DLYl 007242 ERR 007243 DELAY 000063 TIME 007244 CR 007245
LF
SCLFD
TWO
ONE
OCT56
0CT40
OCT55
DEC58
LISTM
KLU
KEYOT
NXTL
FINE
000104 007246 007247 000063 007250 007251 007252 007253 007254 007263 OO7277 007321 007341
RUN
YADD
PC
M5
SECUR
END
SIX
THREE
OUTA
FMT
KEYIN
KOUT
SDIDL
CRTAB
TBM
PUTIT
RETLF
DOPRN
IJPARO
CLR
DNARO
SHIFT
TAB
CLRAL
GETKY
FLGCK
MEMGT
DISP
CONTU
CNTKY
INBUF
DISPY
BASE
#. NO
OO7347 000005 001701 000023 007355 007356 OO7357 000034 OO736O OO7365 007367 OO7414 007433 007440 OO7445 007461 007466 007470 007472 007473 007474 007475 007476 007477 007500 007510 007512 OO7517 007532 000022 001775 000017 OO7535 ERRORS*
CRLJ
07342
52/1005
Seite OOO3
USER DEFINABLE FUNCTION BLOCK (ANWENDER-BELEGBARE FUNKTIONEN)
ASMB,A,B,L,T
0003 02000
0Ö04#L0CAL MONITOR 0005*
0006 02000 025725
0007 02001 006067
0008 02002 035720
0009 02003 074537
0010 02004 074737
ORG 200OB (SICHTGERÄT)
• LDB KBUF ADB DTBLl STB 172OB LDB B,I JMP B,I
LOAD THE INPUT KEY FIND THE TABLE ENTRY RESET THE CHANGE SIGN FLAG FIND THE ROUTINE'S ADDRESS JUMP TO THE ROUTINE
0012*M0VE ROUTINE (SCHIEBEPROGRAMM)
0013* AT ENTRY TO. THIS SUBROUTINE, A&B REG MUST CONTAIN THE 00l4*STARTING AND ENDING ADDRESS OF THE AREA TO BE MOVED.
0015*
0016 02005 17004 MOVE
0017 02006 035724
0018 02007 004055
0019 02010 074213
0020 02011 025724
0021 02012 070070
0022 02013 077530
XFR
STB TEMPI ADB MAX SBP DONE LDB TEMPI STA *+l RIB MOVE
MOVE 4 WORDS STORE B TEMPORARILY ADD MAX ADDRESS TO B SKIP ON ADDRESS OVERFLOW RESTORE B
INCREMENT A
INCREMENT B,AND PERFORM NEXT
TRANSFER
0023 02014 170402 DONE RET
OO25ALINKAGE AREA
0026 02015 000000
(ANSCHLUSS-GEBIET)
BSS 2 ENTRIES FOR KEYCODES 15 AND 16
0028^SEARCH ROUTINE (SUCH-PROGRAMM FÜR TASTENCODE) 0029* AT TUE ENTRY TO THIS SUBROUTINE AREA MUST CONTAIN THE 0030* KEYCODE SEARCHED FOR. WHEN RETURNING, THE SUBROUTINE WILL 0031* PUT IN B THE ADDRESS OF THE KEYCODE IF FOUND, OTHERWISE
0032* B WILL BE SET TO A NEGATIVE VALUE.
0033*
0034 02017 074457 SRCH CPA B,I KEY MATCHES CURRENT ONE IN MEMORY
0035 02020 17O4O2 RET YES, RETURN
0036 02021 016064 CPB ENM MEMORY EXHAUSTED?
209852/1005
0037 02022 074742 SBR 16 YES,CLEAR B
0038 02023 077630 RIB SRCH INCREMENT B AND TEST NEXT LOC IF
POSSIBLE
0039 ' 02024 077613 SBP SRCH+1,S MAKE B NEGATIVE AND RETURN
0041*PR0TECT KEY PROCESSING (TASTATUR-SCHUTZ) 0042*
0043 02025 120103 PRTCP LDA EXCF,I LOAD THE EXECUTE FLAG
0044 02026 070110 SZA *+2 SKIP IF NOT EXECUTING A PROG
0045 02027 166072 · JMP ERROR,I ERROR,STOP EXECUTION
0046 02030 120111 LDA SECW,I LOAD THE SECURITY WORD
0047 02031 072410 RZA FINIS RETURN IF SECURE PROGRAM
0048 02032 021776 LDA PMODE LOAD THE STATUS WORD
0049 02033 052044 AND PRMSK ISOLATE THE PROTECT BIT
0050 02034 072250 RZA FINIS RETURN IF ALREADY PROTECTED
0051 02035 022044 LDA PRMSK LOAD THE PROTECT MASK
0052 02036 060130 JSM 13OB TURN ON THE PROTECT BIT AND LIGHT
0053 02037 025701 LDB PCNT LOAD THE NEW USER ORIGIN
Seite 0004 ^Ol USER DEFINABLE FUNCTION BLOCK
0054 02040 035707 STB USLO STORE IN POINTER
0055 02041 064167 FINIS JMP INIT RETURN
OO57*LINKAGE AREA (ANSCEfLUSS-GEBIET)
0058 02055 ORG 2O55B
0059 02055 000000 BSS 1 LINKAGE FOR KEYCODE 55 0060*
0061 02060 QRG 2O6OB LINKAGE FOR KEYCODES 60 THRU 75
006 2 O2060 000000 BSS 14 LINKAGES FOR KEYCODES 60 "THRU 75
OO64*PROCESSING OF FUNCTION CALL KEYS (FI) (FUNKTIONS-AUFRUF-TASTEN) 0065*
0066 02076 062203 FI JSM STCHK CHECK THE FUNCTION STACK
0067 02077 02166 5 LDA FSTP LOAD THE FUNCTION STACK POINTER
0068 02100 012046 FIl CPA FSHL IS STACK FULL?
0069 02101 166072 JMP ERROR,I ERROR,STOP EXECUTION
0070 02102 024047 LDB AUSO LOAD THE ABSOLUTE USER .ORIGIN
0071 02103 022050 FI2 LDA DEFK LOAD CODE FOR DEF KEY
209852/1 0.0 5
0072 02104 062017 JSM SRCH
0073 02105 074312 SBM NOTF
0074 02106 074070 SIB *+l
0075 02107 074517 ODA B,I
0076 02110 011725 CPA KBUF
0077 02111 066116 JMP FWND
0078 02112 066103 JMP FI2
0.079 02113 055701 NOTF DSZ PCNT
0080 02114 060167 ' JSM INIT
0081 02115 166072 JMP ERROR,
0083 02116 035724 FWND STB TEMPI
0084 02117 021701 LDA PCNT
0085 02120 124103 LDB EXCF,I
0086 02121 076110 RZB *+2
0087 02122 072052 SAM *+l,S
0088 02123 131665 STA FSTP,I
0089 02124 045665 ISZ FSTP
0090 02125 021776 LDA PMODE
0091 02126 042047 IOR FNCB
009 2 02127 172160 OTA 16
0093 02130 031776 STA PMODE
0094 02131 021707 LDA USLO
0095 02132 131665 STA FSTP,I
009 6 02133 045665 ISZ FSTP
0097 02134 025724 ODB TEMPI
0098 02135 004031 ADB Ml
0099 02136 035707 STB USLO
0100 02137 004772 ADB P2
0101 02140 035701 STB PCNT
0102 02141 120103 LDA EXCF,I
0103 02142 072150 RZA PIE
0104 02143 060167 JSM INIT
0105 02144 064132 JMP CONT
0106 02145 064167 FIE JMP INIT
SEARCH FOR A DEF SKIP IF NON FOUND POINT TO KEY FOLLOWING DEF LOAD THE KEY
IS IT THIS FI?
YES, SEARCH SUCCEEDED
SERCH SOME MORE DECREMENT THE PROG COUNTER RE-INITIALIZE
STORE B TEMPORARILY LOAD THE VALUE OF THE PROG COUNTES LOAD THE EXECUTE FLAG SKIP IF EXECUTING A PROGRAM INDICATE IF CAME FROM KEYBOARD STORE THE RETURN ADDRESS INCREMENT THE FUNCTION STACK
POINTER
LOAD THE STATUS WORD TURN ON THE FUNCTION BIT OUTPUT TO THE INDICATORS STORE THE NEW STATUS LOAD THE CURRENT LOCAL ORIGIN STORE IN FUNCTION STACK
RESTORE B
POINT TO DEF
CHANGE THE LOCAL ORIGIN POINT TO FIRST EXECUTABLE KEY CHANGE THE PROG COUNTER LOAD THE EXECUTION FLAG SKIP IF EXECUTING A PROG RE-INITIALIZE
JUMP TO CONTINUE ENTRY RETURN
209852/1005
USER DEFINABLE FUNCTION BLOCK
(ARBEITSWEISE F-RET)
0108#F-RET PROCESSING 0109*
0110 02146 062203 FRET JSM STCHK 02147 021665 LDA FSTP 02150 012045 FRETl CPA FSLL
Olli 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121
0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 CHECK THE FUNCTION STACK
LOAD THE FUNCTION STACK POINTER
IS FUNCTION STACK EMPTY?
02151 166072
02152 124103
02153 076310 RZB FRET2
02154 O25665 LDB FSTP
02155 006054 FRETO ADB M2
02156 074517 LDA B,I
02157 072052 SAM *+l,S
02160 074557 STA B,I
02161 055665 FRET2 DSZ FSTP
JMP ERROR,I ERROR, STOP EXECUTION LDB EXCF1-I LOAD THE EXECUTION FLAG
SKIP IF EXECUTING A PROG
LOAD THE FUNCTION STACK POINTER SUBTRACT 2 FROM IT
LOAD THE RETURN ADDRESS
MAKE IT NEGATIVE
STORE IT BACK
LDA FSTP,I STA USLO DSZ FSTP LDA FSTP CPA FSLL
02162 121665
02163 031707
02164 055665
02165 021665
02166 012045
02167 062176
02170 121665 FRET3 LDA FSTP,I
02171 070172 SAM *+3,C
02172 031701 STA PCNT
02173 064167 JMP INIT
02174 031701 STA PCNT
02175 064161 JMP 161B
DESCREMENT THE FUNCTION STACK
POINTER
LOAD THE LOCAL ORIGIN VALUE STORE AS USER ORIGIN POINT TO THE RETURN ADDRESS LOAD THE POINTER VALUE IS STACK EMPTY?
JSM FRET4 YES,TURN OFF THE FUNCTION BIT LOAD THE RETURN ADDRESS SKIP IF RETURN TO CALC MODE RESET THE PROG COUNTER RETURN
RESTORE THE PROG COUNTER STOP EXECUTION
0136 0137 0138 0139
02176 021776 FRET4 LDA PMODE
02177 052053 AND FOFM
02200 031776 STA PMODE
02201 172160 OTA
LOAD THE STATUS WORD TURN OFF THE FUNCTION BIT STORE THE NEW STATUS OUTPUT TO THE INDICATORS
02202 170402 RET RETURN 0140*FUNCTI0N STACK CHECKER (FUNKTIONSSTAPEL-PRÜFUNG) 0141*
.014 2 02203 O21G6 5 STCHK IiDA FSTP LOAD THE FUNCTION STACK POINTER 0143 O22O4 002214 ADA MLOW CHECK IF LOWER THAN LEGAL
209852/ 1005
0144
0145
0146
0147
0148
0149
0150
»5
SAM CLEAN LDA FSTP ADA MHI RE-INITIALIZE IT IF LOWER LOAD THE POINTER VALUE AGAIN CHECK IF HIGHER THAN LEGAL
Ö22O5 070212
02206 021665
02207 OÖ2215
02210 070152 SAM CLEAN+2 SKIP IF WITHIN RANGE
02211 O22O45 CLEAN LDA FSOR LOAD THE FUNCTION STACK ORIGIN
02212 031665 STA FSTP INITIALIZE THE POINTER
02213 170402 RET
0152 02214 176112 MLOW OCT 176112
0153 02215 176O77 MHI OCT 176077
0156 02216 066516 RST4 JMP ACUM4
0157
0158
0159
0160
TURN OFF THE DELETE LIGHT AND RETURN
02217 120111 RSTl LDA SECW,I LOAD THE SECURITY WORD
02220 073710
02221 062230
02222 O24O47
0161 02223 035707 RZA RST4 RETURN IF A SECURE .PROG
JSM RSTC EMPTY THE FUNCTION STACK IF NEEDED
LDB AUSO LOAD THE ABSOLUTE ORIGIN
STB USLO MAKE IT CURRENT ORIGIN
USER DEFINABLE FUNCTION BLOCK
0162 02224 021776 RST2
0163 02225 052042
0164 02226 066517
LDA PMODE LOAD THE STATUS WORD AND PROF TURN OFF THE PROTECT BIT JMP ACUM4+1 TURN OFF THE DELETE LIGHT
0166 02227 062516 RST3 JSM
0167 Ο223Ό O622O3 RSTC JSM
0168 02231 021665 LDA
0169 02232 012045 CPA
0170 02233 17O4O2 RET
0171 02234 026043 LDB
0172 02235 035665 STB
0173 02236 122045 LDA 03 74 02237 070072 SAM 03 75 02240 132045 . STA 0176 02241 066161 JMP
ACUM4 TüRN OFF, THE DELETE LIGHT STCHK CHECK THE FUNCTION STACK FSTP LOAD THE FUNCTION STACK POINTER FSLL IS STACK EMPTY?
RETURN
FSL.2 ' REDUCE THE STACK LEVEL TO ONE FSTP STORE IN STACK POINTER FSLL,I LOAD THE 1ST RETURN ADDRESS 5M-1,C CLEAR CALC FLAG IF ANY FSLL,I
FRET2
209852/1005
O178*FIND KEY PROCESSING 0179*
0180 02242 062256 FIND
0181 02243 025701
0182 02244 062017
0183 02245 074113
0184 02246 166072
0185 02247 074070
0186 02250 035701
0187 02251 124111 '
0188 02252 074110
0189 02253 064167
0190 02254 060167
0191 02255 064326
(ARBEITSWEISE ANSCHLAG-SUCHEN)
PICK THE NEXT KEY LOAD THE PROG COUNTER VALUE
SEARCH FOR THE KEYCODE SKIP IF FOUND
INDICATE ERROR, NOT FOUND PUT KEY IN Z DISPLAY ADJUST THE PROF COUNTER LOAD THE SECURITY WORD SKIP IF NON SECURE PROG RETURN IF SECURE RE-INITIALIZE
SWITCH TO PROG MODE
JSM GETKl
LDB PCNT
JSM SRCH
SBP *+2
JMP ERROR,
SIB *+l
STB PCNT
LDB SECW,I
SZB #+2
JMP INIT
JSM INIT
JMP 326B
(UNTERPROGRAMM NÄCHSTER ANSCHLAG)
Ο193*;ΤΗΕ FOLLOWING SUBROUTINE FETCHES THE NEXT KEY. THIS 0194* ROUTINE ABORTS THE OPERATION IF KEY CAME FROM PROGRAM 0195* STORAGE.
0196*
0197 02256 124103 GETKl LDB EXCF,I LOAD THE EXECUTION FLAG
0198 02257 076410
0199 02260 060115
0200 02261 12,4103
0201 02262 076250
0202 02263 070137
0203 02264 160113
0204 02265 074117
0205 02266 170402 0206
RZB UGLY JSM GETK LDB EXCF,I RZB UGLY ODB A JSM KLOG,1 LDA B RET SKIP IF EXECUTING A PROG CALL ON THE KEY FETCHER
LOAD THE EXECUTION FLAG
SKIP IF KEY CAME FROM MEMORY
PUT KEY IN B ALSO
PRINT IT IF NEEDED
LOAD KEY BACK IN A
RETURN
02267 166072 UGLY JMP ERROR,I STOP THE OPERATION
O2O85KDELETE KEY PROCESSING (ARBEITSWEISE ANSCHLAGSBESEITIGUNG) 0209*
02270 120103 DLET LDA EXCF,I
0210
0211
0212
0213
0214
02271 073710
02272 021776 02 273 04 2525 02274 031776
RZA UGLY LDA PMODE IOR DLMSK STA PKODE LOAD THE EXECUTION FLAG SKIP IF EXECUTING A PROG LOAD THE STATUS WORD TURN ON THE DELETE LIGHT STORE THE NEW STATUS "
209852/ 1005
Seite 0007 ^01 USER DEFINABLE FUNCTION BLOCK
0215 0216 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 0232 0233 0234 0235 0236 0237
0238 0239 0240 0241 0242 0243 0244 0245 0246* 0247 0248 0249 0250
02275 02276 02277 02300 02301 02302 02303 02304 02305 02306 02 02310 02311 02312 02313 02314 02315 02316 02317 02320 02321 02322 02323
02324 02325 02326 02327 02 02331 02332 02333
172160 062256 012534 066516 012051 066217 012052 066227 012533 066276 004024 074753 031664 062230 062466 025664 035701 045664 021664 062005 062516 021721 072110
170402 025725 064357 070137 006526 074153 162527 066516
OTA
DELT8 JSM CPA JMP CPA JMP CPA JMP CPA JMP ADB SBP STA JSM JSM LDB STB ISZ LDA JSM
DELTO JSM LDA RZA
RET LDB JMP
DELTl LDB ADB SBP
DELT2 JSM JMP OUTPUT TO THE INDICATORS GETKl GET THE NEXT KEY
CANCK CANCEL KEY FOLLOWS? ACUM4 YES7RETURN
PRTCT DELETE-PROTECT?
YES
DELETE-FRET?
" YES
DELETE-DELETE?
GET THE NEXT KEY CHECK IF KEY IS NUMERIC · SKIP IF NOT
STORE THE GIVEN DIGIT RESET THE FUNCTION STACK IF NEEDED CALCULATE THE REFERENCED ADDRESS
RSTl
FRETK
RST3
DLTK
DELT8
MlO
DELTl
TEMP2
RSTC
ACUM
TEMP
PCNT
TEMP
TEMP
MOVE
ACUM4
ADDRC POINT TO THE EMPTIED AREA INCREMENT IT
MOVE MEMORY
TURN OFF THE DELETE LIGHT LOAD THE ADDRESS COUNTER SKIP IF ADDRESS WAS TERMINATED
AUTOMATIC
RETURlSi
KBUF LOAD THE TERMINATING KEY
INTR2 GIVE IT TO THE INTERPRETER
A PUT KEY IN B
M6O KEY LESS THAN 60?
DELT3 SKIP IF >=60, LEGAL
ERRl,I TURN ON THE ERROR LIGHT ■
ACUM4 ABORT THE DELETE OPERATIONS
02334 070137 DELT3 LDB A
02335 006530 ADB M76
02336 075613 SBP DELT2
02337 012533 CPA DLTK KEY IS DELETE?
209852/1005 PUT KEY BACK IN B CHECK IF KEYCODE >76 ILLEGAL IF >= 76
0251 02340 066270 JMP DLET
0252 02341 012536 CPA INTK
0253 02342 066332 JMP DELT2
0254 02343 O12O5O CPA, DEFK
0255 02344 066332 JMP DELT 2
0256 02345 012537 CPA FINDK
0257 02346 066332 JMP DELT2
0258 02347 012541 CPA XFRK
0259 O235O 066332 JMP DELT2
0260 02351 031725 ' STA KBUF
0261 02352 062230 JSM RSTC
0262 02353 O21725 LDA KBUF
0263 02354 025707 LDB USLO
0264 02355 022050 DELT4 LDA DEFK
0265 02356 06201.7 JSM SRCH
0266 02357 074113 SBP *+2
0267 02360 066332 BAD JMP DELT2
0268 02361 074070 SIB *+l
0269 02362 021725 LDA KBUF
0270 02363 074457 CPA B,I
RE-INITIALIZE THE DELETE OPERATIC] INTX KEY FOLLOWS?
ERROR,ILLEGAL
KEY IS DEFINE? ERROR,ILLEGAL KEY IS DEFINE? ERROR,ILLEGAL X FROM KEY? ERROR,ILLEGAL STORE KEY IN BUFFER RESET THE FUNCTION STACK IF NEEDED LOAD THE INPUT KEY LOAD THE LOCAL PROG ORIGIN LOAD CODE FOR DEFINE KEY SEARCH FOR DEF SKIP IF SEARCH SUCCEEDED ERROR,RETURN POINT TO KEY FOLLOWING DEF LOAD THE F KEY SEARCHED FOR IS THIS THE FUNCTION TO BE DELETED
Seite 0008 ^Ol USER DEFINABLE FUNCTION BLOCK
0271 02364 066366 JMP GOOD
0272 02365 066355 JMP DELT4
0273 02366 004031 GOOD ADB Ml
0274 02367 035724 STB TEMPI
0275 02370 022050 LDA DEFK
0276 02371 074070 SIB ++1
0277 02372 062017 JSM SRCH
0278 02373 074253 SBP DELT5
0279 02374 022540 LDA ENDK
0280 02375 025724 LDB ^TEMPl
0281 02376 062017 JSM SRCH
0282 02377 075052 SBM BAD
0283 02400 0741.17 DELT5 LDA B
0284 02401 025701 LDB PCNT
0285 02402 074076 TCB
0286 02403 005724 ADB TEMPI
2098 52/1
YES, GO AHEAD NO, SEARCH SOME MORE POINT TO THE FUNCTION BEGINNING STORE ADDRESS TEMPORARILY LOAD CODE FOR DEF POINT PASS THE DEF SEARCH FOR NEXT DEF SKIP IF FOUND LOAD CODE FOR END LOAD SEARCH ADDRESS SEARCH FOR END INSTEAD ERROR IF NOT FOUND
LOAD THE PROG COUNTER MAKE IT NEGATIVE SUBTRACT FROM START OF DELI)TE AR
0287 02404 074653
0288 02405 025701
0289 02406 074076
0290 02407 070037
0291 02410 074353
0292 02411 025724
0293 02412 074076
0294 02413 070037
0295 02414 074076 "
0296 02415 005701
0297 02416 066420
0298 02417 025724 DELT7
0299 02420 035701
0300 02421 025724 DELT6
0301 02422 062005
0302 02423 066516
SBP DELT6 LDB PCNT TCB ADB A SBP DELT7
LDB TCB ADB TCB ADB JMP LDB STB LDB JSM JMP
TEMPI
PCNT
TEMPI
PCNT
TEMPI
MOVE
ACUM4
ll/Lö I
SKIP IF COUNTER IS LESS
SUBTRACT FROM END OF DELETE AREA
SKIP IF COUNTER IS SITTING IN
BETWEEN
FIND THE LENGTH OF AREA TO BE MOVEI
NEG OF LENGTH IS AVAILABLE HERE ADJUST THE PROG COUNTER
LOAD START OF AREA TO BE DELETED ADJUST THE PROG COUNTER
MOVE IT
TERMINATE
'03048JtINSERT
0305*
0306
0307
0308
0309
0310
0311
0312
0313
0314
PROCESSING (ARBEITSWEISE EINFÜGEN)
0326
0317
0318
0319
03 20
03 21
0322
03 23
0324
03 25
02424
02425
02426
02427
02430
02431
02432
02433
02434
02435
02436
02437
02440
024 41
0244 2
02443
024 4 4
02445
02446
02447
120103 INSRT LDA
070110 SZA
166072 JMP
021776 LDA
O42525 IOR
031776 STA
172160 OTA
06 2256 JSM
004024 ADB
074352 SBM
012534 CPA OG GEj] 6 ' JMP
0125351 CPA
0664 24 JMP
06 2516 JSM 166072
03]66 4 STA
OÖ223O JSM
062466 JSM
022064 LDZi
EXCF7I LOAD THE EXECUTE FLAG
#+2 SKIP IF IN CALCULATOR MODE ERROR,I ERROR,STOP EXECUTION
PMODE LOAD THE STATUS WORD
DLMSK TURN ON THE INSERT/DELETE BIT
PMODE STORE THE NEW STATUS
16 OUTPUT TO THE INDICATORS
GETKl GET THE NEXT KEY
MlO CHECK IF NUMERIC
H-+7 SKIP IF IT IS
CANCK CANCEL KEY FOLLOWS?
ACUM4 YESxRTiTURN
INSTK INSERT KEY?
INSRT REPEAT THE INSERT LOOP
ACUM4 TURN OFF THE DELETE BIT P ERROR,! ERROR
TEMP2 STORE THE INPUT DIGIT
RSTC RESET THE FUECTION STACK IF NEEDjJ
ACUM CALCULATE THE REFERENCED ADDRESS
ENM POINT TO END OF MEMORY
209852/1005
9 LL1O
Seite 0009 ^01 USER DEFINABLE FUNCTION BLOCK
0326 02450 031724 STA TEMPI RETURN
0327 02451 01166 4 INSL CPA TEMP 2
0328 02452 066516 JMP ACUM4 LOAD KEY FROM THAT ADDRE
0329 02453 000031 ADA Ml ,1 MOVE IT
0330 02454 070537 LDB A,I DONE?
0331 02455 135724 STB 'TEMPI YES,PERFORM LAST LOOP
0332 02456 011664 . CPA TEMP 2 DECREMENT MEMORY POINTER
0333 02457 066462 JMP LAST GO BACK TO MOVE LOOP
0334 02460 055724 DSZ TEMPI
0335 02461 066451 JMP INSL PUT IN VACATED LOCATION
0336 02462 024022 LAST LDB CONTK POINT TO THE INSERTED KEY
0337 02463 070577 STB A,I RETURN
0338 02464 033.701 STA PCNT
0339 02465- 066321 JMP DELTO
034ItADDRESS COMPUTING SUBROUTINE 0342*
0343 02466 024034 ACUM LDB .3
(UNTERPROGRAMM ADRESSENBERECHNÜNG)
INITIALIZE AN ADDRESS COUNTER
0344 02467 035721 STB ADDRC GET THE NEXT KEY
0345 02470 062256 ACUMl JSM GETKl NUMERIC?
0346 02471 004024 ADB MlO SKIP IF NOT
0347 02472 074453 SBP ACUM2
0348* LOAD THE PREVIOUS RESULT
0349 02473 025664 LDB TEMP 2 4*B
0350 02474 074704 SBL 2 5*B
0351 02475 005664 ADB TEMP 2 IOXB
0352 02476 074037 ADB B 10*B+A
0353 02477 070037 ADB A
0354 02500 035664 STB TEMP 2
0355* 4 DIGITS ADDRESS IN?
0356 02501 055721 DSZ ADDRC NO7GET THE NICXT DIGIT,
0357 02502 066470 JM? ACUMl STORE TH-: TERMINATOR KE
0358 02503 031725 ACUM2 STA KBUF KEY IS CANCEL?
0359 02504 01253 4 CPA CANCK YE3,ABORT THE INSERT OR DE
0360 02 "j O 5 066 5 23 JMP ACUM5
0361 02506 025564
LDB U1EMP2 LOAD TIiIi COMPUTED RESULT
209852/ 1 005
3OA
0362 02507 005707 ADB USLO
0363 02510 035664 STB TEMP 2
0364 02511 004055 ADB MAX
0365 02512 074152 SBM ACUM3
0366 02513 062516 JSM ACUM4
0367 02514 166072 JMP ERROR
0368 02515 170402 ACUM3 RET
0369*
0370 02516 021776 ACUM4 LDA PMODE
0371 02517 052531 AND DLMOF
0372 02520 031776 STA PMODE
0373 02521 172160 OTA 16
0374 02522 064167 JMP INIT
0375 02523 055777 ACUM5 DSZ SSP
0376 02524 066516 JMP ACUM4
FIND THE ACTUAL ADDRESS STORE IT
CHECK IF ADDRESS OUT OF RANGE SKIP IF OK
TURN OFF THE DELETE LIGHT ,1 TURN ON THE ERROR LIGHT NORMAL RETURN
LOAD THE STATUS WORD TURN OFF THE DELETE BIT STORE THE NEW STATUS OUTPUT TO THE INDICATORS RETURN
DECREMENT THE SYSTEM STACK
O378#LINKAGE AREA (ANSCHLUSS-GEBIET) 0379 02525 020000 DLMSK OCT 20000
Seite 0010 ^Ol USER DEFINABLE FUNCTION BLOCK
0380 0381 0382 0383 0384 0385 0386 0387 0388 0389 0390 0391 0392 0393 0394
02526 177720 M60
02527 004750 ERRl 02530 177702 M76
OCT 177720 OCT 4750 OCT 177702
02531 157777 DLMOF OCT 157777
02532 004176 MDEC OCT 4176
02533 00006 2 DLTK OCT
02534 000020 CANCK OCT
02535 000066 INSTK OCT
02536 000064 INTK OCT 6
02537 000015 FINDK OCT 0254ο 000046 ENDK OCT 02541 000067 XFRK OCT 6 00022 CONTK EQU 22B 00034 .3 EQU 34B 01777 SSP EQU 1777B CANCEL INSERT OR DELETE (CLEAR) CODE FOR INSERT
0396 02060
0397 02060 002076
ORG 2O6OB
DEF FI F5 ENTRY
20985 2/1005
300.
0398 02061 002076 ENM DEF FI F3 ENTRY
0399 02062 002270 DEF DLET DELETE ENTRY
0400 02063 002076 DEF FI F4 ENTRY
0401 0206 4 015777 DTBLl OCT 15777 END MEMORY ADDRESS
0402 02065 002076 DEF FI
0403 02066 002424 DEF INSRT INSERT ENTRY
0404 02067 002000 ERROR OCT 2000 ADDRESS OF LOCAL DIRECTIVE TABLE
0405 02070 002076 DEF FI F7 ENTRY
0406 02071 002076 DEF FI F9 ENTRY
0407 02072 004110 OCT 4110
0408 02073 002076 DEF FI F8 ENTRY
0409 02074 002076 DEF FI
0410 02075 002076 DEF FI F5 NEW ENTRY
0411*
0412 02015 ORG 2O15B
0413 02015 002242 DEF FIND FIND ENTRY
0414 02016 002025 DEF PRTCP PROTECT ENTRY
0415*
0416 02055 PROF ORG 2O55B
0417 02055 002146 FSL2 DEF FRET F-RET ENTRY
0418 02042 PRMSK ORR
0420 02042 137777 FSOR OCT 137777
0421 02043 001670 FSLL OCT 1670
0422 02044 040000 FSHL OCT 40000
0423 02045 001666 FNCB OCT 1666
0424 02045 DEFK EQU FSOR
0425 02046 001700 PRTCT OCT 1700
0426 02047 004000 FRETK OCT 4000
0427 02050 00007 2 FOFM OCT 72 CODE FOR DEFINE
0428 02051 000016 M 2 OCT 16
0429 02052 000055 AUSO OCT 55
0430 02053 173777 KBUF OCT mm
0431 02054 177776 DEC -2
0432 00047 EQU 4 7B
0433 0.1725 EOU 1725B
209852/100 5
Seite 0011 ^01 USER DEFINABLE FUNCTION BLOCK
0434 01724 TEMPI EQU 1724B
0435 00055 MAX EQU 55B
0436 01701 PCNT EQU 1701B
0437 01776 PMPDE EQU •1776B
0438 00167 INIT EQU 16 7B
0439 01665 FSTP EQU 1665B
O44O 00103 EXCF EQU 103B
0441 01707 USLO EQU 17O7B
0442 00132 CONT EQU 13 2B
0443 00115 GETK EQU 115B
0444 00113 KLOG EQU 113B
0445 00772 P2 EQU 772B
0446 00031 Ml EQU 3 IB
0447 00024 MlO EQU 24B
0448 01664 TEMP 2 EQU 1664B
0449 01721 ADDRC EQU 17 2 IB
0450 00457 INTR2 EQU 357B
0451 00111 SECW EQU HlB
0453 01665 ORG 1665B
045 4 01665 000000 OCT O
0455 02055 ORR
0456 END
.+. NO ERRORa*
209852/1005
30*
Seite 0003 021725 STAT LDA KYBUF I GET KEYCODE
0024* 002121 ADA BASEl ADD OFFSET
0025 02000 031720 STA 172OB I
0026 02001 070737 JMP A,I JUMP TO KEYCODE ROUTINE
0027 02002 003147 DEF RAND KEYCODE 15
0028 02003 002103 DEF CORR " 16
0029 02004 060115 KEY 2 JSM GETKE GET-SECOND-KEY ROUTINE
0030 02005 070137 LDB A MOVE KEYCODE
0031 02006 120103 LDA XEQFL, GET EXECUTION FLAG
0032 02007 07 2110 RZA #+2 SKIP IF NOT FROM KEYBOARD
0033 02010 160113 JSM KELOG, ITS FROM KEYBOARD, KEYLOG IT
0034 02011 170402 RET
0035 02012
0036 02013 062006 VARBL JSM KEY 2 GO GET DIGIT KEY
003 7# 016102 CPB FIVE IS IT FIVE?
0038 02014 066030 JMP FVE
0039 02015 014003 CPB FOUR I IS IT FOUR?
0040 02016 066032 JMP FUR
0041 02017 016101 CPB THREE IS IT THREE?
0042 02020 066034 JMP TREE
0043 02021 016053 CPB TWO IS IT TWO?
0044 02022 066075 JMP TOO
0045 02023 014063 CPB ONE IS IT ONE?
0046 02024 066077 JMP WON
0047 02025 166071 JMP ERSTP, NOT CORRECT DIGIT-ERROR
0048 02026 022046 FVE LDA FLG2M GET DIGIT-2 FLAG IN A
0049 02027 06 6035 JMP INCL3
0050 02030 022045 FUR LDA FLGlM O GET DIGIT-I FLAG IN A
0051 02031 066035 JMP INCL3
0052 02032 070742 TREE SAR 16 CLEAR DIGIT FLAGS IN A
0053 02033 042072 1NCL3 IOR FLG3M PUT IN DIGIT-3 FLAG
0054 02034 07013 7 PUTIT LDB A SAVE FLAGS
0055 02035 022056 LDA FLGMS GET FLAG MASK
0056 02036 070056 CMt-i MAKE IT FLAG-REMOVAL MASK
0057 02037 051776 AND FLGWD GET FLAG-WORD,MASKING OUT DIGIT
0058 02040 20 985 2/10 r FLA'--
O
0059 02041
02042 074217 3Ol -
02043 066073 305
0060 02044 002014 IOR B
0061 02045 020000 JMP REST
0062 02046 040000 DEF VARBL
0063 02047 002526 FLGlM OCT 20000
0064 02050 002471 FLG2M OCT 40000
0065 02051 002127 DEF REGR
0066 02052 002434 DEF MEAN
0067 02053 000002 DEF CLEAR
0068 02054 003560 DEF VRNCE
0069 02055 003177 TWO OCT 2
0070 02056 064000 DEF LNX
0071 02057 002717 DEF RSQR
0072 02060 002207 FLGMS OCT 64000
0073 02061 003023 DEF TPAIR
0074 0206 2 003063 DEF sum'
0075 02063 003771 DEF CHI
0076 0206 4 003421 DEF MAXM
0077 02065 OO44OO DEF LOG
0078 DEF EXP
0079 FMP DEF 44OOB
PUT NEW DIGIT FLAGS IN
KEYCODE OPTION 1 G FLAG OPTION 2 FLAG KEYCODE 60 KEYCODE 61 KEYCODE 62 KEYCODE 63 BINARY CONSTANT TWO KEYCODE 65 KEYCODE 66 DIGIT FLAG MASK
KEYCODE
KEYCODE 71 ·
KEYCODE
KEYCODE KEYCODE 74 KEYCODE 75 ENTRY (INDIRECT) TO F.P. MULTIPLY
209852/ 1 005
Seite 0004 ψ «ΟΙ FSUB DEF 4263B
0080 0206 6 004263 FAD DEF 4275B
0081 02067 004275 FDV DEF 4453B
0082 02070 004453 ERSTP DEF 411OB
0083 02071 004110 FLG3M OCT 4000
0084 02072 004000
008 5 A REST JSM STLIT
0086 02073 060330 JMP MON
0087 02074 064167
0088* TOO LDA FLG2M
0089 02075 022046 JMP PUTIT
0090 02076 066036 WON LDA FLGlM
0091 02077 022045 JMP PUTIT
0092 02100 066036 THREE OCT 3
0093 02101 000003 FIVE OCT 5
0094 02102 000005
0095* CORR LDA CLFLG
0096 02103 021664 SLA #+,S
0097 02104 072051 STA CLFLG
0098 02105 031664 JSM KEY 2
0099 02106 06 2006 CPB K70
0100 02107 016122 JMP TPAIR
0101 02110 066717 CPB K71
0102 02111 016123 JMP SUM
0103 02112 066207 CPB K72
0104 02113 016124
ENTRY (INDIRECT) TO F.P. SUBTRACT
ENTRY (INDIRECT) TO F.P. ADD
ENTRY (INDIRECT) TO F.P. DIVIDE
ENTRY (INDIRECT) TO ERROR-STOP
DIGIT-3 FLAG (MASK)
OUTPUT AND SAVE FLAG (INDICATOR) WORD
DIGIT WAS 2 - GET DIGIT-2 FLAG
DIGIT WAS 1 - GET DIGIT-I FLAG
BINARY CONSTANT THREE
BINARY CONSTANT FIVE
CORRECT KEY - GET CLEAR/CORRECT FLAGWORD
SET CORRECT FLAG
PUT CLEAR/CORRECT FLAGWORD BACK
GET NEXT KEY
IS IT T?
IS IT SUM?
IS IT CHI?
NJ NJ OO -J -P-NJ
0105
02114 067023
JMP CHI
0105 02115 021664 CANCL LDA CLFLG
0107 02116 070071 SLA *+l,C
0108 02117 031664 STA CLFLG
0109 02120 05 4167 JMP MON 0110*
0111 02121 101767 BASEl OCT 101767
0112 02122 000070 K70 OCT
0113 02123 0C0071 K71 OCT
0114 02124 000072 K72 OCT
0115 02125 000073 K7,3 OCT
0116 02126 000000 CKSMl OCT
GET CLEAR-CORRECT FLAG WORD
TURN OFF CORRECT FLAG, NEXT KEY WAS WRONG
SAVE FLAG WORD
GO TO NEXT KEY
BASE FOR INDIRECT JUMP INTO KEY-TABLE
KEYCODE 70 CONSTANT
KEYCODE 71 CONSTANT
KEYCODE 72 CONSTANT
KEYCODE 73 CONSTANT
CHECK-SUM WORD FOR 2000-2777 BLOCK
Seite 0005 ? «01 CLEAR JSM KE Y 2 CLEAR KEY - GET NEXT KEY JMOVE +MAX T XMIN
0118* CPB. K70 IS IT T?
0119* JMP TCLR
0120 02127 06 2006 CPB K71 IS IT SUM?
0121 02130 016122 JMP SUMCL
0122 02131 066141 CPB K72 IS IT CHI?
0123 02132 016123 JMP CHICL
0124 02133 066150 CPB K73 IS IT MAX/MIN?
0125 02134 016124 JMP MAXCL
0126 02135 066143 JMP ERSTP,I WRONG KEY - ERROR
0127 02136 016125 TCLR LDA R2 IT IS T - CLEAR R2,R1,RO
0128 02137 066154 CLR
0129 02140 166071 CHICL LDA Rl IT IS CHI - CLEAR Rl, RO
0130 02141 022345 CLR
0131 02142 170000 LDA RO
0132 02143 022344 CLR
0133 . 02144 170000 JMP MON
0134 02145 020033 SUMCL LDA CLFLG IT IS SUM - GET CLEAR/CORRECT
FLAGWORD
0135 02146 170000 SAP *+l,S SET CLEAR FLAG "
0136 02147 064167 STA CLFLG SAVE CLEAR/CORRECT PLAGWORD
0137 02150 021664 JMP SUM GO TO SUM ROUTINE TO CLEAR SUM
REGISTER
0138 02151 072053
0139 02152 031664 MAXCL LDA ARlP LOAD ARl PNTR, TO MAKE MAX NO
FOR INIT.
0140 02153 066 207 CLR CLEAR ARl
0141* MDI INCR. BY 1
0142 . 02154 020015 CMX 1OS COMPLEMENT TO GET ALL 9S
0143 02155 170000 LDB EX98 GET +E+98 EXPONENT WORD
0144 02156 17054ο STB ARlP,I
0145 02157 174400 t
0146 02160 026206 LDA ARlP
0147 02161 134015 LDB R21
0148* XFR
0149 02162 020015
0150 02163 027106
0151 02164 170004
209852/ 1 005
02165 020015 3*3" -
02166 027110 309
0152 02167 170004 LDA ARlP
0153 02170 020015 LDB R23
0154 02171 027112 XFR
0155 02172 170004 LDA ARlP
0156 02173 144015 LDB R25
0157 02174 020015 XPR
0158 02175 027107 ISZ ARlP7I
0159 02176 170004 LDA ARlP
0160 02177 020015 LDB R22
0161 02200 027111 XFR
0162 02201 170004 LDA ARlP
0163 02202 020015 LDB R24
016 4 02203 027113 XFR
0165 02204 170004 LDA ARlP
0166 02205 064167 LDB R26
0167 02206 061000 XFR
0168 0006 7*01 JMP MON
0169 EX98 OCT 61000
Seite
0171* 02207 062337
0172« 022,10 072110
0173 02211 062326 SUM JSM GTFLG
0174 02212 062334 RZA SUMl
0175 02213 051776 JSM SET3
0176 02214 070710 SUMl JSM FLAG 3
0177 02215 06 2331. AND FLGWD
0178 02216 070210 SZA SUM2
0179 02217 022310 JSM FLA(S 2
0180 02 220 026342 SZA SUM12
0181 02221 066241 LDA S4
0182 02222 062466 LDB R20
0183 02223 0702.10 JMP SUMR
0184 02224 022311 SUMl2 JSM FLAGl
0185 02225 027114 SZA S UMl 3
0186 02226 066241 LDA S3
0187 02227 022312 LDB R14
0188 JMP SUMR
0189 SUM13 LDA S2.
MOVE +MAX TO YMIN
MOVE +MAX TO ZMIN
MOVE -MAX TO XMAX
MOVE -MAX TO YMAX
MOVE -MAX TO ZMAX GO TO DO SOMETHING ELSE
GET THE DIGIT FLAGS SKIP IF ANY ON
NO FLAGS - SET FOR 3-VARIABLE GET DIGIT-3 FLAG OUT OF FLAGWORD A SEE IF FLAG 3 SET
IT IS NOT, SO SKIP GET FLAG 2
IS IT 2 AND 3? SKIP IF NOT IT IS 5-SET UP SUM-LOOP ENTRY " TO R20 AND B
IS IT 1 OR 3?
IT IS 3 WITHOUT 1 - SKIP IT IS 4 - SET UP SUM-LOOP TO R14 AND A
IT IS 3-SET SUM-LOOP ENTRY TO '■■'
IX
209852/1005
02230 026353 SUM2 LDB 340
02231 066241 JMP R9
0190 02232 062331 JSM SUMR
0191 02233 070210 SZA FLAG 2
0192 02234 022313 LDA SUM3
0193 02235 026350 SÜM3 LDB Sl
0194 02236 066241 JMP R5
0195 02237 022314 SUMR LDA SUMR
0196 02240 026345 LDB SO
0197 02241 031665 OLOOP STA R2
0198 02242 035666 STB COUT
0199 02243 021665 ILOOP LDA RPNTR
0200 02244 031667 STA COUT
0201 02245 021664 LDA CIN
0202 02246 070213 SAP CLFLG
0203 02247 021666 LDA ILOPl
0204 02250 170000 CLR RPNTR
0205 02251 066271 JMP
0206 TESTI
0207
02252 121667 ILOPl LDA CIN,I
0209 02253 026324
0210 02254 170004
021.1 02255 121665
0212 02256 026324
0213 02257 16206 5
0214 02260 021664
0215 02261 070251
0216 02262 022324
0217 02263 025666
0218 02264 162066
LDB T2P
XFR
LDA COUT/I
LDB T2P
JSM FMP, I
LDA CLFLG
SLA ILOP 2
LDA T2P
LDB RPNTR
JSM FSUB,I
JMP TESTI
0219 02265 066271
0220 02266 022324 ILOP2 LDA T2P
02 21 02 26 7 025666 LDB RPNTR
0222 02 270 16 2057 JSM FAD,I
0223 02 271 021666 TlISTI LDA RPNTR Ö224 02272 000003 ADA FOuR
SET MAXIMUM SUMMATION REGISTER GO TO DO SUM
IT IS NOTr SO SKIP SET FOR SUM TO Y
SET MAXIMUM SUMMATION REGISTER
GO TO DO SUM
SET FOR SUM TO X
SET MAXIMUM SUMMATION REGISTER SAVE OUTER LOOP COUNTER SAVE REGISTER POINTER GET OUTER LOOP COUNTER
MAKE INNER LOOP COUNTER THE
SAME
GET CLEAR-CORRECT FLAG WORD SEE IF CLEAR FLAG ON IT IS, GET POINTER CLEAR THE SUMMATION REGISTER GO TO TEST FOR INNER LOOP
TERMINATION
NOT CLEAR - LOAD FIRST FACTOR
POINTER
SET TO
MOVE FIRST FACTOR TO TEMP SET TO SECOND FACTOR SET TO
PRODUCT OF FACTORS IN TEMP GET CLEAR-CORRECT FLAG WORD IF NO CORRECT FLAG, SKIP CORRECT ON - LOAD FROM SET TO
subtract out factob as ccreec-
tic::
go to test for inner loop
TERMINATIN" NO CORRECT, SET TO SET TO
ADD N.3W FACTOR "JN
GET REGISTER POINTER MOVE TO NEXT RIlGISTER
209852/1005 £A0 ORIGINAL
02273 031666 RPNTR
02274 022315 S
0225 STA
0226 LDA
SAVE THE NEW POINTER GET INNER LOOP LIMIT
209852/1005
0227 02275 011667 TESTO CPA CTN
0228 02276 066301 JMP TESTO
0229 02277 045667 ISZ CIN
0230 02300 066245 JMP ILOOP
0231 02301 011665 FINS CPA COUT
0232 02302 066305 JMP FINS
0233 02303 045665 ISZ COUT
0234 02304 066243 S4 JMP OLOOP
0235 02305 070742 S3 SAR 16
Ο23δ 02306 031564 S2 SIA CLFLG
0237 02307 064167 Sl JMP MON
0238 02310 002316 SO DEF BR
0239 00311 002317 S DEF AR
0240 02312 002320 BR DEF ZR
0241 02313 002321 AR DEF YR
0242 02314 002322 ZR DEF XR
0243 02315 002323 YR DEF WONE
0244 02316 001770 XR DSF 177OB
0245 02317 001764 WONE DEF 1764B
0246 02320 001760 T2P DEF 176OB
0247 02321 001740 T3P DEF 174OB
0248 02322 001750 DEF 175OB
0249 02323 000065 DEF 65B
0250 02324 001670 DEF 167OB
0251. 02325 001674 DEF 1674B
SEE IF INNER LOOP DONE- SKIP IF NOT GO TO SEE IF OUTER LOOP IS DONE
IT IS NOT DONE - MOVE FIRST FACTOR PNTR GO DO THE INNER LOOP AGAIN
SEE IF OUTER LOOP IS DONE
OUTER LOOP DONE
MOVE OUTER LOOP COUNTER
GO DO THE OUTER LOOP AGAIN
CLEAR A REGISTER
CLEAR OUT THE CLEAR-CORRECT FLAG REGISTER '
GO TO DO ANOTHER KEY
S-VARIABLE START-POINT
4-VARIABLE START-POINT
3-VARIABLE START POINT
2-VARIABLE START POINT
1-VARIABLE START POINT
CONSTANT 1.0 POINTER
ADDRESS OF B-REGISTER
ADDRESS OF A-REGISTER
ADDRESS OF Z-REGISTER
ADDRESS OF Y-REGISTER
ADDRESS OF X-REGISTER
CONSTANT 1.0 POINTER "-J
ADDRESS OF DECIMAL TEMP-2 fO
ADDRESS OF DECIMAL TEMP-3
- ΤΣ3 -
0253* 0254* 0255*
0256 02326 022072 SET3 LDA FLG3M
0257 02327 041776 IOR FLGWD
0258 02330 064330 . JMP STLIT
GET DIGIT-3 MASK PUT 3-FLAG IN FLAGWORD JUMP TO LIGHT SETTING ROUTINE
(OTA,STA)
0259* 02331 022046 02342 001540 FLAG 2 LDA FLG2M DEF 154OB GET DIGIT-2 MASK GET DIGIT-3 MASK
0260* 02332 051776 00033 AND FLGWD EQU 33B SEE IF 2-FLAG ON SEE IF 3-FLAG ON
0261 02333 170402 02343 001654 RET DEF 1654B
0262 02344 001654 DEF 1654B
0263 02345 001650 DEF 165OB
0264* 02334 022072 02346 001644 FLAG 3 LDA FLG3M DEF 1644B GET FLAG WORD
0265* 02335 051776 02347 001644 AND FLGWD DEF 1644B MASK TO GET DIGIT FLAGS
0266 02336 170402 02350 00.1634 RET DEF 1634B
0267
0268
0269* 02337 022056 GTFLG LDA FLGMS
0270.* 02340 051776 AND FLGWD
0271 02341 170402 RET
0272 0009 j *01
0273 Rl MU-XX TRIPLE
Seite Rl
0275* MU-TABLE (MÜ-TAFEL) R2
0276* R20 R3 MU-YY TRIPLE
0277*
ΛΟΤΟ,»
RO R3
KJ C. I O/F
0279
XX R5 209862/1005
0280 Rl
0281 R2
0282 YY
0283 R3
0-284 R5
0285
0286
- -93Ό -
344
0299*
0306* 0307* 0308*:
0309*
0319 03 20 0321 0322 03-23
02351 02352 02353 02354 02355 02356 02357 02360 02361 02362 02363 02364
001630 ZZ 001630 R6 001614 R9 001654 XY 001644 001640 R4 001654 XZ 001630 001624 R7 001644 YZ 001630 0016 20 R8
DEF DEF DEF DEF DEF DEF. DEF DEF DEF DEF DEF DEF
163OB 163OB 1614B 1654B 1644B 164OB 1654B 163OB 1624B 1644B 163OB 162OB
02365 002343 XXP
02366 002346 YYP
02367 002351 ZZP
02370 002354 XYP
02371 002357 XZP
02372 002362 YZP
DEF XX DEF YY DEF ZZ DEF XY DEF XZ DEF YZ R6 R6 R9 Rl R3 R4 Rl R6 R7 R3 R6 R8
POINTER FOR MU-XX POINTER FOR MU-YY POINTER FOR MU-ZZ POINTER FOR MU-XY POINTER FOR MU-XZ POINTER FOR MU-YZ
MU-ZZ TRIPLE
MU-XY TRIPLE
MU-XZ TRIPLE
MU-YZ TRIPLE
MU SUBROUTINE (MÜ-UNTERPROGRAMM)
02373 031665. MU
02374 121665
02375 026324
02376 170004
02377 045665
02400 121665
02401 026324
02402 162065
02403 045665
02404 020033
02405 026 3
02406 162070
02407 121665 02410 026324
STA COUT
LDA COUT,I
LDB T2P
XFR
ISZ COUT
LDA COUT,I LDB T2P JSM FMP,I ISZ COUT
LDA RO LDB T2P JSM FDV,I LDA COUT,I LDB T2P
209852/10 SAVE MAX-VARIABLE POINTER GET FIRST FACTOR ADDRESS SET TO FIRST FACTOR TO TEMP
MOVE POINTER TO SECOND FACTOR
ADDRESS
GET SECOND FACTOR ADDRESS SET TO PRODUCT IN TEMP MOVER POINTER TO THIRD FACTOR
ADDRESS
SET TO GET N Sh1T TO DIVIDE PRODUCT DY K GET THIRD FACTOR ADDRESS SET TO
© 3 24 mn 0311 0317 0321 Q32S 0330
162Q66 345
126324 FSUB,I
9J411 O74151 JSM T2P,I
Q1412 O74071 LDB PLUS
©1413 066417 SLB *+l,C
01414 076051 PLUS SLB PLüS+1
Θ2415 136324 JMP *+l,S
Ö2416 SLB T2P,I
Q2417 STB
DIFFERENCE IN TEMP GET EXPONENT WORD (SIGN) IN B SKIP IF SIGN +
ITS MINUS -CHANGE TO PLUS
ITS PLUS - CHANGE TO MINUS PUT ALTERED EXPONENT WORD BACK
0331. Ο242Ο 1704Ο2
RET
Seite 0011 f Ο2ΟΟ33 MUTVR LDA RO
0333* 026325 LDB T3P
0334* 17OOO4 XFR (UNTERPROGRAMM MÜ IN VARIANZ)
0335* «ΟΙ Ο22323 LDA WONE
0336* 026325 LDB T3P SET PNTR TO GET N
0337 162066 JSM FSUB,I SET TO TO ANOTHER TEMP
0338 022325 LDA T3P MOVE N TO ANOTHER TEMP
0339 Ο26324 LDB T2P SET PNTR TO GET 1,0
0340 162Ο7Ο JSM FDV, I SET TO
0341 (N-I) IN SECOND TEMP
0342 022324 LDA T2P SET FROM
0343 170402 RET SET TO
0344 MU-TO'-VARIANCE SUBROUTINE ^01 DIVIDE MU BY (N-I) TO GET
0345 VARIANCE
02421 SET FROM PNTR TO GET RESULT
0346 02422
0347 02423
Seite 02424
Ο2425
02426
Ο2427
02430
02431
02432
02433
0012 5
0349-K
O 3 5 Oa (VARIANZ-UNTERPROGRAMM)
0351*-. VRKCE - SUBROUTINE TO COMPUTE VARIANCE OF X, (Y, Z)
0352*
Ο353 Ο2434 OG3252 VRNCE JSIi CLF.R3 CLEAR X,Y,Z REGISTER
0354 Ο2435 062337 JSMGTFLC GET DIGIT FLAGS
209852/1005
0355 02436 072110 VRNl RZA VRNl 06 3252 MEAN JSM CLER3
0356 02437 166071 JMP ERSTP,I 062337 JSM GTFLG
0357 02440 062334 JSM FLAG 3 072110 RZA MENl
0358 02441 070110 VRN 2 SZA VRN2
0359 02442 066446 JMP VRNC 3
0360 02443 062331 JSM FLAG 2
0361 02444 070610 VRNC 3 SZA VRNCl
0362 02445 066453 JMP VRNC 2
0363 02446 022367 LDA ZZP
0364 02447 062373 JSM Mu
0365 02450 062421 JSM MUTVR
0366 02451 026320 VRNC 2 LDB ZR
0367 02452 170004 XFR
0368 02453 022366 LDA YYP
0369 02454 062373 JSM MU
0370 02455 062421 JSM MUTVR
0371 02456 026321 VRNCl LDB YR.
0372 02457 170004 XFR
0373 02460 022365 LDA XXP
0374 02461 062373 JSM MU
0375 02462 062421 JSM MUTVR
0376 02463 026322 LDB XR
0377 02464 170004 XFR
0378 02465 064167 FLAGl JMP MON
Seite 0013 j *O1
0380 02466 022045 LDA FLGlM
0381 02467 051776 AND FLGWD
0382 02470 170402 RET
0383*
0384*
0385* MEAN - SUBROUTINE TO COMPUTE
(MITTEL-UNTERPROGRAMM)
0396*
0387 02471
0388 02472
0389 02473
IF VARIABLES DEFINED (ANY FLAG)
- SKIP
VARIABLES NOT DEFINED -ERROR SEE IF DIGIT-3 (3,4,5 VARIABLES) ON IT ISN'T - SKIP
IT IS - DO 3-VARIABLE VARIANCE SEE IF DIGIT-2 ON
IT ISN'T - DO 1-VARIABLE VARIANCE IT IS - DO 2-VARIABLE VARIANCE DO VARIANCE OF Z
DO VARIANCE OF Y
DO VARIANCE OF X
CLEAR X,Y,Z REGISTERS GET DIGIT FLAGS
IF VARIABLES DEFINED (ANY FLAG)
209852/ 1 005 - skip
- 3*3 -
0390 02474 166071 JMP
0391 02475 062334 MENl JSM
0392 02476 070110 SZA
0393 02477 066503 JMP
0394 02500 062331 MEN2 JSM
0395 02501 070710 SZA
0396 02502 066511 JMP 0397. 02503 022352 MEAN3 LDA
0398 02504 026320 . LDB
0399 02505 170004 XFR
0400 02506 020033 LDA
0401 02507 026320 LDB
0402 02510 162070 JSM
0403 02511 022347 MEAN2 LDA
0404 02512 026321 LDB
0405 02513 170004 XFR
0406 02514 020033 LDA
0407 02515 026321 LDB
0408 02516 162070 JSM
0409 02517 022344 MEANl LDA
0410 02520 026322 LDB
0411 02521 170004 XFR
0412 02522 020033 LDA
0413 02523 026322 LDB
0414 02524 162070 JSM
0415 02525 064167 JMP
ERSTP,I VARIABLES NOT DEFINED - ERROR FLAG3 SEE IF DIGIT-3 (3,4,5 VARIABLES) ON IT ISN'T - SKIP IT IS - DO 3-VARIABLE MEAN SEE IF DIGIT-2 ON IT ISN'T - DO 1-VARIABLE MEAN IT IS - DO 2-VARIABLE MEAN DO MEAN OF Z
MEN MEAN FLAG MEANl MEAN R6 ZR
RO ZR
FDV, I
R3
YR
RO YR
FDV, I Rl XR
RO XR
FDV, I MON DO MEAN OF Y
DO MEAN OF X
0418*-
0419*
0420*
0421*
(UNTERPROGRAMM FÜR DEN REGRESSIONS-KOEFFIZIENTEN VON 1 ODER 2 UNABHÄNGIGEN VERANDERLICHEN)
RFGR - SUBROUTINE TO DO REGRESSION COEFFICIENT COMPUTATION FOR 1 OR 2 INDEPENDENT F VARIABLE
02526 06 2337 REGR JSM GTFLG
02527 072110 RZA REGl
02530 166071 GET DIGIT FLAGS IF VARIABLES DEFINED (ANY FLAG)
- SKIP
JMP ERSTP,I VARIABLES NO DEFINED - ERROR 02531 062334 REGl JSM FLAG3 SEE IF DIGIT 3 (3,4,5 VARIABLES)
209 852/1005
0426 0427
0428
0429
0430
0431
0432
0433
0434
0435
0436
0437
0438
0439
0440
0441
0442
0443
0444
0445
0446
0447
0448
0449
0450
0451
0452
0453
0454
0455
0457
0458
0459
0460
0461
2
0463
02532 02533 02534 02535 02536 02537 02540 02541 02542 02543 02544 02545 02546 02547 02550 02551 02552 02553 02554 02555 02556 02557 02560 02561 02562 02563 02564 02565 02566 02567
02570 02571 02572 02573 02574 02575 02576
02577
070110 066567 062331 070110 066540 166071 022370 062373 062707 022365 062373 062713 022344 026324 170004 022322 026324 162065 022347 026321 170004 022324 026321 162066 020033 026321 162070 063256 064167 06.2571
06 416 022372 062373 022324 026321 170004 022365
062373
SZA JMP
REG2 JSM SZA JMP
REGRl JMP-
REGR2 LDA JSM JSM LDA JSM JSM LDA LDB XFR LDA LDB JSM LDA LDB XFR LDA LDB JSM LDA LDB JSM JSM JMP
REGR3 JSM
JMP
REGR4 LDA JSM LDA LDB XFR LDA REG 2 REGR3 FLAG 2 REGRl REGR2
IT ISN1T - SKIP
IT IS - DO 3-VARIABLE REGRESSION
SEE IF DIGIT-2 ON
IT ISN'T - SKIP
IT IS - DO 2-VARIABLE REGRESSION
ERSTP,I VARIABLE 1 - ERROR XYP
MU TXFR
XXP
MU TDVX Rl
T2P
XR T2P FMP, I R3 YR T2P
YR FSUB,I
RO
YR FDV, I
CLERl
MON REGR4
MON
YZP
MU T2P
YR
XXP MU DO 2-VARIABLE REGRESSION MAKE MU-XY
MAKE MU-XX
SET TO GET SUM -X
SUM-X TO TEMP
Al + SUM-X IN TEMP
MOVE SUM-Y TO Y
SUM-Y Al+SUM-X IN Y
MAKE A-O IN Y, BY DIVIDING' BY N CLEAR Z REGISTER GO DO NEXT THING
3-VARIABLE REGRESSION - CALL AS
SUBR
DO GO NEXT THING
SUBROUTINE FOR 3-VARIABLE REGRESSI-MAKE MU-YZ °*
MOVE MU-YZ TO X
JSM
209852/ 1
MAKE MU-XX
34!
0464 02600 022324
0465 02601 026321
0466 O26O2 162065
0467 02603 O22371
0468 02604 062373
0469 02605 062707
0470 02606 022370
0471 02607 062373
0472 02610 063246
Seite 0015 ? ΦΙ
0473 02611 022322
0474 02612 026321
0475 02613 162066
0476 02614 022365
0477 02615 062373
0478 02616 Ο627Ο7
0479 02617 022366
0480 02620 062373
0481 02621 063246
0482 02622 022370
O483 02623 062373
0484 02624 022324
0485 02625 026320
0486 02626 170004
0487 O2627 022324
0488 02630 026320
0489 02631 162065
0490 02632 022320
0491 02633 026322
0492 02634 162066
0493 02635 022322
0494 02636 026321
0495 02637 16 2070
0496 026 40 022371
0497 . 02641 062373
0498 02642 Ο6 27Ο7
0499 02643 022370
LDA T2P LDB YR JSM FMP,I LDA XZP JSM MU JSM TXFR LDA XYP JSM MU JSM TMPX
LDA LDB
JSM LDA JSM JSM LDA JSM JSM LDA JSM LDA LDB XFR LDA LDB JSM LDA LDB JSM LDA LDB JSM LDA JSM JSM
LDA
XR
YR
FSUB,I
XXP
MU
TXFR
YYP
MU
TMPX
XYP
MU
T2P
ZR
T2P
ZR
FMP, I
ZR
XR
FSUB,I
XR
YR
FDV, I
XZP
MU
TXFR
XYP
MU-YX IN X MAKE MU-XZ
NUMERATOR IN X MAKE MU-XX MAKE MU-YY MAKE MU-XY MOVE MU^-XY TO Z
MU-XY SQUARED IN Z DENOM IN Z
A-2 IN X, ALL DONE MAKE MU-XZ
209852/1005
02644 062373 - 3Ä5 - 2228742 MAKE MU-XY / AO IN Z ALL DONE
02645 022321 310
0500 02646 026324 JSM MU 1 005
0501 02647 162065 LDA YR Α2 * MUXY IN TEMP
0502 02650 022324 Lt)B Τ2Ρ
0503 02651 026322 JSM FMP,I
0504 02652 162066 LDA Τ2Ρ MUXZ - A1*MUXY IN Y
0505 02653 022365 LDB XR
0506 02654 062373 . JSM FSUB,I MAKE MU-XX
0507 02655 062713 LDA XXP
0508 02656 022352 JSM MU
0509 02657 026320 JSM TDVX
0510 02660 170004 LDA R6 SUM-Z IN Z
0511 02661 022344 LDB ZR
0512 02662 026324 XFR
0513 02663 170004 LDA Rl SUM-X IN TEMP
0514 02664 022322 LDB Τ2Ρ
0515 02665 026324 XFR
0516 02666 162065 LDA XR A1*SUM-X IN TEMP
0517 02667 022324 LDB Τ2Ρ
0518 02670 026320 JSM FMP,I
0519 02671 162066 LDA Τ2Ρ SUM-Z - AlJKSUM-X IN Z
0520 02672 022347 LDB ZR
0521 02673 026324 JSM FSUB,I
0522 02674 170004 LDA R3 SUM-Y IN TEMP
0523 02675 022321 LDB Τ2Ρ
0524 02676 026324 XFR
0525 02677 162065 LDA YR A2*SUM~Y IN TEMP
0526 02700 0'22324 LDB Τ2Ρ
05 27 0016 j JSM FMP,I
0528 ΟΠΟΙ 026320 LDA Τ2Ρ
Seite 02702 16 206 6
0529 02703 020033 LD3 ZR
0530 02704 026320 JSM FSUB,I
0531 02705 16 2070 LDA RO
0532 02706 170402 LDB ZR
0533 JSM FDV,I
0534 RET
209852/
0536* 0537* 0538 0539 0540 0541 0542* 0543* 0544 0545 0546 0547
02707 022324 TXFR
02710 026322
02711 170004
02712 170402
02713 022324 TDVX
02714 026322
02715 162070
02716 170402
LDA T2P LDB XR XFR RET
LDA T2P LDB XR JSM FDV/I RET TRANSFER DECIMAL TEMP TO X
DIVIDE X BY DEC. TEMP - RESULT IN >
0549* 0550* 0551* 0552* 0553* 0554* 0555 0556 0557 0558 0559 0560 0561 0562 0563 0564 0565 0566 0567
0568 0569
TPAIR - SUBROUTINE TO COMPUTE A RUNNING PAIRED-T STATISTIC (UNTERPROGRAMM LAUFENDE T-PAAR-STATISTIK)
02717 022321 TPAIR LDA YR 02720 026322 02721" 162066
02722 022322
02723 026324
02724 170004
02725 160212
02726 021664
02727 070631
02730 031664
02731 022322
02732 026345
02733 162066
02734 022324
02735 026344
LDB XR JSM FSUB,I LDA XR LDB T2P XFR
JSM XSQR7I LDA CLFLG SLA TP2,C STA CLFLG LDA XR LDB R2 JSM FSUB,I
LDA T2P LDB Rl (X - Y) IN X
SAVE (X-Y) IN TEMP
GET CLEAR-CORRECT FLAG WORD SAVE THE FLAG
MAKE CORRECTION BY SUBTRACT:
E ACTO?.
209852/ 1005
0570 02736 162066 JSM FSUB,I MAKE CORRECTION ON D-SQUARE
0571 02737 022323 LDA WONE
0572 02740 024033 LDB RO
0537 02741 162066 JSM FSUB,I
0574 02742 066755 JMP TP3"
0575 02743 031664 TP2 STA CLFLG SAVE THE FLAG WORD
0576 02744 022322 LDA XR ACCUMULATE (X-Y) SQUARED IN R2
0577 02745 026345 LDB R2
0578 02746 162067 . JSM FAD, I
0579 02747 022324 LDA T2P ACCUMULATE (X-Y) IN Rl
0580 02750 026344 LDB Rl
0581 02751 162067 JSM FAD, I
0582 02752 022323 LDA WONE
0583 02753 024033 LDB RO
0584 02754 162067 JSM FAD, I INCREMENT COUNTER
0585 02755 021660 TP3 LDA 166OB CHECK IF N (RO) IS I.O
0586 02756 001661 ADA 16 6 IB
0587 02757 001662 ADA 1662B
0588 02760 001663 ADA 166 3B
0589 02761 010066 CPA 66B COMPARE TO FIRST MAG.WORD OF DEC
1.0
0590 02762 067015 JMP DEFAL IT IS 1.0 - D0N7T COMPUTE T
0591 02763 022365 LDA XXP COMPUTE VARIANCE OF D-BAR
0592 02764 062373 JSM MU
0593 02765 062421 JSM MUTVR
0594 02766 026322 LDB XR
0595 02767 170004 XFR
0596 02770 020033 LDA RO
0597 02771 026322 LDB XR
0598 02772 162070 JSM FDV, I DIVIDE VARIANCE BY N
0599 02773 160276 JSM SQRT,I VARIANCE OF D IN X
0600 02774 022344 LDA Rl
0601 02775 026324 LDB T2P
0602 02776 170004 XFR MOVE SUM-D TI TEMP
0603 02777 020033 LDA RO
0604 03000 026324 LDB T2P
209852/1005
Seit© 0019 ?*01 JSM FDV,I D-BAR IN TEMP (X-Y) IN X
0605 03001 162070 LDA T2P
0606 03002 022324 LDB ZR
0607 Ο3ΟΟ3 Ο2632Ο XFR D-BAR TO Z
0608 03004 170004 LDA XR (X-Y)*.*2/Y IN TEMP
0609 03005 022322 LDB T2P GET THE FLAG WORD
06.10 03006 026324 JSM FDV,I SKIP IF NOT CORRECT
0611 03007 162070 ■ JSM TXFR SAVE THE FLAG WORD
0612 03010 062707 LDA RO
0613 03011 020033 TP4 LDB YR
0614 03012 026321 XFR N IN Y ·
0615 03013 170004 JMP MON GO TO DO SOMETHING ELSE
0616 03014 064167 LDA XR CLEAR X
0617 03015 022322 DEFAL CLR
0618 03016 170000 LDA ZR CLEAR Z
0619 03017 022320 CLR
0620 03020 170000 JMP TP4
0621 03021 067011 OCT O
0622 03022 000000 CKSM2
Seite 0020 7*01
06 24*:
0625+; CHI - SUBROUTINE TO COMPUTE AND DISPLAY CHI-SQUARE STATIS
06 26* (UNTERPROGRAMM BERECHNUNG UND ANZEIGE DER CHI-QUADRAT-STA
0627*
06 28* 03023 022321 CHI LDA YR
0629 03024 026322 LDB XR
0630 03025 162066 JSM FSUB,I
0631 03026 160212 JSM XSQR,I
0632 03027 022321 LDA YR
0633 03030 026322 LDB XR
06 34 . 03031 162070 JSM FDV, I
0635 03032 021664 LDA CLFLG
0636 03033 070471 SLA CiII2, C
.0637 0303 4 031664 5TA CLfLG
0638
2098 52/100 5
340 -
321*
0639 0640 0641
0642 0643 0644 0645 0646 0647 0648 0649 0650 0651 0652 0653 0654 0655 06 56 0657 0658 0659 0660
03035 022322
03036 026344
03037 162066
03040 03041 03042 03043 03044 03045 03046 03047 03050 03051 03052 03053 03054 03055 03056 03057 O306O 03061 03062
022323
024033
162066
06 7053
031664 CHI2
022322 "
026344
162067
022323
024033
162067
022344 CHI3
026322
170004
020033
026321
170004
063256
064167
LDA XR LDB Rl JSM FSUB,I
LDA WONE LDB. RO JSM FSUB,I JMP CHI3 STA CLFLG LDA XR LDB Rl JSM FAD,I LDA WONE LDB RO JSM FAD,I LDA Rl LDB XR XFR LDA RO LDB YR XFR
JSM CLERl JMP MON SUBTRACT OUT FACTOR TO DO
CORRECTION
SAVE THE FLAG WORD
ADD IN THE NEW FACTOR
INCREMENT N
MOVE CHI TO X
MOVE N TO Y
066 2* 0663* 066 4*
0665* 0666,5R 0667 0668
0669 0670 0671 06 72
MAXM - SUBROUTINE·TO KEEP RUNNING MIN AND MAX ON X (Y,Z) (UNTERPROGRAMM LAUFENDE MINIMA UND MAXIMA)
0306 3 06 233 7 ΜΛΧΜ JSM GTFLG 0306 4 072110 RZA MXAl
O3OG5 062326 0306 6 06 233 4 MXAl 03067 070110 03070 06 7074
JSM SET3 JSM FLAG3 SZA ΜΧΑ2 JMP MAX3 GET DIGIT FLAGS IF VARIABLES DEFINED (ANY FLAG) '
- SKIP
VARIABLES ISfOT DEFINED' - SET FOR SEE IF DIGIT-3 (3,4,5 VARIABLES) IT ISN'T - SKIP IT IS - DO 3-VARIABLE'MAX/MlN
209852/1005
0673 0674 0675 0676 0677 0678 0679 0680 0681 0682 0683 0684 0685 0686 0687 0688 0689 0690 0691 0692
03071 03072 03073 03074 03075 03076 03077 03100 03101 03102 03103 03104 03105 03106 03107 03110 03111 03112 03113 03114
062331 070410 067077 022320 027112 063115 022321 027110 063115 022322 027106 063115 064167 001534 001530 001524 001520 001514 001510 001570
MXA2
MAX
MAX2
MAXI
R21 R22 R23 R24 R25 R26 R14
JSM SZA JMP LDA LDB JSM LDA LDB JSM LDA LDB JSM JMP OCT OCT OCT OCT OCT OCT OCT
FLAG
MAXI
MAX2
ZR
R25
CHKMX
YR
R23
CHKMX
XR
R21
CHKMX
MON
1534
1530
1524
1520
1514
1510
1570 SEE IF DIGIT-2 ON IT ISN1T - DO l-VARIABLE MAX/MIN IT IS - DO 2-VARIABLE MAX/MIN
MAX/MIN OF Z
MAX/MIN OF Y
MAX/MIN OF X GO DO ANOTHER THING ADDRESS OF XMIN ADDRESS OF XMAX ADDRESS OF YMIN ADDRESS OF YMAX ADDRESS OF ZMIN ADDRESS OF ZMAX
ADDRESS OF UPPER REG. FOR 4-VARIABLE SUM
0694* 0695* 0696*. 0697^ 0698 0699 0700 0701 0702 .0703 0704 0705 0706 0707
0708
(UNTERPROGRAMM PRÜFUNG UND EINSTELLUNG DESMINIMUMS UND/ODER MAXIMUMS EINER VERÄNDERLICHEN) CHKMX - SUBROUTINE TO CHECK AND SET MIN AND/OR MAX OF 1 VARIABLE
03115 031665 CHKHX STA COUT
03116 035667
03117 026324
03120 170004
03121 021667
03122 026324
03123 162066
03124 122324
03125 07021.1
03126 021665
03127 025667
STB CIN LDB T2P XFR
LDA CIN LDB T2P JSM FSUB,I LDA T2P,I SLA MXl LDA COUT SAVE VARIABLE POINTER SAVE MINIMUM-REGISTER POINTER
MOVE X(Y,Z) TO TEMP
(X - XMIN) IN TEMP GET SIGN OF DIFFERENCE SKIP IF POSITIVE - SAME OLD MIN
LDB CIN
20 9852/1005
0709 0710 0711 0712 0713 0714 0715 0716 0717 0718 0719 0720 0721 0722 0723 0724
03130 03131 03132 03133 03134 03135 03136 03137 03140 03141 03142 03143 03144 03145 03146 00054
170004 020054 MXl 001667 031667 026324 170004 021665 026324 162066 122324 070211 021665 025667 170004 170402 MX2 MN4
XFR
LDA MN4 ADA CIN STA CIN LDB T2P XFR
LDA COUT LDB T2P JSM FSUB,I LDA T2P,I SLA MX2 LDA COUT LDB CIN XFR RET EQU 54B
SIGN WAS NEG - SAVE X AS NEW XMIN
MOVE REGISTER POINTER TO MAX SAVE IT
MOVE XMAX TO TEMP
(XMAX - X) IN TEMP
GET SIGN
SKIP IF POSITIVE
SIGN WAS NEG - SAVE X AS NEW XMAX BOTH DONE - GO BACK
07 26.-K 0727* 0728* O7295K 0730 0731
0740 0741 074 2 0743 3744
RAND - SUBROUTINE TO MAKE A RANDOM NUMBER (UNTERPROGRAMM ZUFALLSZAHLENBILDUNG)
03147 023176 RAND 03150 027165 0315.1 162065
03152 023165
03153 026322
03154 170004
03155 160264
03156 022322
03157 027165
03160 162066
03161 023165
03162 026322 0316 3 170004
03164 064167
03165 001504 R27
LDA CPNTR LDB R27 JSM FMP,I LDA R27 LDB XR XFR
JSM INTX,I LDA XR LDB R27 JSM FSUB,I
LDA R27 LDB XR XFR
JMP MOW OCT 1504 LOAD CONSTANT (MULTIPLIER) POINTER
PRODUCT IN R27
MOVE COPY TO X
TRUNCATE COPY IN X TO INTEGER
SUBT. INTEGER-PART TO GET 0-1 R.N-
IN R2 7
HOVE KEVI RANDOM NUMDER TO X
GO DO ANOTHER THING
ADDRESS Oi-' RANDOM NUMBER - R27
203852/1005
0745 03166 000400 CNSTN OCT 0746 03167 O244OÖ 03170 000000
0748 03171 000000
OCT 24400
OCT
OCT
0749 03172 OOÖOOO CPNTR OCT O
0750 03173 000000 OCT O
0751 03174 000000 RSQR OCT O
0752 03175 οοΌΟοο OCT 0
0753 03176 003166 DEF CNSTN
Seite 0024 j *01 RSQl
O755 03177 062337 JSM GTFLG
0756 03200 07 2 HO RZA RSQl
0757 03201 166071 RSQ2 JMP ERSTP, I
0758 03202 062334 JSM FLAG3
0759 03203 070110 SZA RSQ2
0760 03204 067225 RS Q3 JMP RSQR3
0761 03205 062331 RSQR2 JSM FLAG 2
076 2 03206 0.70110 SZA RSQ3
0763 03207 067211 JMP RSQR2
0764 03210 06 4167 JMP MON
0765 03211 022370 LDA XYP
0766 03212 062373 JSM MU
0767 03213 O627O7 JSM TXFR
0768 03214 160212 JSM XSQR,I
076 9 03215 022365 LDA XXP
O 7 70 03216 062373 JSM MU
0771 03217 062713 JSM TDVX
0772 03220 022.366 LDA YYP
0773 03221 06 2373 RSQR3 JSM MU
0774 03222 062713 JSM TDVX
0775 03 223 06 3254 JSM CLE R 2
0776 03224 06 416 7 JMP MON
Olli 03225 OG2571 JSM REGR4
DECIMAL 29.0 CONSTANT
(MULTIPLIER) EXP
DECIMAL 29..O CONSTANT
(MULTIPLIER) MAGl
DECIMAL 29.0 CONSTANT
(MULTIPLIER) MAG2
DECIMAL 29.O CONSTANT
(MULTIPLIER) MAG3
SPARE WORD
SPARE WORD
SPARE WORD
SPARE WORD
POINTER TO MULTIPLIER
GET DIGIT FLAGS IF VARIABLES DEFINED (ANY FLAG)
- SKIP
VARIABLES NOT DEFINED - ERROR SEE IF DIGIT-3 (3,4.5 VARIABLES) O. IT ISN'T - SKIP IT IS - DO 3-VARIABLE CORR. COEFF. SEE IF DIGIT -2 ON IT ISN'T - SKIP
IT IS - DO 2-VARIABLE CORR. COEFF, 1-VARIABLE - GO DO SOMETHING ELSE 2-VARIABLE CORR.COEFF. MAKE MU-XY
MAKE MU-XX
MAKE MU-YY
3-VARIABLE CORR.COEFF.
209852/1005
0778 03226
0779 03227
0780 03230
0781 03231
0782 03232
0783 03233
0784 03234
0785 03235
0786 03236
0787 03237
0788 03240
0789 03241
0790 03242
0791 03243
0792 03244
0793 03245 0794***
0795*
0796*
0797 03246
0798 03247
0799 03250
0800 03251 0801*
0802*
0803 03252
0804 03253
0805 03254
0806 03255
0807 03256
0808 03257
0809 03260
022371 062373 063246 022372 062373 022324 026321 162065 022321 026322 162067 022367 O62373 062713 063254 064167
022324 026322 16 206 5 170402
022322 170000 022321 170000 022320 170000 170402
3+4 -
3318
LDA XZP
JSM MU
JSM TMPX
LDA YZP
JSM MU
LDA T2P
LDB YR
JSM FMP, I
LDA YR
LDB XR
JSM FAD, I
ODA ZZP
JSM MU
JSM TDVX
JSM CLER2
JMP MON
TMPX LDA T2P LDB XR JSM FMP,I RET
CLER3 LDA XR
CLR CLER2 LDA YR
CLR CLERl LDA ZR
CLR
RET MAKE MU-XY
MAKE MU-YX
A2*MUYZ IN Y
A1*MUXY + A2+MUYZ IN X
MAKE MU-ZZ
X MULTIPLIED BY TEMP, RESULT IN X
CLEAR X CLEAR Y CLEAR Z
209852/1005
- 3JiS -
Seite 0025 0829*** 00015
0811* 0830* 00016
0812*. R/W M 0831 00063
0813*. 0832 00034
0814 01664 0833 00003
0815 01665 0834 00104
0816 01666 0835 00106
0817 01667 0836 00105
0818 016 70 0837 00031
0819 01671 0838 00054
0820 01672 0839 00023
0821 01673 0840 00024
0822 01744 0841 00101
0823 01754 0842 00056
0824 01730 0843 00012
0825* O844 01725
0826* 0845
Uo^ /■**
0828*
0846
TEMP EQU TABLO EQU DIGIT EQU SHIFT EQU COUNT EQU RCPFG EQU FNCFG EQU SIGN EQU ARlE EQU AR2E EQU ADRTE EQU
.1664B TEMP+1 TEMP+2 TEMP+3 TEMP+4 TEMP+5 TEMP+6 TEMP+7 1744B 1754B 173OB
LABELS (BEZEICHNUNGEN)
ARl
AR2
Pl
P3
P4
PlO
P12
P256
Nl
N4 ■
N5
NlO
N256
ONEE
EQU 15B EQU 16B EQU 63B EQU 34B EQU 3B EQU 104B EQU 106B EQU 105B EQU 3IB EQU 54B EQU 23B EQU 24B EQU 10IE EQU 56B
AWRDN EQU 12B KBUF EQU 1725B
209852/ 1005
0847* 01724 ADRl EQU 1724B OCT 4577
0848 01720 ADR2 EQU 172OB OCT 4741
0849 00004 ADRX EQU 4B OCT 4366
0850 00011 ADRO EQU HB
0851 00013 ADRT EQU 13B
0852 00167 SETUP EQU 16 7B
0853
0854*
0855*
DODO**
0857*
0858*
0859* LINKAGE TO MATH SUBROUTINES (
0860*
0861* 03261 004577 STMAX
0862 03262 004741 ROUND
0863 03263 004366 TERM
0864
0865*
0866* 0026 Φ Ol
Seite
ME)
0868* 0869*
0870* LINKAGE TO ARITHMETIC (ANSCHLUSS AN ARITHMETISCHES PROGRAMM)
0871* 0872 03264 004447 FD OCT 4447 0873* 0874*
0876*
0877 LINK WORDS TO THE KEYBOARD (ANSCHLUSSWÖRTER FÜR TASTENFELD)
0878* 0879* 00217 ONVX EQU 217B 0880* 0881*.
209852/1005
0883* O884#
0886* 0887« 0888* 0889* 0890 0891 0892 0893 O894* O895 0896 0897 0898 0899* 0900 0901 0902 0903 0904* 0905 O9O6 0907 0908 0909* 0910 0911 0912 0913 .0914* 0915 0916 0917 0918
ROM AREA {AUSLESESPEICHER-GEBIET)
03265 000000 Cl
03266 003223
03267 012161
03270 100126
03271 000000
03272 004523
03273 010027
03274 114004
03275 000000
03276 004625
03277 001460
03300 102462
03301 000000 ·
03302 004631
03303 050003
03304 031410
03305 000000
03306 0046
03307 112400
03310 001463
03311 OCOOOO 033.12 004631
03313 1145
03314 000003
OCT OOOOOOO LN(2) OCT 003223
OCT O12161
OCT 1OO126
DEC OOOO LN(1.1)
OCT 004523 0953
OCT 010027 1017
OCT 114004 9804
DEC OOOO LN(1.01)
OCT 004625 0995
OCT 001460 0330
OCT 102462 8532
DEC OOOO LN(1.001)
OCT 004631 0999
OCT 050003 5003
OCT 031410 3308
DEC OOOO LN(1.0001)
OCT 004631 0999
OCT 112400 9500
OCT 001463 0333
OCT 000000 LN(I7OOOOl)
OCT 004631 0999
OCT 114520 9950
OCT 000003 0003
209852/1005
- 3*8 -
0919*
0920 03315
0921 03316
0922 03317
0923 03320 0924* 0925*** 0926* 0927* 0928* 0929* 0930*
0931 03321
0932 03322
0933 03323
0934 03324
0935 03325
0936 03326
0937 03327
0938 03330
000000 C2 021402 054120 111400
000144 PlOO 177634 NlOO 001400 EP3 176 400 EN3
OCT 0000000 LN(IO) OCT 021402 2302 OCT 054120 5850 OCT 111400 9300
OCT 000144 OCT 177634 OCT 001400 OCT 176400
003261 THETL DEF Cl-4 000006 P6 DEC 6
000015 P13 DEC 13
177764 N12 DEC -12
0939 0940 0941* 0942* 09 4 S 0944* 0945*** 0946* 0947 0948* 0949 0950 0951* 0952 0953 0954
03331 000020 DÖOIO OCT 000020
03332 003315 LNlO DEF C2
PROGRAM SUBROUTINES (LEIT-UNTERPROGRAMME)
03333 035672 INIT STB FNCFG
03334 120004
03335 031673
03336 020004 XTT
03337 031720
03340 067417 ο.
LDA ADRX,I STA SIGN
LDA ADRX STA ADR2
SAVE ORIGINAL SIGN
OPiGiNAL
0955* 0956* O957 0958 0959 0960 0961 0962 0963 0964 0965* 0966* 0967 0968 0969 0970 0971* 0972 0973 0974 0975 0976* 0977 0978* 0979 0980 0981 0982 0983 0984 0985 0986 0987 0988* 0989* 0990* 0991* 0992* 0993* 0994
03341 O63417 NORM
03342 171450
03343 074404
03344 074076
03345 005754
03346 035754
03347 020016 03550 170402 '
03351 025754 UNRM
03352 074413 03553 074340
03354 074076
03355 074117
03356 003330
03357 070112
03360 027327
03361 163262
03362 070075 ZERO
03363 021755
03364 001756
03365 001757
03366 072154
03367 072110
03370 070075
03371 025754
03372 170402
JSM OTT+1
SBL
ADB AR2E STB AR2E LDA AR2
ALLIGN SHIFTS
STORE EXPONENT
LDB AR2E CLEAR E REG
SBP L1ERO
ABR 8
TCB
LDA B SKIP IF NOT ZERO
ADA N12 SKIP IF NOT ZERO
SAM *+2 CLEAR E IF ZERO
LDB P13
JSM ROUND,I
SEC #+l,C
LDA AR2E+1
ADA AR2E+2
ADA AR2E+3
SES *+3,S
RZA *+2
SEC *+l,C
LDB AR2E
RET
209852/1005
03373 020012 CLER LDA AWRDN
Seite 0029 f *01 CK CLR P4
0995 03374 170000 ADA
0996 03375 000003 CLR P4
0997 03376 170000 ADA
0998 03377 000003 CLR P3
0999 03400 170000 ADA DIGIT
1000 03401 000034 UPTAB STA
1001 03402 031666 RET
1002 03403 170402
1003*
1004*
1005*
1006* TTX TABLO
1007* ADA TABLO
1008 03404 001665 STA OTO+1
1009 03405 031665 JMP
1010 03406 067414
1011* OTO
1012* AR2
Seite 0030 j toi LDA ADRX
1014 03407 Q2OO16 LDB I
1015 03410 024004 XFR
1016 03411 170004 RET
1017 03412 170402 ONEE
1018+ LDA ARl
1019 03413 020056 OTT LDB TTX+2
1020 03414 024015 JMP
1021 03415 067411
1022*
1023*
1024*
1025* ONEE
1026 + LDA AR2
1027 03416 020056 LDB
1028 03417 024016 .T Mn
1029 0342Ω
209852/1005
1030*
- 3*1 -
Seite 03421 ίΟΙ MAIN PROGRAMS (H, Pl
1O32* 03422 INIT
1033*
ΙΛΟ Λ *.!ί-
IUo4^*
1035*
03423 t iL· 4c 2k. Jk Jdc Λ. al 16
0031 f 03424 feilt %i tS-'JkSki^: 7&4vR.7t COUNT
024063 EXP LDB
03425 063333 JSM AR2E
03426 *+4
1036*** 03427 074742 SBR EN 3
1037* 03430 035670 STB *+2
1038* 03431 STMl-I
1039* 025754 LDB
1041* 03432 074212 SBM LNlO
1042 03433 007324 ADB ADRX
1043 03434 074112 SBM ADRl
1044* 03435 067461 JMP PD, I
1045 03436 AR2E
1046 03437 023332 LDA 16
1047* 03440 024004 LDB *+5 '
1048 03441 031724 STA N 25 6
1049 03442 163264 JSM
1050 03443 025754 LDB COUNT
1051 03444 070742 SAR 4
1052 03445 074252 SBM COUNT
1053* 03446 004101 ADB *-5
1054 03447 171400 MLS AR2E
1055 03450 001670 ADA NORI-H1
1056 03451 070604 SAL TTX
1057 031670 STA
1058 075553 SBP
1059 035754 STB
1060 063342 JSM
1061 OG34O7 JSM
106 2
106 3
106 4
106 5
106 6
106 7
1068
1069
(HAUPT-PROGRAMME)
209852/1005
1070 03452 021724 LDA ADRl
1071 03453 024004 STMl LDB ADRX
1072 03454 162065 JSM FMP, I
1073 03455 063351 LT3 JSM UNRM
1074*
1075 03456 021670 LDA COUNT
1076 03457 070542 SAR 12
1077 03460 070150 SZA LT3
1078 03461 074044 SBL 15
1079 03462 167261 JMP STMAX,I
1080*
1081 03463 025670 LDB COUNT
1082 03464 074404 SBL 8
1083 03465 074142 NOEX SBR 4
1084 03466 021670 LDA COUNT
1085 03467 070342 SAR 8
1086 03470 070344 SAL 9
1087 03471 070037 ADB A
Seite 003 2 -A Dl
1088 03472 070704 SAL 2
1089 03473 070037 ADB A
1090 03474 035671 STB RCPFG
1091*
1092 03475 063373 JSM CLER
109 3 ΐ VTh
1094 03476 023325 LDA THETL
1095 03477 024012 LDB AWRDN
1096 03500 004031 ADB Nl
109 7 03501 035666 STB DIGIT
1098 03502 027326 LDB P6
1099 03 503 03IG65 STA TABLO
1100 03504 03566 7 STB SHIFT
1101 03505 OG3362 JSM ZEKO
1102 03506 07025 4 SES Vf 3
1103 03507 145G66 ISZ DIGIT,I
1104 03510 OG7525 JMP PTAl
1105 03511 170400 CMY
2098 5 2/1005
1106 03512 045666 ISZ DIGIT
1107 03513 020003 LDA P4
1108 03514 063404 JSM UPTAB
1109 03515 074004 SBL 16
1110 03516 170420 FDV
1111 03517 135666 STB DIGIT,I
1112 03520 170400 CMY
1113 03521 170560 FXA
1114 03522 171400 · MLS
1115 03523 055667 DSZ SHIFT
1116 03524 067505 JMP PTA
1117 03525 024023 PTAl LDB N5
1118 03526 045666 ISZ DIGIT
1119 03527 171400 MLS
1120 03530 131666 STA DIGIT,I
1121 03531 077670 RIB *-3
1122*
1123 03532 171400 MLS
1124 03533 000023 ADA N5
1125 03534 070135 SEC *+2,C
1126 03535 145666 ISZ DIGIT,I
1127*
1128 03536 063413 JSM OTO
1129*
1130 03537 063716 JSM PTJ
1131*
1132 03540 021671 BACK LDA RCPFG
1133 03541 031754 STA AR2E
1134*
1135 03542 171450 NRM
1136Hf
1137 03543 02.1673 LDA SIGN
1138 03544 070151 SLA X+3
1139 03545 063407 JSM TTX
1140 03546 160217 JSM ONVX,I
1141*
1142 03547 074742 SBR 16
1143 03550 021754 LDA AR2E
STORE LAST 6 DIGITS
NORMALIZE ANSWER 20 9852/1005
Seite 0033 j «£01 STA ARIE
1144 03551 031744 LDA ADRX
1145 03552 020004 STA ADR2
1146 03553 031720 JSM TERM, I
1147 03554 163263 LDA ADRO
1148 03555 020011 RESET CLR
1149 03556 170000 JMP SETUP
1150 03557 064167
Seite 0034 j toi
1152*
1153*
J. J.D 4*:*
1155*
-
115 6-X LDB Nl
1157 03560 024031 LNX JSM INIT
1158 03561 063333
1159*
1160*" LDA AR2E
1161 03562 021754 SLA >K+3,C
1162 03563 070171 LDB Pl
1163 03564 024063 JMP STMAX,I
1164 03565 167261 JSM ZERO
1165 03566 063362 SEC *-3,C
1166 03567 071675
1167* JSM CLER
1168 03570 063373 JSM PTJ
1169 03571 063716 DSZ DIGIT
1170 03572 055666
1171* LDA P-6
1172 03573 023326 LDB LNlO
1173 03574 027332 STB TABLO
1.174 03575 035665 STA TEMP
1175 03576 031.664 STA SHIFT
1176' 03577 03166 7 LDA AR2
1177 03600 020016
209852/1005
Ο36Ο1 170000 - 3*5 - DIGIT,I
03602 121666 333
1178 Ο36Ο3 O70076 CLR Pl
1179 03604 024063 PTP LDA
118O 03605 174470 TCA DIGIT
1181 03606 055666 LDB SHIFT
1182 03607 055667 MRY PTP
1183 03610 067602 DSZ 16
1184 03611 070742 DSZ TEMP
1185 03612 025664 JMP
1186 03613 074076 SAR P12
1187 03614 004106 LDB SHIFT
1188 03615 035667 TCB
1189 03616 174470 ADB N4
1190 03617 020054 STB UPTAB
1191 03620 063404 MRY 16
1192 03621 070742 PTQ LDA SHIFT
1193 03622 025667 JSM NAW
1194 03623 074650 SAR Nl
1195 03624 004031 LDB
1196 03625 174430 SZB N5
1197 03626 000023 ADB *+3,C
1198 03627 070175 MRX ARl
1199 03630 020015 ADA
1200 03631 170540 SEC DIGIT,I
1201 03632 125666 LDA
1202 03633 074076 MDI
1203 03634 171460 LDB DIGIT
1204 03635 055666 TCB SHIFT
1205 03636 05566 7 FMP
1206 0035 j ,οι DSZ PTQ
1207 03637 067G17 DSZ
Seite TTX
3 208 03640 06 3407 JMP
12Ο9ΐ
1210 H/VW JSM
1211*
1212';;
209852/1005
03641 020016 - 3*6 - AR2
03642 170000 3HO
1213 LDA
1214 03643 021673 CLR SIGN
1215* 03644 000105 P256
1216 03645 070153 LDA #+3
1217 03636 070071 ADA #+i,c
1218 03647 070076 SAP
1219 03650 070342 SLA 8
1220 TCA
1221 03651 074742 SAR 16
1222* 03652 003322 NlOO
1223 03653 070152 SBR *+3
1224 03654 004105 ADA P256
1225 03655 067657 SAM #+2
1226 03656 003321 ADB PlOO
1227 JMP
1228 03657 000024 ADA NlO
1229* 03660 070152 Jfc+3
1230 03661 007331 ADA DOOlO
1231 03662 067657 SAM *-3
1232 03663 000104 ADB PlO
1233 JMP
1234 03664 070037 ADA A
1235Si 03665 035755 AR2E+1
1236 ADB
1237 03666 023323 STB EP3
1238*- 03667 031754 AR2E
1239 03670 063342 LDA N0RM+1
1240 STA
1241 03671 027332 JSM LNlO
1242* 03672 162065 FMP, I
1243 LDB
1244 03673 020016 JSM AR2
1245*
1246 03674 024004 LDA ADRX
1247*· 03675 035724 ADRl
1248 03676 063341 LDB NOFiM
1249 03677 024013 STB
1250 JSM
1251 LDB
GET EXPONENT WORD
COMPLEMENT IF NEGATIVE
§09852/1005
1252 O37OO 17OOO4 XFR ADRl
1253 03701 021724 LDA NORM
1254 03702 063341 JSM TTX+1
1255 03703 063410 JSM
1256* ADRl,I
1257 03704 145724 ISZ
1258* SIGN
1259 03705 021673 LDA #+2
1260 03706 070113 SAP ADRTE
1261 03707 045730 ISZ ADRX
1262 03710 020004 LDA ADRT
1263 03711 024013 LDB
Seite 0036 5 *01
1264 03712 162067
1265 03713 020013
1266 03714 063410 OUTS
1267 03715 067555 1268*
1269*
1271*
1272*
1273
1274
1275*
1276
1277
1278
1279
1280
1281
1282*
1283
1284
1285
1286
1287
03716
03717
03720 03721 03722 03723 03724 03725
03726
03727 03730 03731 03732
020012 PTJ 031666
020106 031667 025672 074252 063416 067733
174400 PTR 1705ßO 020016 063414 067736
JSM FAD,I LDA ADRT
JSM TTX+1 JMP RESET
LDA AWRDN
STA DIGIT INITIALIZE DIGIT LOCATION
LDA P12 STA SHIFT INITIALIZE COUNT LDB FNCFG SBM *+5 JSM OTT JMP PTI
CMX
FXA
LDA AR2 JSM OTO+1 JMP PTH-2
209852/1005
3Mi
1288* 03733 121666 PTI LDA DIGIT, I
1289 03734 072110 RZA *4-2 SKIP IF DIGIT NOT ZERO
1290 03735 067761 JMP PTG
1291
1292* 03736 020104 LDA PlO
1293 03737 031665 STA TABLO
1294 03740 025667 PTH LDB SHIFT
1295 03741 074076 TCB
1296 03742 004106 ADB P12 CALC SHIFT COUNT
1297 03743 070742 SAR 16
1298 03744 174430 MRX SHIFT ARl
1299
1300* 03745 025672 LDB FNCFG
1301 03746 014063 CPB Pl SKIP IF NOT EXP
1302 03747 000023 ADA N5
1303
1304* 03750 170560 FXA CALC X+10*(-J)X
1305
1306* 03751 070414 SES PTG
1307 03752 055665 DSZ TABLO
1308 03753 067755 JMP GOON
1309 03754 067761 JMP PTG
1310
1311* 03755 020016 GOON LDA AR2
1312 03756 063414 JSM OTO+1
1313 03757 155666 DSZ DIGITx I
1314 03760 067740 JMP PTH
1315
1316* 03761 045666 PTG ISZ DIGIT
1317 03762 055667 DSZ SHIFT DECREMENT COUNTER
1318 03763 067765 JMP #+2
1319 0037 j *01
Seite 03 76 4 170402 RET
1320
132LV
1322*-
2 0 9 8 5 2/1005
1323 03765 025672 LDB FNCFG
1324 03766 014031 CPB Nl
1325 03767 067726 JMP PTR
1326 03770 067733 . JMP PTI
1329*
1330 03771 063560 LOG JSM LNX
1331 03772 023332 LDA LNlO
1332 03773 024004 LDB ADRX
1333 03774 167264 JMP FD,I 1334* 1335* 1336X 1337*
1338 END
X NO ERRORSX-
209852/1005
3Η4
Seite 0006 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
0001 0002* 0004* 0005=K 0006*f
ASMB,A,B,C,L,T
MIKE WINGERT ORG 2000B OPTION BLOCK ORIGIN
0008* 0009 02000 0010* 00114i**'#*##tf46#tf*^^ 0012*
0013* R/W MEMORY AREA (KWM-SPEICHER-GEBIET
0014* 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 003 2
01664 01665 01666 01667 01670 01671 01672 01673 01674 01675 01676 01677 01744 01754 01750 01730 01672 01740
TEMP EQU 1664B
TABLO EQU TEMP+1
DIGIT EQU TEMP+2
SHIFT EQU TEMP+3
COUNT EQU TEMP+4
RCPFG EQU TEMP+5
FNCFG EQU TEMP+6
SIGN EQU TEMP+7
SAVE EQU TEMP+8
RY2 EQU TEMP+9 RYl GFG ARlE AR2E TEMPORARY
CORDIC CONSTANT ADDRESSES
DIGIT STACK POINTER
SHIFT FACTOR
BCD STORAGE
RECIPROCAL FLAG
FUlNiCTION FLAG
EXPONENT WORD STORAGE
TEMPORARY
REGISTER ADDRESS STORAGE
EQU TEMP+10 REGISTER ADDRESS STORAGE EQU TEMP+11 G FLAG
EQU 1744B EXPONENT WORD OF ARl EXPONENT WORD OF AR2 EXPONENT WORD OF X EXPONENT WORD OF T EXPONENT IvORD OF P EXPONENT OWRD OF Y
EQU 1754B
ADRXE EQU 175OB
ADRTE EQU 173OB
ADRPE EQU 16 72B
ADRYE EQU 174OB
209852/1005
MATH BLOCK FOR THE 9810, CALLED 'C0RD31 (MATHEMATISCHE FUNKTION "CORD 3")
0034*- - 00015 . ARl EQU 15B ADDRESS OF ARl
0035* 00016 AR2 EQU 16B ADDRESS OF AR2
00063 Pl EQU 63B POSITIVE ONE
00772 P2 EUQ 772B POSITIVE TWO
00034 P3 EQU 34B POSITIVE THREE
00003 P4 3B POSITIVE FOUR
OO 3 6**^^***3£Κ#***ί^^ 00770 P7 EQU 77OB POSITIVE SEVEN
0037* 00104 PlO EQU 104B POSITIVE TEN
00106 P12 EQU 106B POSITIVE TWELVE
00074 P22 EQU 74B POSITIVE 22
00105 P256 EQU 105B POSITIVE 256
00031 Nl EQU 3IB NEGATIVE ONE
ΟΟ38#·ΚΞΚ LABELS (BEZEICHNUNGEN) 00054 N4 EQU 54B NEGATIVE FOUR
003 9* 00023 N5 EQU 23B NEGATIVE FIVE
0040 00024 NlO EQU 24B · NEGATIVE TEN
0041 00101 N256 EQU 101B NEGATIVE 256 φ
0042 00032 EN 2 EQU 32B NEGATIVE EXPONENT TWO
0043 .00056 ONE EQU 56B ADDRESS OF FLOATING ONE
0044 00012 AWRDN EQU 12B ADDRESS OF DIGIT STACK
0045 00064 PI EQU 6 4B ADDRESS OF PI
0046 00100 RETC EQU lOOB RETURN CODE (OCT 77)
0047 00064 ASNC EQU 64B SINE CODE (OCT 70)
0048 01724 ADRl EQU 1724B ADDRESS OF SECOND OPERAND
0049 01720 ADR 2 EQU 172OB ADDRESS OF FIRST OPERAND
0050 00004 ADRX EQU 4B ADDRESS OF X
0051 00005 ADRY EQU 5B ADDRESS OF Y
0052 00011 ADRO EQU HB ADDRESS OF THETA
0053 00013 ADRT EQU 13B ADDRESS OF T
0054 00007 ADRA EQU 7B ADDRESS OF A
055 00010 ADRB EQU 1OB ADDRESS OF B
0056
0057
0058
0059
0060
0061
0062
0063
006 4
0065
0066
0067
0068
0069
209852/1005
0070 00033 ADRF EQU 33B
0071 00006 ADRZ EQU 6B
0072 01776 UNITS EQU 1776B
0073 01725 KBUF EQU 1725B
0074 00066 ERR EQU 66B
0075 00103 EXCF EQU 103B
0076 01710 USP EQU 1710B
0077 00132 EXEC EQU 132B
0078 01721 . SUBF EQU 1721B
0079 00115 NXCD EQU 115B
0080 00362 INTP EQU 362B
0081 00167 SETUP EQU 167B
0082 01707 ZZAD EQU 17O7B
0083 00113 KYLOG EQU 113B
ADDRESS OF REGISTER
ADDRESS OF Z
STATUS WORD
KEYCODE BUFFER
ERROR BIT MASK
EXECUTION FLAG
USER STACK POINTER
EXECUTER
SUBROUTINE FLAG
NEXT CODE ROUTINE
INTERPRETER
SETUP ROUTINE
BEGINNING OF PROGRAM MEMORY
KEYLOG ROUTINE
Seite 0008 ^Ol MATH BLOCK FOR THE 9810, CALLED 'CORDS1
(MATHEMATISCHE FUNKTION "CORD 3")
0085* 0086* 008 7**^*¥*-*^*ί>Κ*2^ 0088Xf
0089-Hf LINKAGE TO THE MAINLINE ROUTINES
(ANSCHLUSS AN HAUPTPROGRAMME) 0090*-
0091 02000 021725 LDA KBUF
0092 02001 002146 ADA LINK
0093 02002 070517 JTA LDA A,I
LOAD THE KEYCODE
ADD THE LINK WORD TO IT
LOAD THE ADDRESS OF THE ROUTINE
02003 070717 JSM A,I
02004 020011 RESET LDA ADRO
02005 170000 CLR
02006 06 4167 JMP SETUP RETURN THRU THE SETUP ROUTJ-·
0094 0095 0096 0097 0098* 0099*
OiOl* 01G2*t LINK- TO MATH SUBROUTINES
(ANSCHLUSS AN MATHEMATIK'UNTERPROGRAMME)
EXECUTE THE KEYCODE ROUTINE CLEAR THE SYSTEM FLAG AREA
209852/10
O1O3-*-
0104 02007 004577 STMAX OCT 4577 LINK TO
0105 02010 004371 FALSE OCT 4371 LINK TO
0106 02011 004741 ROUND OCT 4741 LINK TO
0107 02012 004366 TERM OCT 4366 LINK TO
0108 * 0109*
0110***^JMUK3te^#*)i^K^
Olli*
0112*" LINKAGE TO ARITHMETIC
(ANSCHLUSS AN ARITHMETIKPROGRAMM)
0113*
0114 02013 004447 FD OCT 4447 LINK TO
0115 02014 004374 FMP OCT 4374 LINK TO
0116 O2O15 004271 FAD OCT 4271 LINK TO
0117 02016 004257 FSB OCT 4257 LINK TO
THE STORE MAXIMUM NO. ROUTINE
THE STORE ZERO ROUTINE THE ROUND ROUTINE
THE CALCULATE EXPONENT ROUTINE
THE FLOATING DIVIDE ROUTINE
THE FLOATING MULTIPLY ROUTINE
THE FLOATING ADD
ROUTINE
THE FLOATING SUBTRACT ROUTINE
Seite 0009 ^Ol MATH BLOCK FOR THE 9810, CALLED 'CORDS'
(MATHEMATISCHE FUNKTION "CORD 3")
0119f 0120*
0122* 0123* 0124* O125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135
LINK WORD TO THE KEYBOARD (ANSCHLUSSWÖRTER FÜR TASTENFEJjD)
O0276 00217 OO2.12 OO 22 7 00230 00264 00234 00242 00236 00232 00237
FSR EQU 276B SQUARE ROOT
ONVX EQU 217B ONE OVER X
XSQ EQU 212B X SQUARED
UP EQU 227Bl UP
XEY EQU 23OB X EXCHANGE Y
INTX EQU 2 6 413 INTEGPJR X
YMX EQU 2343 Y MINUS X
FMT EQU 242B FORMAT
MULT EQU 236B Y TIMES X
FSN EQU 232B CHANGE SIGN
CLX EQU 237B CLEAR X Λ n,
209852/1005
Seite OOIO ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
013 9 *1ί1!ί%ΐΜ&{#%ϊ(%1^^ 0140Xi 0141* F () TABLE (TAFEL F () )
0143 02017 003707 DEF RET3 RETURN (TABLE O)
0144 02020 003677 DEF DEG DEGREES
0145 02O21 003677 DEF RAD RADIANS
0146 02022 003677 DEF GRA GRADS
0147 O2O23 002705 DEF LOG LOGRITHMN BASE
0148 02024 003416. DEF TENX TEN TO THE POWER
0149 02025 003452 DEF DMSTD DEGREES, MINUTES, SECONDS TO
DEGREES
0150 Ο2Ό26 003465 DEF DTDMS DEGREES TO DEGREES, MINUTES,
SECONDS
0151 02027 003063 DEF XFACT X FACTORIAL
0152 02030 003602 DEF RNDY ROUND Y TO THE POWER IN X
Seite 0011 ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD3'
(MATHEMATISCHE FUNKTION "CORD 3")
0156 ^HE^XW^****;****;*^
0158'üf CONSTANT AREA (KONSTANTEN-GEBIET)
0160 02031 000400 C8 OCT 000400 200/PI
0161 0203 2 061546 OCT 061546 6366
0162 02033 014567 OCT 014567 1977
016 3 02034 021545 OCT 021545 2365
0164*
0165 02035 000000 OCT 000000 LN (2)
0166 Ο2Ο36 003223 OCT 003223 69,31
0167 02037 012161 OCT 012161 4718
209852/ 1005
"" 3*6"5 —
0168 02040 100126 OCT 100126 8056
0169* 0000000
0170 02041 000000 DEC 0000 021402 LN(1.1)
0171 02042 004523 OCT 004523 054120 0953
O172 O2O43 O1OO27 OCT O1OO27 111400 1O17
0173 02044 114004 OCT 114004 9804
0174*
0175 02045 000000 DEC 0000 LN(1.01)
0176 02046 004625 OCT 004625 0995
0177 02047 001460 OCT 001460 0330
0178 02050 10246 2 OCT 102462 8532
0179Si
0180 02051 000000 DEC 0000 LN(1.001)
0181 02052 004631 OCT 004631 0999
0182 02053 050003 OCT 050003 5003
0183 02054 031410 OCT 031410 3308
0184/1;
0185 02055 000000 DEC 0000 LN(1.0001)
0186 02056 004631 OCT 004631 0999
0187 02057 112400 OCT 112400 9500
0188 02060 001463 OCT 001463 0333
0189JIf
0190 02061 000000 OCT 000000 LN(1.00001)
0191 02062 004631 OCT 004631 0999
0192 02063 114520 OCT 114520 9950
0193 0206 4 000003 OCT 000003 0003
0194*'
0195 02065 000000 C2 OCT LN(IO)
0196 02066 021402 OCT 2302
0.197 02067 054120 OCT 5850
0198 Ο2Ο7Ό 111400 OCT 9 300
0199*
0201*
0202 02071 001400 KP3
0203 02072 114631
0204 02073 000000 O2O5*
OCT 001400 OCT 114631 OCT 0
POSITIVE 9999 9999 0000
209852/1005
02074 000000 - 1A% -
350
0000 ARCTAN 2228742
0206 02075 003605 DEC 003605 0785 {1)
0207 02076 034601 OCT O346O1 3981
0208 02077 061500 OCT 061500 6340
2209 OCT
Seite 0012 j^Ol MATH BLOCK FOR THE 9810, CALLED 1
(MATHEMATISCHE FUNKTION "CORD 3")
021OX 02100 DEC 0000 ARCTÄN (. 1)
0211 02101 000000 OCT 004626 0996
0212 02102 0046 26 OCT 06 4145 6865
0213 02103 064145 OC Γ 022221 2491
0214 022221
O215X 02104 DEC 0000 ARC TAN C-Ol)
0216 02105 000000 OCT 004631 09999
0217 02106 004631 OCT 113146 9666
0218 02107 113146 OCT 064147 6867
0219 064147
Ο22ΟΛ" 02110 DEC 0000 ARCTÄN(-001)
0221 02111 000000 OCT 004631 0999
0222 02112 004631 OCT 114626 9996
0223 02113 114626 OCT 063147 6667
0224 063147
0225>f 02114 OCT 000000 ARCTAN(.0001)
0226 02115 000000 OCT 004631 0999
0227 02116 004631 OCT 114631 9999
0228 02117 114631 OCT 113147 9667
0229 113147
0230.^ 02120 OCT 000000 ARCTAN(.00001)
0231 02121 000000 OCT 004631 0999
0232 02122 004631 OCT 1146 31 9999
023 3 02123' 114631 OCT 114627 9997
023 4 114627
02354- 02124 OCT 000000 2PI
G"36 02125 000000 C4 OCT 061203 628 3
0/3 V 02126 061203 OCT 014123 185 3
0238 02127 014123 OCT 003440 0720
02 3 y 0034 40
0240*
20985 2/1005
Ο213Ο 000400 354 C9 OCT 0004OO 2228742 SIXTY
0241 Ο2131 060000 OCT O6O000 6000
O242 Ο2132 OOOOOO OCT O oooo
O243 Ο2133 OOOOOO C5 OCT OOOOOO PI/2
O245 Ο2134 Ο12560 OCT 1256Ο 1570
O246 Ο2135 Ο74543 OCT 074543 7963
O247 Ο2136 0232OO OCT 023200 26 8O
0248
024 9K 02137 00Ο40Ο C7 OCT 000400 180/PI
Ο250 Ο214Ο 053451 OCT Ο53451 5729
Ο251 Ο2141 053571 OCT Ο53571 5779
0252 Ο2142 Ο5Ο45Ο OCT Ό5Ο45Ο 5128
0253
Ο254*
0255* 02143 177624 Ν108 DEC -108 NEGATIVE 108
Ο256 Ο2144 ΟΟΟΟ46 END OCT 46 END CODE
Ο257 Ο2145 ΟΟ2124 TWOPI DEF C4 ADDRESS GF 2PI
0258 02146 ΟΟ2133 PI/2 DEF C5 ADDRESS OF PI/2
Ο259 02147 002137 DPERR DEF C7 DEGREES TO RADIANS
026Ο
0261 02150 OO342O
1262 02151 OO3714
DEF ABS DEF USER
0263 O2152 002031 GPERR DEF C8
0264 02153 002130 CONV DEF C9
0265 O2154 000144 PlOO OCT 00014 4
CONSTANT ADDRESS ABSOLUTE VALUE...KC=15
USER DEFINED FUNCTION .*.KC=16
GRADS TO RADIANS CONSTANT ADDRESS ADDRESS OF FLOATING POSITIVE 144
Seite 0013 ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
O266 02155 177634 NlOO
026 7 02156 002071 FNS
0268 02157 176400 EN3
0269 02160 172000 EN12
0270 02161 002144 ENDA
0271 02162 002064 TIIETT DEF C2-1
0272 02163 000006 P6 DEC 6
0273 0216 4 000013 Pll DEC 11
OCT 177634 DEF EP3 OCT 176 400 OCT 172000 DEF END
NEGATIVE 100 ADDRESS OF FLOATING EXPONENT NEGATIVE EXPONENT NEGATIVE END CODE ADDRESS TRIG CONSTANT TABLE POSITIVE SIX POSITIVE 11
209852/1005
8742
0274 02165 02211 000015 P13 DEC 13 CHECKSUM POSITIVE 13
0275 02166 02212 000037 CLXC OCT 37 CLEAR X CODE
0276 02167 02213 000042 P34 DEC 34 000020 POSITIVE 34
0277 02170 02214 177776 DEC -2 4750 NEGATIVE 2
0278 02171 02215 177764 N12 DEC -12 1654 NEGATIVE 12
0279 02172 02216 177763 N13 DEC -13 1644 NEGATIVE 13
0280 02173 02217 177772 N6 DEC -6 040000 NEGATIVE 6
0281* 02220 004000
0282 02174 02221 opoooo CKSMl NOP 113777 WORD FOR THE FIRST
512 WORDS
0283* 02222' 1664
0284 02175 02223 000020 DOOlO OCT 73 BCD 0010
0285 02176 02224 004750 ERROR OCT 71 ERROR ROUTINE ADDRESS
0286 02177 02225 001654 XMIN OCT C2 XMIN ADDRESS (Rl)
0287 02200 02226 0016 44 YMIN OCT F XMIN ADDRESS (R3)
0288 02201 02227 040000 RADF OCT ADRPE RADIAN FLAG BIT
0289 02202 02230 004000 GRAF OCT 5152 GRAD FLAG BIT
0290 02203 113777 UNITM OCT ACP OPTION LIGHT MASK
0291 02204 001664 FINAL OCT RCL R REGISTER END
0292 02205 000073 ACSC OCT TP COSINE KEYCODE
0293 02206 000071 ATNC OCT ACM TANGENT KEYCODE v
0294 02207 002065 LNlO DEF 5235 ADDRESS OF LN(IO)
0295 02210 003660 DEF LNX FUNCTION TABLE...KC=55
0296 001672 ADRP DEF TR ADDRESS OF P
0297 005152 SRCH OCT 16 SEARCH LABEL ROUTINE
0298 003510 DEF SIN ACCUMULATE PLUS...KC=60
0299 003475 DEF TAN RECALL...KC=61
0300 003516 DEF ARC TO POLAR...KC=6 2
0301 003502 DEF COS ACCUMULATE MINUS . . . KC*6
0302 005235 GSBA OCT UPARO GO SUB ROUTINE
0303 003000 DEF EXP NATURAL LOG...KC=6 5
0304 003561 DEF BAD ORIGINAL TO RECTANGULAR...KC-Go
0305 000016 USERC OCT DEFINABLE F(X) KEYCOCi
0306 002411 DEF SINE...KC-70
0307 002466 DEF TANGENT...KC=71 '
0308 0024 45 DEF ARC...KC=72
0309 002440 DEF COSINE...K=73
0310 002712 DEF X1TO THE POWER y!..KCs
0311 002722 DEF E TO THE POWER Χ...Κ^"':
209852/1005
Seite 0014 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
O313* 0314*
0316*
0317***· " PROGRAM SUBROUTINES (LEITUNTERPROGRAMME)
0318*- 0319*
0320*** INITIALIZE (EINLEITUNG)
0321*
0322 02231 035672 INIT STB FNCFG STORE THE FUNCTION FLAG
0323 02232 120004 LDA ADRX,I SAVE THE EXPONENT
0324 02233 031673 STA SIGN WORD OF THE· ARGUMENT
0326 02234 020004 XTT LDA ADRX SAVE THE ADDRESS OF
0327 .02235 031720 STA ADR2 THE ARGUMENT
0328 02236 066377 JMP RlTT+1 LOAD THE ARGUMENT INTO AR2 0329*
0331*
0332*'**· NORMALIZE TWO FLOATING POINT NUMBERS (NORMALISIERUNG
VON ZWEI GLEITKOMMA-ZAHLEN) 0333*
STB ADRl
0334 02237 035724 DIV
0335 02240 062246
0336 02241 024013
0337 02242 170004
0338 02243 0217
0339 02244 062246
0340 02245 OG7612
STORE THE ADDRESS OF THE
SECOND NUMBER
JSM NORM NORMALIZE THE FIRST NO. AND LDB ADRT TRANSFER IT XFR INTO RESERVED LOCATION T
LDA ADRl LOAD THE ADDRESS OF THE SECOND NO.
JSM NORM NORMALIZE IT AND JMP TTX+1 TRANSFER IT INTO X
03 4 3*
0345*
NORI-IALIZE AND CORRECT THE EXPONENT (NORMALISIERUNG UND EXPONENTENKORREKTUR)
209852/1005
0346 02246 062377 NORM JSM RlTT+1
0347 02247 171450 NRM 8
0348 02250 074404 SBL
0349 02251 074076 TCB AR2E
0350 02252 005754 ADB AR2E
0351 02253 035754 STB AR2
0352 02254 020016 LDA
0353 02255 170402 RET
TRANSFER THE SPECIFIED NO. INTO AR2
NORMALIZE IT
ADD THE NEGATIVE
NO.OF SHIFTS
OT THE EXPONENT WORD
AND RESTORE IT LOAD THE ADDRESS OF AR2 RETURN
Seite 0015 ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
0355*
0357*
0358***
0359*
0360 02256
0362 02257
0363 02260
0364 02261
FIND THE FRACTIONAL PART OF ONE NO. OF A SPECIFIED QUANTITY (BRUCHTEIL EINER ZAHL)
025754 070742 031670
02262 074252
0366*
0367
0368
0369
0370
0371
03 72
02263 02264 02265 02266 02267 02270
037 3 02271 03 7 4*,
0375 02272
03 76*
0^77 G2>;73
004101 171400 OG167O 070604 031670 075553
035754 06 2247
063611
063403 FRAC JSM GTOR+1 DIVIDE THE NO. SPECIFIED IN
B BY THAT IN A
LOAD THE EXPONENT WORD CLEAR THE A REGISTER
CLEAR THE INTEGER STORAGE WORD
SKIP IF THE EXPONENT IS NEGATIVE
SUBTRACT 1 FROM THE EXPONEN'j LEFT SHIFT THE MANTISSA SAVE THE SHIFTED DIGIT AND
ALLIGN IT AND
STORE IT
SKIP IF THE EXPONENT IS STILL NEGATIVE
STORE THE NEW EXPONENT
LDB AR2E SAR STA COUNT
SBM
ADB N256
MLS
ADA COUNT
SAL
STA COUNT
SBP m-5
STB AR2E JSM NORM+1 NORMALIZE THE FRACTION CALCULATED
JSM TTX TIViNSFER IT INTO X
209852/ 1005
0378 02274 021724 LDA ADRl'
0379 02275 067473 JMP ΧΑΜ 038OHf
038l***itf#*9!O^=iK#3^
0382*
MULTIPLY IT BY THE CONSTANT ORIGINALLY GIVEN IN A
0383***
0384*
UNNORMALIZE A NUMBER AND ROUND IT UP (ENTNORMALISIERUNG UND RUNDUNG)
0385 02276 025754 UNRM LDB AR2E
0386 02277 0.74413 SBP ZERO
0387 Q23OO 074340 ABR 8
0388 02301 074076 TCB
0389*
0390 02302 074117 LDA B
0391 02303 002171 ADA N12
0392 Ο23θ4 070112 SAM ar+2
0393 02305 026165 LDB P13
0394*
0395 02306 162011 JSM ROUN
SKIP IF THE EXPONENT
IS NON-NEGATIVE ALLIGN AND
COMPLEMENT THE EXPONENT
IF THE EXPONENT IS GREATER THAN 12 IN MAGNITUDE REPLACE IT WITH 13
JSM ROUND,! SHIFT AND ROUND AR2 THIS MANY TIMES
209852/1005
Seite 0016 5*01 MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
0397*
NJ
CD
CD
OO
%ΐ DETERMINE WHETHER AR2 IS ZERO (NULL PRÜFUNG) 0401* 0402 02307 O7CO75 ZERO SEC *+l,C
LDA AR2E+1
ADA AR2E+2
ADA AR2E+3
0403 0404 0405 0406 0407 0408 0409 0410 0411* 0412 ^v^ Ο413&
02310 021755
02311 001756
02312 001757
02313 072154
02314
\J I Δ
110
02315 070075
02316 025754
02317 170402
SFS S6+3fS
RZA
SEC , LDB AR2E RET CLEAR THE OVERFLOW BIT
ADD THE THREE MANTISSA
WORDS TOGETHER INTO THE <£?
A REGISTER ^
SET THE OVERFLOW AND JUMP IF THE MANTISSA IS NONZERO JUMP IF THE MANTISSA IS NONZERO (SECOND CHECK) THE MANTISSA IS ZERO - CLEAR THE OVERFLOW BIT LOAD THE EXPONENT WORD
RETURN
CALCULATE SQR (1+OR-XX) (QUADRATWURZEL)
0416 02"32O 031570 SCRT STA COUNT
C417* 0418 02321 062343 JSM XAT
O Λ19 Ο2322 17COO4 XFR STORE THE CODE WORD
STORE THE NO1 IN T
O42O"4'
02323 021750 LDA ADRXE
0422 02324 002 202 ADA GRAF
Ο-, 2 2 O23;.> ^70113 SAP Ä+2
',.; ti .■' id20;j JSM FALSE,
160212 JSM XSQ, I
04 27 02330 021670 LDA COUNT
0423 02331 070111 SLA *+2
04 29 02322 144004 ISZ ADRX,I
0430 02333 020056 LDA ONE
0431 02334 063712 JSM XAA
0432*
0433 02335 160276 JSM FSR,I"
04 34*
0435 02336 021670 SCRTl LDA COUNT
0436 02337 070213 ■ SAP fc+4
0437 02340 020013 LDA ADRT
0438 02341 024004 LDB ADRX
04 39 02342 170402 RET
0440 02343 020004 XAT LDA ADRX
0441 02344 024013 LDB ADRT
0442 02345 170402 CK RET
LOAD THE EXPONENT WORD REPLACE THE NO. WITH ZERO IF ITS EXPONENT
IS LESS THAN ..8 SQUARE THE NUMBER
NEGATE THE NUMBER IF THE LSB OF THE CODE
WORD IS 1 ADD THE NUMBER TO ONE
TAKE THE SQUARE ROOT OF THIS QUANTITY
LOAD THE CODE WORD SKIP IF THE MSB OF THE CODE WORD IS ZERO LET A=ADDRESS OF T LET B=ADDRESS OF X RETURN
LET A=ADDRESS X LET B=ADDRESS T RETURN
S(jj.to 0017 7*01
MATH BLOCK FOR THE 9810, CALLED 'C0RD31 (MATHEMATISCHE FUNKTION "CORD 3")
TPJG PREFIX TO THE INITIALIZE ROUTINE (EINLEITUNG FÜR EIN FÜHRUNGS PROGRAMM)
CLEAR THE
TEMP FLAG
AND THE GFG FLAG
LOAD THE ARGUMi·. -' AND SAVE ITS EXPONENT WORD CONVERT THE ARGUMENT TO THE PROPER UNITS AND RETURN
04 48* 02 346 074742 STN S3R 16
Γι 1 49 02 147 Ü35664 STB TEMP
04 50 02 350 J356 7 7 STB GFG
51 0 2 ■; r τ 052231 JSM INIT
ο·; Γ 2 02352 067355 JM? MODE
04 53
Cm
ι OO
0454%
045 'S '% i 02353
0456* 3 ϋ· 02354
045 9 02355
045 O
045 1
046 2%
046 3*
046 4.*
046 5.'?
0<:0 f > ·»
04£
■-■· ,· .-
FIND AND FETCH THE NEXT CORDIC CONSTANT (NÄCHSTE CORDISCHE KONSTANTE)
001665 UPTAB ADA TABLO CALCULATE THE NEXT CONSTANT ADDRESS O316S5 STA TABLO STORE IT AWAY 066364 JMP OTO+1 TRANSFER IT INTO ARl AND RETURN
NJ CO "^3
FiSTCH THE NEXT KEYCODE (NÄCHSTER TASTENCODE)
046 7 02356 060115 NXCDl JSM NXCD GET THE NEXT KEYCODE
0468 02357 070137 LDB A DUPLICATE IT
0469 02360 120103, ' LDA EXCF,I . RETURN IF.NOT IN THE 04^0 02361 073210 ' RZA CK KEYLOG MODE
0471 02362 164113 JMP KYLOG,I PRINT THE CODE AND RETURN
NJ O CO
OX j!
ro ro cc
- ΪΤ6 -
Seite 0018 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3"
0473*
0475* 0476* 0477* 0478 0479 0480 0481* 0482 0483 0484'* O485¥ 0486 0487 0488 0489k 0490 0491 0492 0493* 0494 0495 0496
FLOATING POINT NUMBER TRANSFER AREA (GLEITKOMMA-TRANSFER)
02363 020056 OTO
02364 024015
02365 067613
LDA ONE LDB ARl JMP TTX+2
02366 022146 P2T0 LDA PI/2
02367 066364 JMP OTO+1
02370 020016 TTRl LDA ÄR2
02371 025676 LDB RYl 0237 2 06 7613 JMP TTX+2
023 73 020004 XTP
02374 026211
02375 067613
02376 021676 RlTT
02377 024016 02400 067613
LDA ADRX LDB ADRP JMP TTX+2 LDA RYl
LDB AR2
JMP TTX+2
TRANSFER ONE INTO ARl AND RETURN
TRANSFER PI/2
INTO ARl AND RETURN
TRANSFER AR2 INTO RYl AND RETURN
TRANSFER X
INTO P
AND RETURN-TRANSFER RYl
INTO AR2
AND RETURN
0497*
0498 02401 020005 YTP
0499 02402 066374 0500*
0501 02403 O2OO5G OTT
0502 02404 OGG377 05 O 3-.K
0504 02405 0222Jl PTX
0505 02406 067612
LDA ADRY TRANSFER Y
JMP XTP+1 INTO P AND RETURN
IiDA ONE TRANSFER ONE
JMP RlTT+1 INTO AR2 AND RETURN
LDA ADRP TRANSFER P INTO JMP TTX+1 X AND RETURN
209852/1005
0506*
0507 02407 020016 TTO LDA AR2 TRANSFER AR2
0508 02410 066364 JMP 0T0+1 INTO ARl
2098 52/100 5
Seite 0037 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD3' (MATHEMATISCHE FUNKTION "CORD ,3")
1230'*
123 2*
CONTROL OF THE ARCTANGENT ROUTINE (STEUERUNG DES ARC-üSTANGENS-PROGRAMMS)
1234* 03353 03355 062633 ANT JSM ATNS
1235 03356
1236* 03354 03357 020031 EATN LDA Nl
1237 03360
1238* 03 361
1239Ä3 03362
1240/R 1241*** 03363 CONVERT X TO A D] :ffere
124 2Xe 03364
1243 03 36 5 031665 MODE STA TABLO
1244 03366 025776 LDB UNITS
1245 074502 SBR 11
1246 074151 SLB *+3
1247 070752 SAM RTOG
1248 067402 JMP GTOR
1249 074204 SBL 12
1250 075312 SBM RET2
1251 024063 LDB Pl
1252 063677 JSM DEG
SET THE ATN FLAG FOR THE MODE CONVERSION
STORE THE FUNCTION FLAG
LOAD THE STATUS WORD
SKIP IF THE GRADS BIT
IS NOT SET
CONVERT X TO GRADS IF THE ATN CALKED THE ROUTINE OTHERWISE CONVERT X TO RADIANS FROM GRADS IF THE RADIANS BIT IS SET
EXECUTE A RETURN
OTHERWISE SET THE DEGREE BIT AND
TURN ON THAT LIGHT
ro ro oc
ο ο cn
1253
1254
1255*
1256
1257
1258
1259
1260
1261«
1262
1263
126 4*
1265
1266
126 7Ä
1268
1269
1270
03367 045665
03370 067376
03371 022147 RTOD
03372 062374
03373 045675
03374 022211 PXX
03375 067473
03376 022147 DTOR
03377 067403
03400 022152 RTOG
03401 067372
03402 022152 GTOR
03403 024004
03404 067450
ISZ TABLO JMP DTOR
CONVERT X TO DEGREES IF ATN CALLED THE ROUTINE OTHERWISE CONVERT X TO RADIANS FROM DEGREES
LDA DPERR TRANSFER THE CONVERSION (DEGREES) JSM XTP+1 CONSTANT INTO A TEMPORARY P ISZ ADRPE+3 INCREMENT THE LAST DIGIT OF IT LDA ADRP MULTIPLY THE X REGISTER JMP XAM BY IT AND RETURN '
LDA DPERR JMP GTOR+1
LDA GPERR JMP RTOD+1
LDA GPERR LDB ADRX JMP FDV
CONVERT THE CONTENTS OF
X TO RADIANS FROM DEGREES
CONVERT THE CONTENTS OF X TO GRADS
CONVERT THE CONTENTS OF X TO RADIANS FROM GRADS
Seite 0039 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD3'
(MATHEMATISCHE FUNKTION "CORD 3"
3,303,*
1305* 1306*** 1307*
1308 03422 022177 SCALE LDA XMIN
1309 03423 024004 LDB ADRX
1310 03424 063431 JSM SCLl
SCALE THE X AND Y REGISTERS (MASSTABSANPASSUNG)
LOAD THE ADDRESS OF XMIN LOAD THE ADDRESS OF X
REPLACE X WITH 9999 (X-XMIN)/(XMAX-XMIN)
LOAD THE ADDRESS OF YMIN LOAD THE ADDRESS OF Y
REPLACE Y WITH 9999 (Y-YMIN)/(YMAX-YMIN)
JUMP TO THE FORMAT ROUTINE
STORE THE ADDRESS OF THE MINIMUM VARIABLE
AND THE INDEPENDENT VARIAB:
SUBTRACT THE MIN FROM THE VARIABLE
CALCULATE THE ADDRESS OF THE MAX VAIjUE
AND TRANSFER THE MAX VALUE . INTO A"TEMPORARY STORAGE REGISTER P
SUBTRACT THE MIN FACTOR FROM THE MAX FACTOR IN P
DIVIDE THIS QUANTITY BY THE MAXIMUM VALUE PLOT VARIABLE
1312 03425 022200 LDA YMIN
1313 03426 ■024005 LDB ADRY
1314 03427 063431 JSM SCLl
1315 03430 164242 JMP FMT, I
1316*
1317*
1318 03431 031664 SCLl STA TEMP
1319 03432 035667 STB SHIFT
13 20*
1321 03433 162016 JSM FSB, I
1322*
1323 03434 021664 LDA TEMP
1324 03435 000054 ADA N4
1325 03436 026211 LDB ADRP
1326 03437 170004 XFR
1327*
1328 03440 .021664 LDA TEMP
1329 03441 026211 LDB ADRP
1330 03442 16 2016 JSM FSB, I
1331*
1332 03443 022156 LDA FNS
1333 03444 026 211 LDB ADRP
1334 03445 162013 JSM FD, I
209852/1005
1336 03446 022211 LDA ADRP LOAD THE ADDRESS OF THE
RESULT
1337 03447 025667 LDB SHIFT LOAD THE ADDRESS OF SHIFTED
VARIABLE
1338 03450 031724 FDV STA ADRl STORE THE ADDRESS OF THE
DIVIDEND
1339 03451 166013 JMP FD,I DIVIDE (A) BY (B)
Seite 0040 ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD3'
(MATHEMATISCHE FUNKTION "CORD 3"
1344**# CONVERT DEGREES, MINUTES, AND SECONDS TO DECIMAL DEGREES
(UMWANDLUNG GRAD, MINUTEN, SEKUNDEN IN DEZIMALGRAD)
1346 03452 022153 DMSTD LDA CONV DIVIDE THE SECONDS QUANTITY
1347 03453 063403 JSM GTOR+1 BY 60 AND REPLACE IT 1348#
1349 03454 063711 JSM XAA-I ADD Y TO X 1350*
1351 03455 022153 LDA CONV DIVIDE THIS SUM IN REGISTER
1352 03456 063403 JSM GTOR+1 Y BY SIXTY AND PUT IT IN >. 1353*
1354 03457 020006 LDA ADRZ ADD THE DEGREES QUANTITY TO
1355 03460 063712 JSM XAA THIS QUANTITY IN X 1356*
1357 03461 020006 LDA ADRZ CLEAR OUT REGISTER
1358 0346 2 170000 CLR Z AND Y AND RETURN
1359 03463 020005 LDA ADRY LOAD THE ADDRESS OF Y
1360 0346 4 O6COO5 JMP RESET+1 RETURN 1361* 136 2"^*Hi*is**>fyt^******^K»fe>K>feHc***«?K^ieiKjK**:* 1363'*
1364*.** CONVERT DECIMA.L DEGREES TO DEGREES, MINUTES, AND SECONDS
(UMWANDLUNG DEZIMALGRAD IN GRAD, MINUTEN, SEKUNDEN)
1366 0346 5 OÖ3466 DTDMS JSM DSUB EXECUTE THE SUBROUTINE
TWICE AND RETURN
209852/1Ö0S
1368 03466 160227 DSUB JSM UP,I DO AN UP
1369 03467 160264 JSM INTX,I TAKE THE INTEGER VALUE OF X
1370 03470 160234 JSM YMX,I SUBTRACT X FROM Y
1371 03471 160230 JSM XEY,I EXCHANGE X AND Y
1372 03472 022153 · LDA CONV MULTIPLY X BY
1373 03473 024004 XAM LDB ADRX FLOATING 60
1374 03474 166014 JMP FMP,I AND RETURN
2098 5 2/1005
Seite 0044 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
1493*
ο ο cn
1495* 03601 ROUND Y TO THE EXPONENT CLX, I IN X (RUNDEN)
1496*** 03602 164237 CLXl JMP INTX,I STORE ZERO IN X AND RETURN
1497*
1498 03503 160264 RNDY JSM ADRY CALCULATE X=INTX
1499% 03604 R1TT+1
1500 020005 LDA TRANSFER Y INTO A
1501* 03605 052377 JSM ADRXE WORKING TEMPORARY
1502 03606 EN 2
1503 03607 021750 LDA >e+6 CHECK TO SEE IF X IS
1504* 03610 000032 ADA CLXl <100
1505 070312 SAM SKIP IF IT IS
1506 03611 071451 SLA AR2 STORE ZERO IF X IS POSITIVE
1507 03612 ADRX
1508 03613 O2OÖ16 TTX LDA OTHERWISE SET THE X
1509* 03614 024004 LDB REGISTER EQUAL TO THE
1510 170004 XFR Y REGISTER
1511 170402 RET AND RETURN
1512
1513
1514*
1515*
CD
CD
OO
Ol
1516
1517
1518
1519
15 20
1521*
1522
1523
1524
1525
1526
1627
1528
1529*
1530
1531
1532
1533
1534
1535*
1536
1537
1538
1539
1540
1541
03615 03616 03617 03620 03621
03622 03623 03624 03625 03626 03627 03630
03631 03632 03633 03634 03635
03636 03637 03640 03641 03642
03643
021750 025751 074542 070342 070431
074744 074017 074704 074017 025751 074604 074542
074017 MET 025750 074111 ■· 067636 070076
025754 074340 070047 074076 006164 074452 LDA ADHXE LOAD THE EXPONENT WOKD OF X LDB ADRXE+1 LOAD THE FIRST 4 DIGITS OF X SBR 12 ISOLATE THE FIRST DIGIT OF X SAR 8 ALLIGN THE EXPONENT OF X SLA MET,C SKIP IF THE EXPONENT OF X IS
SBL 1 ADA B SBL 2 ADA B
OTHERWISE ADD THE
FIRST DIGIT OF X INTO B TEN TIMES
TO CONVERT IT TO BINARY
LDB ADRXE+1 THE ISOLATE THE SBL 4 SECOND DIGIT SBR 12 OF X
ADA B LDB ADRXE SLB *+2 JMP #.+2 TCA
LDB AR2E
ADB Pll SBM RND2
ADD THIS UNITS DIGIT TO THE SUM (POSSIBLY O) LOAD THE EXPONENT WORD
OF X AND SKIP IF
THE MANTISSA SIGN BIT IS COMPLEMENT THE SUM IF IT IS
LOAD THE EXPONENT WORD OF Y
ALLIGN IT
ADD IT TO THE SUM
AND SUBTRACT THIS
QUANTITY S1RQM SKIP IF THE RESULT IS NEGATIVE
1542* 03644 074117
15 43, 03645 002172
1544 03646 070112
1545 03647 164237
1546 03650 035667
1547 03651 152011
1548
LDA B ADA N13 SAM *+2 JMP CLX,I
DUPLICATE THIS QUANTITY
AND CHECK TO SEE THAT
IT IS LESS THAN 12
STORE ZERO IN X IF IT IS NOT AND RETURN
STB SHIFT SAVE THIS SHIFT COUNT JSM ROUND,! SHIFT AND ROUND Y
O CD OO
3*0
Seite 0045 ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
1549*
1550 03652 171450
1551 03653 015667
NRM
1552 03654 066703 RND2 JMP SOUT
1553 03655 024105 LDB P256
1554 03656 062252 JSM NORM+4
1555 03657 066703 JMP SOUT
RENORMALIZE IT
CPB SHIFT STORE THIS RESULT IF THE NORMALIZE
COVNT = THE SHIFT COUNT OTHERWISE INCREMENT THE
EXPONENT OF THE ANSWER BY AND RETURN THE ANSWER IN X
Seite 0046 ^Ol MATH BLOCK FOR THE 9810, CALLED 'C0RD31
(MATHEMATISCHE FUNKTION "CORD 3")
1557*
1559*
1560***
1561*
1562 03660 062356 F 1563*
1564 03661 016167
1565 03662 067422 1566*
1567 03663 014100
1568 03664 067733 1569*
1570 03665 074117
1571 03666 016166
1572 03667 067674 1573*
1574 03670 000024
1575 03671 070713
1576*
1577 03672 002152
1578 03673 066002 1579*
1580*-*** **jfefe*.*ife"*:
1581*
PROCESS THE TABLE FUNCTION (TABULIEREN)
JSM NXCDl FETCH THE NEXT KEYCODE
CPB P34 JUMP TO THE SCALE ROUTINE
JMP SCALE IF IT IS FORMAT ;
CPB RETC JUMP TO THE DULUP ROUTINE
JMP DULUP IF IT IS RETURN
LDA B DUPLICATE THE CODE
CPB CLXC JUMP TO THE CLEAR-ALL ROUTIN.1
JMP CLRR IF IT IS CLX
ADA NlO SUBTRACT 10 FROM THE CODE
SAP RET3 RETURN IF THE RESULT IS POSITIVE
ADA FTABL OTHERViISE CALCULATE THE PJlO?
JMP JTA FUNCTION AND JUMP TO IT
209852/1005
— 907 —
CLEAR ALL OF USER AREA (LÖSCHEN ANWENDER-GEBIET)
15835If
1584 03674 O2371O CLRR LDA ADRL
1585 03675 026143
1586 03676 O67772 1587*
LDB N108 LOAD THE ADDRESS OF THE END OF USER MEMORY
LOAD THE NEGATIVE QF THE NO OF REGISTERS+
JMP CLER+2 JUMP TO CLEAR ALL DIGITAL REGISTERS
1589*
1590*** 1591»
1592 03677
1593 03700 1594*
1595 03701
1596 03702
1597 03703
1598 O37O4 1599*
1600 03705
1601 03706
1602 03707 1603*
1604*
1605 03710
1606 03677
1607 03677
TURN ON THE PROPER OPTION LIGHT (WAHL-LAMPEN) .
021776 DEG LDA UNITS LOAD THE STATUS WORD O522O3 AND UNITM CLEAR THE OPTION FLAGS
014034 026201 O741O6 074017
172160
CPB P LDB RADF RBR ADA B
OTA
031776 STA UNITS 170402 RET3 RET
001000 ADRL ' OCT 1000 RAD EQU DEG GRA EQU DEG SET THE DEGREE, RADIAN OR GRAD FLAG DEPENDING ON THE COUNT Cl,2 OR 3) IN THE B REGISTER
TURN ON / OFF THE PROPER LIGHTS
STORE THE NEW STATUS WORD AND RETURN
LAST WORD OF USER REGISTERS THE RADIAN, GRAD, AND DEGREE ROUTINES ARE ONE
209852/1005
Seite 0047 ^01 MATH BLOCK FOR THE 9810, CALLED 'C0RD3'
(MATHEMATISCHE FUNKTION 41CORD .3"I
CD
CO
OO
1609*
16
1613*
1614 03711
1615*
1616 03712
1617 03713 1618*
16 19;'ft^>fe?6;>6-iS:ii 16 20*
16 21*** 16 22*
1623 03714
1624 03715
1625 03716
1626 03717
1627 03720
1628 03721 16 29*
1630 03722'
1631 13723
ADD Υ TO X
020005
LDA ADRY LOAD THE ADDRESS OF Y
024004 XAA ADRX LOAD THE ADDRESS OF X
166015 JMP FAD,I JUMP TO THE FLOATING ADD ROUTINE
EXECUTE THE USER DEFINED FUNCTION (AUSFÜHREN DER BELEGBAREN FUNKTIONEN)
122217 USER LDA GSBA,I SET UP THE GOTO SUB
031721 STA SUBF LINKAGE
022222 LDA USERC LOAD THE USER KEY CODE
124103 LDB EXCF,I LOAD THE EXECUTE FLAG AND
074110 SZB Ηί+2 ■ SKIP IF IT IS ZERO
166212 JMP SRCH,I IF IN PROGRAM CONTROL JUMP TO THE ROUTINE
162212 021776
JSM SRCH,I OTHERWISE FIND THE ADDRESS OF THE ROUTINE AND RETURN
LDA UNITS LOAD THE STATUS WORD
1632 03724 050066
1633 03725 073110 16 34 03726 021710
1635 . 03727 C00031
1636 03730 026161 1537 03731 070577 1638 03732 064132
ro ο co oo
AND ERR IF THE ERROR BIT IS SET
RZA RET3 : DO A RETURN
LDA USP OTHERWISE DECREMENT THE
ADA Nl STACK POINTER IN A'AND LDB ENDA STORE AN· END STATEMENT IN THE STB A,I NEXT LOCATION TO BE EXECUTED
JMP EXEC JUMP TO THE EXECUTER
Seite 0003 ^01 MAGNETIC CARD BLOCK. (MAGNETKARTEN)
0001 00302 016012 ASMB,A,L,T,B ORG 3O2B LDA ZPC
0003 00302 016040 DEF WRITM STA PC
0004 OO3O3 DEF READM JSM READM
0005 00114 O1676O ORG 114B LDA ZPC
0006 OO114 . DEF ALLCR STA PC
0007 00172 016134 ORG 172B JMP 134B
0008 00172 016004 DEF RDATA
0009 00173 016014 DEF FMTGT LDA SECUR,I
0010 00174 016072 DEF FMTRC SZA WRITl
0011 00175 DEF LDATA LDA SECUR,I
0012 16OOO 000037 ORG 16000H SZA -Tc+2
0013 16000 000035 OCT 37 RKT
0014 16001 OOOO46 OFF OCT 35 LDA UND
0015 16002 064161 OCT 46 STA SKCURfI
0016 16003 MAG END JMP 161B JSM WIUTl
0017 CARD ROUTINES. (MÄ SAR 16
0018* 021707 JMP QlJlTM
0019* 16OO4 031701 FMTGT
0020 16005 06 2040
0021 16006 021707
0022 16007 O317O1
0023 16010 064134
0024 16011
0025 120111
0026* 16012 070450 WRITM
0027 16O13 120111
0028 16O14 O7O11O FMTRC
0029 16015 17O4O2
0030 16016 022002
003.1 16017 130111
0032 16020 06 2024
0033 16O21 O7O742
0034 16022 066070
0035 16023
0036
CLEAR MEMORY ROUTINE.
THIS IS THE CLX, DIV, END TO CATCH PC.
FORMAT GOTO ROUTINE.
SET'USER PROGRAM CON, TO O.
LOAD CARD.
SET PC TO ZERO FOR EXECUTION. JUMP TO THE CONTINUE ENTRY
GET AND CHECK SECURITY WOR. IF ZERO, OK TO RECORD. FORMAT RECORD ROUTINE.
DO NOT RESPOND IF SEC. WD.
SET SECURITY E TO NON ZEF.C AND NOT I1S.
SET SW TO NON ZERO. DO NORMAL RiJCORD, CLEAR SECURITY KORDr AND RETURN.
209852/1005
0038 16024 O72O52 WRITl SAM *+l, S
0039 16025 O31775 STA INBUF
0040 16026 066164 JMP .REC.
0041 16027 O24O31 PRTED LDB SETUP
0042 16O3O O62325 JSM 0UT2
0043 16031 070137 LDB A
0044 16032 O2OO66 LDA ELON
0045 16033 041776 IOR STATS
0046 16034 17.2160 OTA 16
0047 16035 074117 LDA B
0048 16036 062354 JSM .END.
0049 16037 066203 JMP RECRD+2
NEGATIVE FOR STOP PkOCESSING1
SET HEADS TO SAFE CONDITION.
SAVE A TO USE A FOR IOR OPERATION.
TURN ON ERROR LIGHT.
OUTPUT TO LIGHT LATCHES.
RESTORE A'f WHICH IS CODE TO RECORD.
EXPELL CARD,. AND WAIT FOR ANOTHER.
0051* LOAD ROUTINE. (LADEPEOGRAMM)
0052 16Ο4Ο 021776 READM LDA 1776B GET STATUS WORD.
005 3 16041 Ο7Ο5Ο4 SAL 6 RETURN WITHOUT LOADING IF
0054 16042 070112 SAM XH-2 IN PROGRAM MODE, ELSE CAR LOOK AT
209852/ 1005
O CO CO
Seite 0004 j «01 MAGNETIC CARD BLOCK.
0055 16043 170402 RET
0056 16044 021701 LDA PC
005 7 15045 031734 STA PCSAV
0058 16046 072052 SAM *+l,S
0059 16047 031775 STA INBUF
0060 15050 070742 SAR 16
0061 16051 031737 STA SAFE
006 2 16052 062222 FCHM JSM .LOD.
006 3 16053 021737 NTERM LDA SAFE
006 4 16054 070110 SZA .*+2
0065 16055 066067 JMP QuIT
0066 16056 120111 LDA SECUR,I
OC67 16057 070410 SZA QUIT
006 8 16060 021707 LDA ZPC
006 9 16061 025734 LDB PCSAV
0070 1606 2 062764 JSM CLRM
0071 16063 021701 LDA PC
0072 16064 070070 STA »+1
0073 16065 026367 LDB MAXAD
0074 16066 062764 JSM CLRM
0075 16057 021737 QUIT LDA SAFE
0076 16070 130111 STA SECUR,I
0077 16071 170402 RET
SECURE PROGRAM.
PREPARE TO LSAVE USER PC.
USE IN LATER CLEAR MEMORY.
NEGATIVE FOR-STOP PROCESSING.
CLEAR OUT TEMP SW LOCATION
FOR SUBSEQUENT ORING OPERATIONS. LOAD THE CARD.
RET SW FROM CARD.
CARD JUST READ.
WAS NONZERO, NOT MUCH TROUBLE.
GET CURRENT SECURITY WORD.
ALL ZERO, QUIT.
GET RELATIVE ORIGIN OF USER AREA. GET START OF LOADED PROGRAM.
CLEAR MEMORY FROM A TO B-I.
GET CURRENT END OF USER PROGRAM.
INCREMENT TO AVOID CLEARING LAST LOCATION.
B IS MAXIMUM USER PROGRAM ADDRESS.
CLEAR FROM END OF USER PROG TO UPPER LIMIT.
SET UP THE NEW SECURITY WORD.
END ROUTINE.
O CD CO
CD O CJl
0079* 16072 022370 CARD READER UTI:
0080* 16073 031731
0081* 16074 020031
0032 16075 031733 LDATA LDA MAXWD
008 3 16076 031730 STA PTR
008 4 16077 070742 LDA Ml
CO 8 5 15100 131731 STA CRDFG
0086 16101 020077 STA DATA
0087 16102 031775 INITM SAR 16
0088 16103 031732 STA PTR,I
0089 16104 062124 LDA M3
0090 16105 125731 STA INBUF
0091 15106. 074246 STA CNT
009 2 16107 074217 MORGT JSM LDDTA
009 3 16110 131731 LDB PTR,I
0094 16111 045732 RBR 6
0095 16112 066104 IOR B
0096 16113 125731 STA PTR,T
009 7 16114 074646 TSZ CNT
0098 16115 135731 JMP MORGT
0099 16116 025731 LDB PTR,I
0100 16117 004375 RBR 14
0101 STB PTR,I
0102 LDB PTR
0103 ADB BASE
(KARTENLE SEREINRICHTUNGEN)
SET UP UPPER BOUND ON'DATA(REGISTER O). SET CARD IN FLAG TO UNCHECKED.
TELLS ROUTINES THAT DATA IS BEING RECORDED. INITIALIZE CONTENTS OF PTR.
SET UP BYTE COUNTER AND STOP PROCESSING. STOP PROCESSING.
BYTE CONTFR.
GET 6 BITS OF DATA IN A REGISTER.
POSITION TO FORM WORD.
MERGE DATA AND PREVIOUS DATA.
END OF THIS WORD?.
NO, GET MORE DATA.
YES, POSITION WORD PROPERLY.
GET VALUE OF POINTER, FOR
CHECK IF ALL DATA REGISTERS HAVE BEEN RECORDED.
16120 074152
16121 055731 16122 066077 16123 066352 ENTR
SBM ENTR DSZ PTR JMP INITM JMP .ENDl YES, SKIP TO DRIVE CARD OUT.
IT IS NOT ", CONTINUE,
REPEAT FOR NEXT WORD.
Seite 00C5 ^Ol MAGNETIC CARD BLOCK. (MAGNETKARTEN)
ο ο cn
0109 16124
0110 16125
Olli 16126
0112 16127
0113 16130
0114 16131
0115 16132
0116 16133
045733 LDDTA ISZ CRDFG 066133 JMP ALLOK 024031 LD3 SETUP 05 22 40 LCALL JSM CRDIN 052330 JSM DATIN 041737 I0R SAFE 031737 STA SAFE 066330 ALLOK JMP DATIN HAS THE CARD BEEN CHECKED?
YES, GET DATA.
NO, CHECK IT.
TEST FOR CARD IN.
GET FIRST DATA.
OR WITH ACCUMULATED CARD SECURITY WORD.
SAVE ACCUMULATED SECURITY WORD. JUMP TO DATA AND EXECUTE RETURN.
Cm ψ -α ψ oo
C118 16134 020031 RDATA LDA Ml
0119 16135 031733 STA CRDFG
0120 16136 031730 STA DATA
0121 15137 031775 STA INBUF
0122 16140 022370 LDA MAXWD
0123 16141 031731 STA PTR
0124 16142 120111 LDA SECUP,I
0125 16143 362201 JSM RECRD
0126 .16144 020077 BYTE LDA M3
BEGIN RECORD DATA ROUTINE.
SET CARD FLAG TO UNCHECKED. CAUSES CRDIN LET ROUTINES KNOW DATA IS BEING RECORDED.
STOP PROCESSING.
REGISTER O OF DATA.
INDEXED VARIABLE.
GET AND RECORD SECURITY WORD TO KEEP FROM MESSING THINGS UP ON LOAD.
SJ O CD OO
0127 -15145. •031732 STA· CNT
0123 16146 121731 FDATA LDA PTR, I
0129 16147 070246 RAR 6
0130 IS 150 131731 STA PTR, I
0131 16151 062201 JSM RECRD
0132 1615 2 045732 ISZ CNT
0133 16153 065146 JMP FDATA
0134 1613 4 121731 LDA PTR, I
0135 1615 5 073646 RAR 14
0136 16155 131731 STA PTR, I
0137 1615 7 021731 LDA PTR
0133 16160 OCO375 ADA BASE
0139 16161 070652 SAM ENDlT
0140 16162 055731 DSZ PTR
0141 16163 066144 JMP BYTE
014 2-*-.
014.3 16164 020031 REC. LDA. Ml
0144 16165 031733 STA CRDFG
0145 16166 070056 CMA
0146 16167 031730 STA DATA
0147 16170 120111 DOIT LDA SECUR,I
0148 16171 062201 JSM RECRD
0149 16172 121701 CONT LDA PRGAD,I
0150 16173 062201 JSM RECRD
0151· 16174 121701 LDA PRGAD1 ,1
015 2 16175 012002 CPA END
SET CNTR FOR 3 6 BIT BYTES.
GET 1ST 16 BIT WORD.
GET AND POSITION PROPER 6 BITS.
STORE FOR NEXT BYTE OUT.
RECORD 6 BITS OF DATA.
IND BYTE COUNT.
PUT OUT NEXT BYTE.
POSITION DATA SORD AFTER MESSING IT UP.
CHECK IF ALL
AREA IN MACHINE IS RECORDED.
NO, GET MORE.
BIT WORD.
BASIC PROGRAM RECORD ROUTINE.
SET A TO ANYTHING BUT -1,
AND STORE TO SHOW THAT ARE "NOT" REC DATA. RECORD SECURITY WORD.
GET PROGRAM WORD.
IS PROGRAM DONE?
NJ NJ OO
O CD OD
0153 16176 066352 ENDIT JMP .ENDl
0154 16177 045701 MORE ISZ PRGAD
0155 16 200 066172 JMP CONT
0156 16201 045733 RECRD ISZ CRDFG
0157· 16202 066212 JMP OKGO
0158 16203 026363 LDB DATST
0159 16204 062240 RCALL JSM CRDIN
0160 16205 074046 RBR 2
0161 15206 074112 SBM 0OH
0162 16207 O66Ö27 JMP PRTED
DRIVE CARD OUT THEN EXECUTE RETURN. NO, CONTINUE.
TEST IF CARD IN HAS BEEN CHECKED.
YES, CONTINUE.
NO, SET UP PROPER HEAD CONDITIONS. TEST FOR CARDIN.
TEST FOR PROTECTED CARD.
CARD NOT PROTECTED, CONTINUE.
CARD PROTECTED, GET ANOTHER.
Seite 0006 -A)I MAGNETIC CARD BLOCK. (MAGNETKARTEN)
0163 16210 024060 0OH LDB 608
0164 16211 076030 RIB
0165 16212 062274 OKGO JSM WDOUT
0166 16213 062267 JSM GET
0167 16214 074146 RBR 4
0168 16215 074212 SBM DON
0169 16216 062354 JSM .END.
0170 16217 120111 LDA SECUR,I
0171 16220 066203 JMP RECRD+2
0172 16221 17Ö4O2 DON RET
GET A DELAY ON RECORD TO AVOID
MISSING FIRST STROBE ON LOAD.
OUTPUT 6 BITS.
GET SENSOR DATA ON END OF CARD.
NOT ENDED, NORMAL RETURN.
CARD ENDED, EXPELL CARD.
RECORD SECURITY WORD,
NORMAL RETURN POINT.
0173*
cn
t-o
0174*
0175
0176
0177
0178
0179
0180
0181
0182
0183
0184
0185
0186
0187
0188
0189*
0190*
0191
0192
0193
0194
0195
0196
0197
0198
O199
16222 16223 16224 16225 16226 16227 16230 16231 16232 16233 16234 16235 16236 16237
LOAD ROUTINE. (LADEPROGRAMM) 020031 .LOD. LDA Ml 031733 STA CRDFG
070056 CMA 031730 STA DATA 062124 WDGET JSM LDDTA 131701 GO.ON STA PRGAD,!
012002
066352
022367 OK
070056
001701
045701
071412
066352
CPA END JMP .ENDl LDA MAXAD CMA
ADA PRGAD ISZ PRGAD SAM WDGET JMP .ENDl
16240 062325 CRDIN JSM 0UT2
16241 062267 LOOK JSM GET
16242 074306 RBR 7 ·
16243 074213 SBP STOPK
16244 074606 RBR 16 245 075511 SLB LOOK 16246 170402 RET
16 247 070137 STOPK LDB A
16250 021776 LDA STATS SHOW DATA NOT BEING LOADED.
INPUT 6 BITS.
STORE PROGRAM WORD.
IS PROGRAM DONE?
EXPELL CARD AND EXECUTE RETURN.
NO, CONTINUE.
-15777
IF POSITIVE, HAS OVERFLOWED.
LOAD SENSOR DATA.
CHECK TOP SENSOR OF CARD.
SKIPS IF UNBLOCKED.
CONTINUE THE TEST FOR CARD IN.
NOT IN IF SKIP, TY AGAIN.
SAVE A SO CAN TURN ON LOAD LIGHT.
0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213
16251 16252 16253 16254 16255 16256 16257 16260 16 15262 16263 16264 16265 16266
240105 172150 074117
IÖR LLON OTA
LDA B
025775 JMPlO LDB INBUF
075212
06 235 2 STOP
021730
070212
055777
121777
012373
064161
06 2053
064166
SBO LOOK JSM .ENDl LDA DATA SAM ifc+4 DSZ STKPT LDA STKPT,I CPA RCl JMP 16 IB JSM NTERN · JMP 16IB TURN ON LOAD LIGHT.
RESTORE A.
NO, TEST FOR STOP.
TURN OFF CARD READER.
WAS THIS CALLED FROM RECORD MODE?
0215 16267 026364 GET LDB MASK
0216 16270 176141 OTB Ol
SET MSB OF IO REG
TO 1.
Seite 0007 ^Ol MAGNETIC CARD BLOCK. (MAGNETKARTEN)
0217 0218 0219 0220 022.1 0222
16271 172741
16272 176241
16273 170402
STF Ol LIB Ol
RET
16 274 025365 WDOUT LDB MP 16275 035736 STB BTCNT 16 27b 026 36 6 -LDB FMTOT A REG HAS WD TO B RECORDED.
SET UP BYTE COUNTER.
STROBE FORMAT.
ro ο co oo
ο ο «η
0223 16277 070056 BTOUT CMA HOLD
0224 16300 031735 STA DP 7
0225 15301 050770 AND MASK
0226 16302 042364 I OR 01
0227 16303 172141 OTA 02
O22S 16304 172602 SIC DELAY
0229 16305 022372 LDA
0230 16306 072030 RIA 01
0231 16307 176141 OTB 02
0232 16310 172742 STF 1
0233 16311 074006 RBR DELAY
0234 16312 022372 LDA
0235 16313 072030 RIA BTCNT
0236 16314 045736 ISZ JMP14
0237 16315 066317 JMP
0238 16316 170402 JMP14 RET HOLD
0239 16317 021735 LDA 3
0240 16320 070106 RAR BTOUT
0241 16321 066300 OUTl JMP 01
0242 16 322 176141 OTB 02
0243 16323 172602 STC
0244 16324 170402 OUT 2 RET OUTl
0245 16 325 062322 JSM 02
0246 16325 172742 STF
0247 16237 170402 RET
COMP. FOR PROPER POLARITY REC/LOAD.
MASK IN CONTROL BITS.
A REGISTER OUTPUT.
THIS DELAY GIVES PACKING DENSITY.
OUTPUT STROBE.
GET NEXT STROBE.
PACKING DENSITY DELAY.
DELAY UNTIL 3 MSB ARE READY TO OUTPUT.
TEST FOR END OF WORD.
WORD IS FINISHED.
GET WORD.
RET OT OUTPUT 3 MS8.
OUTPUTS BITS O 1 2 4 5 OF A REG
TO CARD READER.
.OUTPUTS 6 LSB OF A TO CR.
NJ NJ CXD -»J -O-NJ
0249 16330 070742 DATIn SAR 16 16
0250 16331 173742 WDBLD CLF 02 GET
0251 16332 172502 FLAG SFS 02 12
0252 16333 066345 JMP EOCL
0253 16334 062267 JSM GET
0254 16335 072212 SAM JMP4,S
0255 16336 074217 IOR B
0256 16337 052371 AND KLUDG
0257 16340 066331 J.MP WDBLD
0258 16341 074644 JMP 4 SBL 3
0259 16342 074217 IOR B
0260 16343 050100 AND OCT77
0261 16344 170402 RET
026 2 16345 062267 EOCL JSM GET
0253 16346 074306 RBR 7
0264 16347 075152 SBM FLAG
0265 16350 062354 JSM .END.
0266 16351 066126 JMP LCALL-I
0257 16352 025776 .ENDl LDB STATS
0268 16353 176160 OTB
0269 16354 052267 .END. JSM
0270 16355 074204 SBL
TEST FOR CR STROBE FLAG.
NO FLAG. TEST FOR END OF CARD.
YES LOAD DATA.
SKIP IF THIS IS MS THREE BITS.
PUT IN THE CURRENT LS BITS.
GET THE EXTRA BITS FROM GET OUT, BUT KEEP MSB,
GET THE MS THREE BITS.
POSITION THE MS 3 BITS.
MERGE WITH OTHER 3 BITS.
GETS RTD OF REST OF BITS FROM GET.
RETURN
LOAD SENSOR DATA AND ROTATE END.
O CARD SENSTOR TO MSB.
CARD ENDED, DRIVE CARD OUT,
GET CARD, SECURITY WD, ETC.
TURN OFF LOAD LIGHT.
Seite 0008 ^01 MAGNETIC CARD BLOCK. (MAGNETKARTEN)
0271 16356 075712
0272 16357 026217
0273 16360 076030
0274 16 361 026000
0275 16362 066325
0276,*
0277 16363 000057 DATST
0278 00063 DPI
0279 00031 SETUP
0280 01737 SAFE
0281 01701 PRGAD
0282 01775 INBUF
0283 16364 177740 MASK
0284 16365 177776 M2
0285 01736 BTCNT
0286 16366 052525 FMTOT
0287 . 01735 HOLD
0288 00111 SECUR
0289 01734 PCSAV
0290 00770 DP7
0291 00105· LLON 029 2 00065 ELON
0293 01776 STATS
0294 017Ol PC
SBM .END. LDB 0KG0+5 RIB H-LDB OFF JMP OUT2
MAKE SURE CARD PASSED DRIVE ROLLES.
DELAY TILL CARD HAS PASSED ROLLERS,
TURN OUT CARD READER.
OCT 57
EQU 63B DEC 1.
EQU 3IB Ml.
EQU 1737B
EQU 1701B
EQU 1775B
OCT 177740
DFC -2
EQU 1736B
OCT 52525
EQU 1735B
EQU 11IB
EQU 1734B
EQU 77OB
EQU 105B
EQU 66B
EQU 1776B
EQU PRGAD
SECURITY WORD,
ro oo »j
OCT 10000.
0295 01707
0296 01777
ZPC EQU 17O7B STKPT EQU 1777B, FLOATING USER ORIGIN.
0298 + 0299*
UPPER USER AREA.
THINGS INSERTED DURING DEVELOPMENT***** 00031 Ml EQU 3IB 01733 ORDFG EQU 1733B 16367 015777 MAXAD OCT 15777 01732 CNT EQU 1732B 01731 PTR EQU 1731B 003 75 BASE EQU 3 75B 16 3 70 0016 63 MAXWD OCT 16 0007 7 M3 EQU 77B 00100 OCT77 EQU 10OB 16 371 100007 KLUDG OCT 100007
16372 177754 DELAY OCT 177754
16373 016204 RCl DEF RCALL
(NACHTRAG)
UPPER ROUND TO DATA AREA.
USED TO GET MSB AND THREE LSB.
USED TO DETERMINE CALLER ON STOP KEY.
0313 0314 0315 0316 0317 0318 0319 O32C 0321
16 760 ORG 1676OB
16760 070742 ALLCR SAR
16761 130111
16762 021707
16763 026367
16764 035730 CLRM
16765 074742
16766 011730 CKIT 16757 170402
STA SECUR,I LDA ZPC LDB MAXAD STB TEMP SBR CPA TEMP RST CLEAR SECURITY WORD.
SET TO CLEAR ALL USER MEMORY.
CLEARS FROM A TO B-I. BOMBS IF B A.
WANT TO DEPOSIT B INTO A, INDIRECT.
DONE YET?
YES, RETURN.
•P-K)
Seite 0009 #)1 MAGNETIC CARD BLOCK. (MAGNETKARTEN)
0322 16770 070577 ' STB A,I NO, CLEAR LOCATION A.
0323 16771 073670 RIA CKIT A ALWAYS NON ZERO.
INCREMENT A.
0324 01730 TEMP* EQU 173OB TEMP R/W.
0325 01730 DATA EQU TEMP
0328 END
* NO ERRORS* ·
209852/ 1005
Der Mikrorechner
Alle oben aufgeführten Programme und Unterprogramme von Basisinstruktionen werden durch das in Fig. 3 gezeigte Basisverarbeitungssystem durchgeführt. Die zentrale Steuerung dieses Systems erfolgt durch den Mikrorechner 120. Wie in der Blockdarstellung der Fig. 136 und dem detaillierten Schema der Fig. 137 gezeigt, umfaßt der Mikrorechner einen "bipolaren nur lesbaren Speicher (ROM) 200 mit sieben ROM-Plättchen, die in 256 Worten von 28 Bit organisiert sind. Acht J-K Flip-Flops·enthalten die ROM-Adresse; (z.B. eine 4-Bit Primäradresse und eine 4-Bit Sekundäradresse ). Ein 16-Bit Einzelplättchen-Datenselektor ermöglicht es, jede von sechzehn verschiedenen' Qualifizierleitungen mit einem 4-Bit Qualifizierkode zu testen. Dieses 4-Bit Qualifizierkode-ROM-Plättchen erfüllt eine Doppelfunktion, indem es sowohl einen Komplementierkode an die 4 Primäradressen-Flip-Flops liefert, als auch den geeigneten zu testenden Qualifizierer auswählt. Wenn ein Abzweigen in einen ROM-Zustand gewünscht ist, muß auch die Mikroinstruktion BRG gegeben werden. Wenn die BRC-Instruktion mit einem QW-(Qualifizierer nicht zutreffend) Signal von dem Datenselektor erscheint, wird das mindestbedeutende Bit des Adressenkodes von dem Sekundäradressen-Flip-Flop zurückgehalten, wodurch die Adresse veranlasst wird, entsprechend dem Zustand des Qualifizierers "abzuzweigen" .
2 0 9 8 5 2/1005
Ein zusätzliches Merkmal dieser ROM-Organisation ist die Mikroinstruktion IQJT (Verbot, wenn Qualifizierer nicht zutreffend) · Wenn die IQJT-Instruktion gegeben wird und der durch, den Qualifizierkode ausgewählte Qualifizierer nicht zutreffend ist, geht das CCO-(Taktkode null) Signal nieder. Hierdurch werden alle Schiebe-Taktimpulse des Taktdekoders gehemmt, wodurch die Durchführung von Makroinstruktionen in diesem ROM-Zustand unterbunden wird.
Zur Minimierung der ROM-Wortlänge werden zwei 3-bis 8-zeilige Dekoder benutzt, um die 3 R-Kode Ausgangssignale und die 3 X-Kode Ausgangssignale auf insgesamt 14- MikroInstruktionen, zu expandieren. In dem Speicher werden auch die SCO- und die SCI-Ausgangssignale des ROM # 5 Speichers dekodiert. Die Ausgangssignale ACO, AC1 und AC2 des ALU-Kodes werden als Adresseneingaben des nur lesbaren Speichers der Mathematik-Logik-Einheit ( ALU ROM ) behandelt und erfordern somit keine Dekodierung.
Der Mikrorechner spricht auf folgendes an:
1. Aussenden eines 4-Bit Taktkodes an den Taktdekoder während jedes ROM-Zustandes.
209852/1005
2. Aussenden von Makroinstruktionen an den Speicher einschließlich der Lese- und Schreib-Mikroinstruktionen.
3. Aussenden von Makroinstruktionen an die Schiebe-Register zum Torschalten von Seriendaten in oder aus den entsprechenden Registern.
4. Aussenden eines 4-Bit ALU-Kodes an die Mathematik-Logik-Einheit (KLU) zur Auswahl der geeigneten binären oder BCD-Rechenfunktion.
5. Durchführung von logischen Entscheidungen (Abzweigen) auf Grund der Zustände von 16 Qualifizier-Eingaben an den Mikrorechner. ■
6. Aussenden der nächsten Adresseninformation an ROM-Adressen-Flip-Flops in dem Mikrorechner.
7. Übertragen der Steuerung an das Eingabe-Ausgabe-Steuergerät über das I/O-Markierungsfenster zur Durchführung der Eingabe- oder Ausgabe-Instruktionen.
Der gesamte Satz von 28 ROM-Ausgangssignalen mit ihren
zugeordneten Mikroinstruktionen, die Liste von 16 Qualifizierern und den zugeordneten Kodes und die Gedächtnisse des Mikrorechners sind in den folgenden Tabellen enthalten:
209852/1005
, PoiUiv J f ZTS kW» aek. vpvstkKev PCi > t I SmHn4 "^* TOO (leg ^ t
T4euT ROM MTS I O O T fdlWu —^ Tf —Ο '*
TTS O 0 O /ß> Reg —3* M Sa»* te £
2. (SRCi utS Ό 0 I R Ί **
Söl**» ·· _ ί
3. TTT 1*« jifik TTR ο 0 O y/utt -*- S S {
*b TTyW CRC / /M RȊ -** Ct ^O Uj
5* "5TfR PTR / cß<r ι [CI T ßtcj ">
TßE ITR ί ■S'ßC J O ßCO
O
S
e, sei WTM* I J t O I R*ej "> -R Sw*"*
7. SCO TÖG~ V'xc2
<?
I O
QTR O J I P Reg -> Reg. f!3|J-£)
RDM- O O ■ R
■ZTR O Rd
O
f Speiche*·« Jv.Ueili< > -*- T ß<?3
R-X Je 8. RC2 TTQ. ] O D T Sw1^ -♦ • T
3» Rc-I I I I
40. ßCO ßCD r I XCO
O
Lese ipe»il»ev R
T6F ί O I CA* I- e»ei I?LU
CRB I^ »tU Dekoci O O ► J 5eg —&- R $ι\*κ
TTP I I <£ Reg fßif
TTX Λ " l> I O QCD Re«l>iKlitryüi Reg
λόρ XO1
O
I T Cqws ->·
X-KoJe Ai. XCl I0R O O
g
i'c^evi
A1-XC4 ZTT I f TSqwv —>■ das
ITT- I Tf*^ ->
loß. O *RCO Kf ι ti ei utY «V
XOR- O O Ob .— R* 5 -*· T^öjv^
ff DP I t Rf-S-^-T i«i^
I Q Evkitfs»/ ODER
ί KiC^VC r>\*\V\V-*.S)*> ζ ν* τ Vm a
.nc O X^kluii/ OOcP
Q I i -
PLl/ O O
AT. nc4 f I Ivikl»/»«/ OO/FR
46. ftCO I
O «IOD hlwv X
O
I
209852/ 1 005
Sf-tutv
Pt IcI
RQtA ö/CfCf H'ßli" ^DtIi J"rC|^ ftf· (>iVifw v/oyeitt/Ttlie^fiv»
Von 1I »if i6 ?v«.eirMug(vit ^u^c^t i Q A'' Wt vj da/
^ et* Γ* !'•"l'v'' ** CT I ^ C α ίϊ Ä H f
fWr^f ff / Wi uc( du X λΟΟ Bit" ti C·!*^*· **v · « ^
J8> CCl
2.2. QCl
Zi. QCl
Zb* QCO
27. SOi
1% . Jf 0 0
TQR=
.,, üM/o3f Q-ß*3ij*«v
ft) U be ι
klavc
BCD- U
W«kk Rü,^
=■ i/TR * ßcO · iJ
= ßc D .
209852/1005
QCf QCO Ct
0 0 0 0 QDO
pöOI G^ O I " "
O O / O β O1L " "
0 O I I Q O^ " »» uM ι»
0/00 Q 0 A- "f</^'f9C Q«<«<)vftr
6 / 0 / Q 0 5
o / f ο α o G
Ott/ η r? /* ο· " »ί ι
• ι ι Vx 15 ^- 15 in civ ^!/"ivrvuc* CtwJ"
1 O O O £1 P O Pßeojr/'ei'i ß,-f fi> /
A O / C? K/IR rpifcliew ß«
tort (5 ι Q - U^Ct^i fe
> /D^ C?^ ß ^t.f.rvCcC
U ϋ » r/M γ ©παίι
/ / /0 (5 DC
/ / A/ *α «ο
»V
te Fvk
Ta ic ί /1AV Ttfj
X X ^ SptfV-vc* /Htt
209852/1005
Mikrorechner - Gedächtnisse (Fortsetzung)
Adressen Gedächtnisse
IQtT
BRC
Q-Register
TfQ
QIO Q9
Q7
Q6
Q5
Q3
Q2
Q1
Daten. Qualifizierer
QP0 QRD
QNR
QDC QBC Takt Kode: Binär Kode, der die
Anzahl der Schiebetakte programmiert
Blockiert Schiebe Takte
Einschalt-Neüeinstellung
Sperre/wenn Qualifizierer nicht zutreffend
Abzweige
übertrage Q 11, Q 12, Q 13, Q 14 an
die Primäradressen Flip-Flops
zum Q-Register Q-Register zur R-Sammelleitung
Bits 10-0 des Q-Registers
Bit 0 des P-Registers
Qualifizierer ROH unwirksam (I/O unterbrochen)
Qualifizierer nicht angefordert
(Tastatur unterbrochen)
Dezimalübertrag
Binärübertrag
5 2/1005
2228742
Mikrorechner - Gedächtnisse (Fortsetzung)
Speicher 395 Q-Register an AB Flip Flop
SC0 ">
SCI J
S-Sammelleitung Kode Α-Register Operation
TTT~ T-Sammelleitung zum T-Register B-Register Operation
ttm T-Sammelleitung zum M-Register T-Sammelleitung zum A- oder B-Register
(beginnt am ROM Dekoder)
IBH Lese Speicher A- oder B-Register zur R-Sammelleitung
OTT Schreib Speicher T-Sammelleitung zum P-Register
Α,Β,Ρ,Ε-Register ■ P-Register zur R-Sammelleitung
QAB T_-Sammelleitung zum Ε-Register zur
R-Sammelleitung
AB■- 0 T-Register zum E-Register
AT} = 0 Einheiten zur R"-Sammelleitung
TTX (RCM) Mathematik Kodes für die Mathematik
XTS Logik-Einheit
1TlTP Dezimalrechnen
PTS Macht die ROMs für Einzelschritt-
ΨΒΈ
ΤΉΕ
TITS
AC2
AC0
IOD"
SDR
Prüfer Operation unwirksam
Jedes der ROM Plättchen der Figuren 136 - 137 ist in 256 Worte mit 4- Bit organisiert, deren jedes entsprechend der folgenden Tabelle konstruiert ist, wobei jedes "L" einen niedrigen'Zustand (oder "0") und jedes "H" einen hohen Zustand (oder "I") darstellt:
209852/ 1005
ROM CHIP 3
0012 2053,09, 1,4,01024 LLHL HHHH LHHL HHHH LHHH HHLH HHLH SN237O3
0013 R0M3 LHLI, HLHH HLLH HLHL LKLH LLLL LLLL SN237O3
0014 02,11,71 LHHH LLLL LHHH LLLL LLLL LHLL HHLL SN237O3
0015 414 LLHL LHLH HLHL LHLL HLHL LLLL LLLL SN237O3
0016 000-007 LLLL LLLL HHLL LLLL HLLL HLLL LLHL HLLH SN237O3
0017 008-015 LHLL LLHH LLLL LLLL LHLH HLLL HHLH LHHII 5N237O3
0018 016-023 LHHH HHLL LLLH LLLH LHHL LLLH HLHH HLHH SN237O3
0019 024-031 LLHL LLLH HULL LHLH LLLH HHLH HLHH LHLL SN23703
0020 032-039 LHLL LIIHH HLHH HHHL LLLL HLLL LHHL HLHH SN237O3
0021 040-047 LLHH LLLH LHLL LHLL HLLL LLHL LLLL HLLH SK237O3
0022 048-055 HLLL LHLH HLLL LHHL HLHH HHLL LLLL LLLL SN237O3
0023 056-063 LLLH LLLL HHHH LHHH LLLL LLHH LLLI, LHLL SN23703
0024 064-071 LKHL IiLLL LHHL LHHH LHHH LHHH LHHH HHHH SN237O3
0025 072-079 LLLH LLHL LELL LLLL LLLL LHLH HHLL HHLL SN237G3
0026 080-087 LHHH LLLH LLLL LHLH LKLH LHLH HLLH LHHH SN237O3
0027 088-095 LLlIH LHLH HKKK LHHL LLLH LHLL LLLL LHLH SK237O3
0023 096-103 HHHL LHLL HHLL LHLH LHHH HLHH LLLL LLLL SN237O3
0029 104-111 LLHH LLHL LLHH HHLH LLHL HLHL HLLH LHLL SN237O3
0030 112-119 LLLH LLHL HLLH HLLL HLLH LLLH HLLH HLLH SN237O3
0031 120-127 LLLL LHHH HLHH HLLH LLLH LLLL LHHH HHLH SN237C3
0032 128-135 HLHL HHHL LLLH HHHL LHHH LLHL LLHL HHHH SN237O3
0033 136-143 LHLH HLLL LHLL HLHL LLLL LLLH LHLL HLLL SN237O3
0034 3.44-151 LLLL LHHL LLHL HLLH LHHH LLHH HLHH HLHH SN237O3
0035 152-159 HHHL HLLL LLHL LLIiL LHLH LLLL LLHL LLLL SN237O3
0036 160-167 HLLL LLLL LLLH LLLH HHLH HHLH LLHH HLHH SN237O3
0037 168-175 LHHL LHLH HLLH LHLL HHLH LHLH LLLL LLLL SN237O3
0038 176-183 LLLL HLLL LHHL LLLK HHHL LLHL HLHL HLHL SN 2 3 70 3
0039 184-191 LHHH HHLH LLLL LLLL LLLL LHLL LLLH HLLH SN237O3
0040 192-199 LLLH HLLH LLLL LLLL HHLH HLLL LHHL HHHL SN237O3
0041 200-207 HHHH HHHL HLLL HLLH HHLL HLHL LLLL LHHH SK23703
0042 208-215 HLHH LLHL LLHH LLLL LLLH HHLH LLHL LHLL SN237O3
0043 216-223 HHHH LHLH HLLL LHHH LLLL LLLL LHLH LLLL SN237O3
0044 224-231 HLLH
0045 232-239 LLLL
0046 240-247 LLHL
0047 248-255 LHLL
0048
209852/1005
391
ROM CHIP 4
0049 2054,09, 1,4,01024 LLLH HLLL LHHL HLLL HLHH LLHH SN237O4
0050 R0M4 HLLL HLLL HLLH LHHL HLLL LHHH SN237O4
0051 02,11,71 LLHL LLLL HLHH HLLH LLLL LLLH SN237O4
0052 441 HLHL LLHL LLLL LLLH LHLL LHHH SN23704
0053 000-007 HLHL HLLH HLLL HLHH LHLH HHLH HHLL HLLL SN237O4
0054 008-015 LHHH HHLH HHLH HHLL HHLH HULL HLLH HLHL SN237O4
0055 016-023 HLLL LLHH LLLL HLLL LLLL HLHH HHLL LHLL SN237O4
0056 024-031 LLLL LLLL KHHL HHHL LLLL HLLL HLHL LLLL SN237O4
0057 032-039 LHLH HLLH HHLH HLLL HLHL LLLL HHHH HLHH SN237O4
0058 040-047 LLLL LLLL HLHL LLHL LLHH HLLL LHLH LLHH SN237O4
0059 048-055 HHHH LLHH HLHL HLLL LLLL HHLH LHLL LLLH SN237O4
0060 056-063 LLLH LLLH HHHL HHLL LHHH LHLL HLLL LLLL ■ SN23704'
0061 064-071 LLLH HHLH HLLL HLHL HHHH HHLL HHHL LLHL SK237O4
0062 072-079 LLLL LLLL LHLL LLHL HLLL LLLL HLHL LLHH SN23704
0063 080-087 HHHL HLHH HLLL- HLLL LLHH HLHH HHHH LHLL SW237O4
0064 088-095 HLLL LHLH HLLL HLHH LHLL HLLH HLLH HHHL SN237O4
0065 096-103 HHHL HLHH LHHL HLHH HLHH HLLH HLHH LLHH SN237O4
0066 104-111 LLLL LLLL HLHL LLHH LLLL HHHH LLLL HLLH SN237O4
0067 112-119 LHHH LHLH HLLL HLLH HLHH LHLL HHLL HHLL SN23704
0068 120-127 LLHL HHHH HLHL HHHH LLLL HLLL HLHL LULL SN237O4
0069 128-135 LLLH HLHH HHHL LLHH HHHL HLHH HHHH HEHL SN237O4
0070 136-143 HLLH LHLL LHLL HLLL HLLL LLLL LLHL LLLH SN237O4
0071 144-151 HLHL HLHL HLLH HLLL HHHH HLLL HHLL LHLL SN237O4
0072 152-159 HLLL HLLH LHLL HHLL LLHH HLLL LHLH LHHH SN237O4
0073 160-167 LLLH HHHL LLLL HLLL HLHH HLLL HHHL HHHL SN237O4
0074 168-175 HLLL HHLH HHHL. HHHL LLHH LLLH HLLL LHHH SN237O4
0075 176-183 HHLL HLLH HLLL LLLH HLHL LLLH LHLL LHHL SN237O4
0076 184-191 HLLL LLHH HLHL LLHL HLLL LLLL LLLL HLHL SN237O4
0077 192-199 LHHL HLLH LHHL HHLL HLLL LULL LHLL LHHH SN237O4
0078 200-207 LLHL HHHH LLHL LHLH LHHH LLLL HLLL LLHH SN237O4
0079 208-215 LHHH HLLL LLHH HLLL HLLL HLHH LHLL LULL SN237O4
0080 216-223 LLHL HLHL LLI1H LLLL HHLL HHLH LHLL HLLL SN237O4
0081 224-231 HLLL HLLlI
0082 232-239 HHLL LLHH
0083 240-247 HHLL LHLL
0084 248-255 LLHH HHLH
0085
209852/ 1 005
392
ROM CHIP 5
0086 2055,09, 1,01024 LLLL LLLL HHHH LLLL LLLL LLLH LLLH
0087 R0M5 LLLL HLLH LLLL HHHH HHHH LLLL LLHH
0088 02,11,71 LLLL LLLL LLHH LLLL HHHH HLHH LLLL
0089 515 LLHH LLLL LHLH LLHH LHLH HLHH HLHH
0090 000-007 HHHH LLLL LLLL LLLL HLHH •HLHH HHHL LLLL
0091 008-015 HHHH LHHH LLLL LLLL LLHH HLHH LLLL LLLH
0092 016-023 LLLL HLHH LLLL HHHH LLLL LLLL LLLL LLLL
0093 024-031 LLHH LLLH LLHH LLHH LLLL HLHH HHHH HHHH
0094 032-039 HHHH HLHH LLHH LLLL LLLH LLLL LLLL LHLH
0095 040-047 LHHH LLLH HHHH LLLL HHHH HHHH LLLH HHHL
0096 048-055 LHLH LLLL HLHH LLLL HHHH HHHH HHHH HHHH
0097 056-063 LLLH LLLL LLLH LLLL LHLL LLHH LLHL HHLL
0098 064-071 HHHH HLHlI HLHK -τ - ij LLHH HLHH LLLL LLLH
0099 072-079 HHHH LLHH HHHH HHHH HLHH HHHH HHHH LLLL
0100 080-087 LLLL HLHH HHHL LLLL LLHL LLLL LLHH LLLL
0101 088-095 LHHH LLLL LLHH HLHH LLHH HHLH LLLL HHHH
0102 096-103 HHHH LHLH HHHH LLLL LLLH LLHH LLLL LLLL
0103 104-111 LLLL HHHH LHLH HLHH HLHH HLHH LLLL LLLH
0104 112-119 HHHH LLHH HLHH LLHH LLLL HHHL LLLL HHHL
0105 120-127 HLHH LLLL LLLL LHLL HHHH HLHH LLHH LHLL
0106 128-135 HHHH HHHH LHLH LLHL HHHH LLLL HHHH LLLH
0107 136-3.43 HHHH HHHH HHHH LLLL HHHH HHHH HHHH LHLL
0108 144-151 LLLL LHLH HHHH HHHH LLLL LLHL HHHL LLLL
0109 152-159 LLLL HLHH LHLH LHLH HHHH HLHH LLHH LLHH
0110 160-167 HHHH HLHH HHHH HHHH LHLH HLHH LHLH LHLH
Olli 168-175 HHHH HHHL HHHH LLLH HHHH LLLL HLHH HHHH
0112 176-183 HHKH LLHH HLHH HHHH LLHH HHHH LLLL HHHH
0113 184-191 HHHH HLHH LLLL LLLL HLLH LHLH LHLH LLLL
0114 192-199 HHHH LLLL LLLL HHHL HLHH HLHH LLHL LLLL
0115 200-207 LLLL LLLL HLHH HHHH LLLL .LLLL HIlHL HHHL
0116 208-215 HHHH LLLL LHLL LLLH HHlIH HIIHH HLLH LHLH
0117 216-223 LLLL LLLL KLHH LLHH HHHH LLLL HHHH HHHH
0118 224-231 LLLL
0119 232-239 HHHH
0120 240-247 LLHH
0121 248-255 HHHH
0122
209852/ 1005
222S742
ROM CHIP 6
0123 2056,09, 2,4,01024 HHHL LLHH HHHL HLHH HHHL HHHL SN237O6
0124 R0M6 LLHH LHLH LHLH LHLL LHKH LHLH SN237O6
0125 02,11,71 LHHH LHHL LLLH LHHL LHHH LHHH SN237O6
0126 595 LLHH LLLH LHLH LLLH LHHH LHHH SN237O6
0127 000-007 LHHL LHHH LHHH LHHH LHLH LHHH LHHL HHHH SN237O6
0128 008-015 LLHL LLHH HHHH HLHH HLHH LHLH LHHH HHHL SN237O6
0129 016-023 LHHH LHHH LHHH LHLL LHHH LLLH LLHH LLHH SN237O6
0130 024-031 HHHH HLHH LHHH LHHH LHHH LLHH LHLH LLLH SN237O6
0131 032-039 LLLL LHHH LHHH LHHH LHHL LHLH HLHH LLLH SN237O6
0132 040-047 HHHH HLHH LHHL LHHH LHLH LHHL LLHL LHHH SN237O6
0133 048-055 LLLH LHLH LLHH HHHL LHHH LHHL LHLH LHHH SN237O6
0134 056-063 HKHH HLHH LLHH LHHH LHHH LHHL LLHH LHHH SN237O6
0135 064-071 LLHH LHHL LHHH LHHL LHLH LHHL LHHH HHHL SN237O6
0136 072-079 LHHH KLHL LHHH LLHL LLHH LHHL LHLH LHHH SN 23 706
0137 080-087 LHHH LHHH LHHL LHLH LLLH LlIHH HHLH LHHH SN237O6
0138 088-095 HLHL HLHL LHLL LHHH LHHH LHHH LHLH LHHH SN237O6
0139 096-103 LLHL LHHH LHHL LHHH LHLH LHHH LHLH LHLH SN237O6
0140 104-111 LLHH HLHL LLLH LHLH LHLH LHHH LHHH LLLH ' SN237O6
0141 112-119 LHLL LHHH LLLH LHLL LHHH LHHH LLHH HHHL SN237O6
0142 120-127 LHLH HLHH LHHH LHHH LHHH LLHH LHHH LLHH SN237O6
0143 128-135 LLHL LHHH LLLH LLHH LHHH LLHH LHLH LLHH SN237O6
0144 136-143 LHHL LLHH LHHH LHHH LHHH LHLH LHHH LHHH SN237O6
0145 144-151 LHHH LHHH LHLH LHLH LHLH LLHH LHHL LHHH SN237O6
0146 152-159 HLHL HHHL LHHH LHHH LHLH LHHH LHHH LLHH SN237O6
0147 160-167 LHLL LLLL LHLH LHHH LHLH LHHH LLLH LLLH SN237O6
0148 168-175 LLLL LLHL LHHL LHHH LHHL LHHH LHLH LHHH SN237O6
0149 176-183 LHHH LHHH LHLH LHLH HHHH LHLH LHHH LHHH SN237O6
0150 184-191 LLHL LLHH LHHH LHHH LLHH LHHH LHLH LLHH SN237O6
0151 192-199 LHLH LLHH LHHH LHHH LLHH LHLH LHHH HLHH SN237O6
0152 200-207 HLLH HHHL LLLH LLHH LLLH LHHH LLHH LHHH SN237O6
0153 208-215 LHLH LHLL LHLH LLLH LHLL LHLH LLHH LLLH SN237O6
0154 216-223 HLHH LHHH LHHH LHLL LHLH LHLH LHHH LHHH SN237O6
0155 224-231 HLHH HHHL
0156 232-239 HLLL LHHH
0157 240-247 LHLL LHHH
0158 248-255 LLHL LHHH
0159
209852/ 1 005
HOO
ROM CHIP 7
0160 2057,09, 1,4,01024 HHHH LLLL LLLH LLLL HHHH LHHH LHlIH SN237O7
0161 R0M7 ■ HLLH HHHH HHHH LLHL LHHH LHHH LHLH ' SN237O7
0162 02,11,71 LHLL LHHH LHHH LHHH LHHH LLHH LHHH SN237O7
0163 596 LLLL LHHH LHHH LLHL LHHH LHHH LLHH SN237O7
0164 000-007 LHHH LHHH LHLL HHHH LLLL LHHH LHHH HHHH SN237O7
0165 008-015 LLLH LLLL LHHH LLLL HHHH HHHL HHLH LULL SN237O7
0166 016-023 LHLL LHHL LHHH LHHH LHLH LHHH LHHH LLLL SN237O7
0167 024-031 LHHH LLLL LHHH LLLL LHHH HHHL HLHL LLLL SN237O7
0168. 032-039 LHHH HHHH LHHH HHHH LHHH LHLL HLLL HHHH SN237O7
0169 040-047 LHHH LHHH LHHH LHHH LHLL LHHH LHHH LHHH SN237O7
0170 048-055 LHHH HHLL HHHL HHHH LHHH LHLL LLLL LLLL SN237O7
0171 056-063 LHHH LHHH LHHH LHHH LHLL LHHH LHHH LHHH SN237O7'
0172 064-071 LHHH HHHL HLHH HHHH HHHH HHHH HHLL LHHH SN237O7
0173 072-079 LLLH LHHH LLLL LIIHH LLHH LHHH HLLL LHHH SN237O7
0174 080-087 LHLL LHHL LHHH LHHH LHHH LHHH LHHH LHHH SN237O7
0175 088-095 LHHH HLLL LHKH LLHH LLLL LHHH LHLL LHHH SN 23707
0176 096-103 LHHH HLLL LHHH HHHH HHHH HHHH LLLL LHHH SN237O7
0177 104-111 LLLH LHHH LHHH LLHH LHHL LHHL LHHH HLLL SN237O7
0178 112-119 LHHH HHHH HLHH HHHH HHHH LHHH LLLL .HHHH SN237O7
0179 120-127 LHHH LHLL HHHH LHLH LHHH LLHH HHHH HLLL SN237O7
0180 128-135 LHHH LHHH .LHHH LLLL LLLL HLLH LHLL HHHH SN237O7
0181 136-143 HHHH LHHH LHLL HHHH LLLL LHLL LHLL LHLL SN237O7
0182 144-151 LLLL HHHH LLLL LLLL LLLH HLLH LHHH LHHH SN237O7
0183 152-159 LLLH LHHL LHHH LHHH LHLH LHHL LHLH LLLL SN237O7
0184 160-167 LHHH HHHL LLLL LHHH HHIIH HHHH HHHH HHHH SN237O7
0185 168-175 LLLH HHHH LHLH HLLL LHHH LHHH LLHH LLLL SN237O7
0186 176-183 LLLL HHHH HLHH LHLL HHHH LLHL LHHH LHHH SN237O7
0187 184-191 LLLH HLHH LLLH LLLH LLLL LHHH LHHH HHHH SN237O7
0188 192-199 LLLL HHHH LHHH LHLL HHHL LLHH LLLL LHHH SN237O7
0189 200-207 LLLH LHHH LLHH LLLL LHHH LHLK LHHH LHHH SN237O7
0190 208-215 LHHH LHHH LLLL LLLL HHHH LLHL LLLH LHHH SN237O7
0191 216-223 LLLH HHHH LLHH LJIHH HHHH HLLH LHHH LHHH SN237O7
0192 224-231 HLLL
0193 232-239 HHHH
0194 240-247 LHHH
0195 248-255 LHHH
0196
209852/ 1 005
HOA
ROM CHIP 8
0197 2058,09, 1,4,01024 HHHL HHHL HHHL HHHL HLHL LLHL LLHH
0198 R0M8 HHHL HHHL HHHH HHHL LHHL LIIHL HHHH
0199 02,11,71 HHHL HHHL LHHH HHHH LHHH LHLL LHLL
0200 733 LHHL HHHH HHHH HIIHL HHHH HHHL HHHL
0201 000-007 LHHH LHHL HHLH HHHL HHHH HHHL HHHL LHHL
0202 008-015 HHHL LHHL LHHL LHHL HLHL HHHH HHHL HHHL
0203 016-023 HHHL HHHH HHHL LHHL HHHL HHHH HHHH HHHH
0204 024-031 LHHL LHHL HLHH HHHH HHHL LHLH HLHL HHHL
0205 032-039 HHHL HHHL HLHH HHHL HHHH HHHL LHHL HHHH
0206 040-047 LHHL HHHL LHHH HHHL LLLH LHHH HHHH HHHH
0207 048-055 HHHH HHHL HHHH HHHL HHHH HHHH LHHL LHLH
0208 056-063 LHHL HHHL HHHL HHHL HHHL LKHH HHHH HHHH
0209 064-071 LHHL LHLL HHHL HHHL LHHL HHHL HHHL LLHL
0210 072-079 HHHL HHHL HHHH HHHL LHLH LHHH LLLL LHLL
0211 080-087 HHHL ■HHHL LHHH HHHH HLHH HHHL HLHL HHHL
0212 088-095 KIIHL LHHL HLHL LHLL HHHH HHHL HHHL HHHH
0213 . 096-103 HHHL HHHH LHHH HHHL HHHL HLHL HHHH HHHH
0214 104-111 HHHL LHHL HHHH LHLH HHHH HHHL HHHH LLHL
0215 112-119 HHHH HLHH HHHH HHHL HLLL HHHH" LHHL HHHL
0216 120-127 LHHL HHHL HHHL HHHL HHHH HHHH HLHL HHHL
0217 128-135 LHHL HHLL HHHH HHHH HHHH HHHH LHLL HHHL
0218 136-143 HHHH HHHL HHLH HLLL HHHH HHHH HHLH HHHL
0219 144-151 HHHH LHLL HHLL HHLL HHHH HHHL HHHL HHHL
0220 152-159 HHHL HHHH HHHL HHHL HHLL HHHL HHHL ELLL
0221 160-167 LHHL HHHH HHHL HHHH HLHL HLLL HLHH HLHH
0222 168-175 HIIHL HHHL, HHHH HHHH HHHH HHHL HHHH HHHII
0223 176-183 HHHH HHIiL HHHH HHHL HLHH HLHL LHLL LHLH
0224 184-191 HHHL HHHL HHHH HHHH HHHL HHHL HHHL HHHH
0225 192-199 LLLL, LHHH LLLL HHLH HHHH 'LHLH HHHH HHHH
0226 200-207 HLHL HHHL HHHH LLLL HHHH HHHL LLLH HHHH
0227 208-215 HHLH HHHL LHLH LLHL HHHL HLHL HHHL HHHH
0228 216-223 HLHL HHHL LHLL HLHL HHHL HHHI, LHIIL LHHL
0229 224-231 HHHL
0230 232-239 LHHL
0231 240-247 HLHL
0232 248-255 HHHL
0233
209852/ 1 005
ROM CHIP 9
0234 2059,09, 1,4,01024 HHLL HHLL LHLH HHLL HHHH HHLH HHLH
0235 R0M9 HHHH LHLH HHLL HLHH HHLL HHLL LHLL
0236 02,11,71 HHLL HIILL HHHH HHLL HHLL HHLL HULL
0237 586 HHHH HHHL LHLL HLHH LHLL HRHL HHLL
0238 000-007" HHLH HULL LHHH HHLL LHHH LHLL HHLL HHLL
0239 008-015 HHLL HHHH HHLL HHHH HHHH HHLL HHLL HHLL
0240 016-023 HHLL HHLL HHLL HHLH HHLL HULL LHLL ,LHHH
0241 024-031 HHLL HHHH HHLL HHLH HHLL HHLL HHHH HLLH
0242 032-039 HLLH HHLH HHLL KHLL HHLL LHLL HHHH LHLL
0243 040-047 HHLL HLHH HHLL HHLL HHLH LHLL HHLL LHHL
0244 048-055 LHLL HHLL HHLL HHLL LHHL KHHH HHLIl HHLH
0245 056-063 HHLL HLKH HHLL HHLL HHLL HHHH HHHL LHHL
0246 064-071 HHLH HHLL HHLL HULL HHLL HHLL HHLL HHLH
0247 072-079 HLLL HLHH HHLH LHLL HHLL LHLL HHLH HHLL
0248 080-087 HHLL HHLL HHLL HHLL HHLL HHLL HULL HHLL
0249 088-095 HLHH HHHH HHHH HULL HHLH HHHL LHLL HLLH
0250 096-103 HLLL LHHH HHLL HHLL LHLL HULL LKHH LULL
0251 104-111 HHHH HHHL LHLL HHLL HHLL HHLL LHHL HHLL
0252 112-119 HLLL HHHH HHLL HLHH HHLL HLLH HHHH HHLL
0253 120-127 HHLH HHLL HHLL HHLL HLLH HHLL HHLL LHHH
0254 128-135 HHLH HHHL LHLL LHHH LHHL HIIHH LLLL HHLL
0255 136-143 HHHH LHLL HHHH HHLL LHLH HLLL LHHL HULL
0256 144-151 HLLH LHLL HHLH HHLH LHHH LHHH HHLL HHLL
0257 152-159 HHLL HHLL LHLL HHHL LHHH HHLL HHLL LHHH
0258 160-167 HHLH HHLL LHLH LHLL LHLL HHHL LHLL LHLL
0259 168-175 HHHH HHLL HLHL LHHH LHLL LHLL HHLL HLLH
0260 176-183 HLLH HLHH HHLL HLHH HLLL HHHH HHHL LHHL
0261 184-191 HHLL HHLL HHLL HHHH LIIHH LHLL LHLL HHLL
0262 192-199 HHHL HHHH LHLL LHLL HULL HHLL LHHL HHLL
0263 200-207 HHHH HHLL HHLL LLHH HHLL HHLL HHLL LHLL
0264 208-215 HHHL HULL LHHH HHLL LHHH HHHH LHHH LHLL
0265 216-223 HHLL HHLL HHLL HHHH HLLL HHLL HHLL HHLL
0266 224-231 LHHH
0267 232-239 HHIlH
0268 240-247 HHHH
0269 248-255 HLLL
0270
209852/ 1 005
Jede der von der Eechenmaschine benutzten 71 Basis-Instruktionen wird durch eine oder mehrere der oben beschriebenen Mikroinstruktionen und den zugeordneten von dem Mikrorechner ausgegebenen Steuersignale durchgeführt. Die Art und Weise,in welcher dies erfolgt, ist im Detail in den Flußdiagrammen der Figuren 138 - 139 gezeigt und beschrieben. Jedes rechteckige Kästchen dieser Flußdiagramme stellt einen Zustand des ROM-Speichers 200 des Mikrorechners dar und umfaßt die Gedächtnisse der Mikroinstruktionen und Steuersignale, die in diesem ROM-Zustand gespeichert sind. Die in der oberen rechten Ecke der rechteckigen Kästchen angebrachte Zahl repräsentiert die Anzahl der für die Mikroinstruktionen dieses ROM-Zustandes erforderlichen Schiebetaktimpulse. Ein vereinfachter Überblick dieser detaillierten Flußdiagramme ist in Fig. 7 dargestellt.
Der programmierbare Takt
Bei einem gegebenen Verarbeitungssystem, welches zur Bearbeitung von Binärdaten in Serienform und unter der Steuerung von in dem ROM-Speicher 200, wie in den Figuren 3 und 136 gezeigt, organisiert ist, erfordert die Durchführung eines Satzes von Instruktionen für einen allgemeinen Zweck, daß eine gewisse Anzahl von Bits in oder aus den Speicherregistem verschoben wird. In Abhängigkeit von der auszuführenden Operation kann diese Anzahl
209852/1005 ■
von Bits von null bis η variieren, wobei η die Anzahl von Bits in einem einzelnen Maschinenwort ist.
Wenn jede Taktperiode des ROM-Taktes der Verschiebung von einem Bit entspricht, ist eine Zählschleife erforderlich, um die gewünschte Anzahl von Verschiebungen zu veranlassen. Zur Durchführung eines vollständigen Satzes von Instruktionen wäre eine größere Anzahl derartiger Zählschleifen notwendig. Eine andere Methode ist die Vorkehrung von zusätzlichen Maßnahmen an der Maschine, welche die Zuteilung der gewünschten Anzahl von Verschiebungen in einen einzelnen Zustand des ROM-Speichers 200 erlauben. Eine derartige Vorkehrung erfordert eine veränderliche Zykluszeit für jeden Zustand des ROM-Speichers 200, ermöglicht aber eine erhebliche Einsparung bei der Gesamtzahl von ROM-Zuständen.
Zur Durchführung einer veränderlichen Anzahl von Schiebetakten in einem einzelnen Zustand des Mikrorechners sind zwei separate Takte erforderlich. Der Schiebetakt wird an die Daten-Speicherregister des Speichers, den Schieberegisterblock, die Mathematik-Logik-Einheit und den Eingabe-/Ausgabeblock angelegt. Der ROM-Takt wird an die ROM-Adressen-Flip-Flops in dem Mikrorechner angelegt und erscheint für jeden Zustand in dem Mikroprogramm einmal. Die in einem gegebenen ROM-Zustand auftretende Anzahl von Schiebetaktimpulsen wird durch einen 4-Bit Taktkode bestimmt, der von dem Mikrorechner an den Taktdekoder'
ausgesendet wird.
209852/1005
HOS
Wenn keine Schiebetakte erwünscht sind, "blockiert ein separates Signal CC0 von dem Mikrorechner den Schiebetaktausgang unabhängig von dem in diesem Zustand abgegebenen Taktkode. Auf diese Art wird mit einem 4~Bit Taktkode und einem Blockiersignal jede Anzahl von Verschiebungen zwischen und einschließlich null und sechzehn realisiert.
Dieses Blockiersignal ermöglicht eine zusätzliche wichtige Eigenschaft, wenn es von der Qualifizierer-Prüflogik in dem in Fig. 136 gezeigten Mikrorechner torgeschaltet ist. Die Qualifizierer-Prüflogik umfaßt einen 4-Bit Qualifizierkode von dem ROM-Speicher 3, der eine von 'ΐδ Qualifizierer-Eingaben an den Datenselektor auswählt . Das Ausgangssignal QtT (Qualifizierer nicht zutreffend) des Datenselektors ist hoch, wenn die gewählte Qualifizierer-Eingabe niedrig war. Durch Benutzung des QN-Signals zum Torschalten der Sperr-Mikroinstruktion IQN" wird der Schiebetakt nur gesperrt, wenn der Qualifizierer nicht zutreffend ist. So v/erden in Abhängigkeit von dem logischen Zustand des unter Prüfung befindlichen Qualifizierers alle Schiebetakte erfordernden Mikroinstruktionen, die in einem bestimmten ROM-Zustand abgegeben werden, entweder durchgeführt oder blockiert.
Der ROM-Takt ist an die acht J-K Flip-Flops gelegt, die den 256-V/örter ROM-Speicher des Mikrorechners adressieren.· In jedem gegebenen Zustand werden die komplementierenden
209852/ 1 QOS
- 4*2 -
(j-K ) Eingänge zu den 4- Primäradressen Flip-Flops durch den Qualifiziererkode oder durch den q-Registerkode gesetzt. Die Eingänge der 4- Sekundäradressen Flip-Flops werden durch die Ausgangssignale des ROM-Speichers 4-, die Mikroinstruktion BRC und das Ausgangssignal QN des Datenselektors bestimmt. Wo der ROM-Takt abfällt, veranlassen die mit der negativen Flanke getriggerten Flip-Flops den Übergang der ROM-Adresse zu dem nächsten ROM-Zustand.
Wie in dem Blockschaltbild der Fig. 139 und dem detaillierten Schema der Fig. 140 A gezeigt, wird ein quarzgesteuertes Systemtakt-Ausgangssignal invertiert, um den Speichertakt MCK zu erzeugen. Dieses Signal wird ernexit invertiert, um ein D-Flip-Flop zu takten, dessen Ausgangs-Signal (Steuertakt) abfällt, wenn das Zählende-Signal (Annahme) des Abwärtszählers an dem D-Eingang erschienen ist. Zu diesem Zeitpunkt fällt auch der ROM-Takt ab, wodurch ein neuer ROM-Zustand in dem Mikrorechner eingeleitet wird. Der Steuertakt bleibt normalerweise für eine Systemtaktperiode abgefallen und erzeugt wechselweise ein Ladesignal, welches mittels eines zweiten D-Flip-Flops gegenüber dem Steuertakt um eine halbe Periode verzögert ist. Der 4-Bit Taktkode des Mikrorechners wird neu in den Zähler gesetzt, während das Ladesignal abgefallen ist.
Sobald das Ladesignal ansteigt, steigt auch der ROM-Takt an, wodurch der feste Intervallbereich des ROM-Taktes
209852/1005
und des Schiebetaktes,wie in Pig. 141 gezeigt, abgeschlossen wird. Nun wird eine Reihe von. Taktimpulsen auf den Schiebetakt SCK torgeschaltet, bis der neu gesetzte Zähler bis null herunter gezählt hat, wodurch der Steuertakt erneut abfällt, was den ROM-Zyklus abschließt.
Das Sperrsignal INH des Speichers kann den normalen festen Intervall des ROM-Taktes verlängern, indem es das D-Flip-Flop klärt und den Steuertakt niedrig hält. Dies kann während einer Aufladung des Speichers oder während externer Prüfoperationen auftreten. In dieser Situation bleibt der Zähler gesetzt und die genaue Anzahl von Verschiebungen wird erzeugt, wenn die Sperre aufgehoben wird.
Die Schieberegister-Einheit
Wie in dem detaillierten Schema der Figuren 137 "1111Cl- 142 gezeigt, enthalten das A-Register 122, das B-Register 124, das P-Register 126, das Q-Register 128 und das E-Register 130 bipolare Zustandsregister, deren Inhalte umlaufen, wenn Daten an die R- oder die S-Sammelleitung ausgegeben werden. Die volle Steuerung dieser Register in ihrer Anwendung und der durchgeführten Operationsart erfolgt durch die Makroinstruktionen des Mikrorechners. Die Anzahl der in irgendeinem ROM-Zustand des Mikrorechners zu verschiebenden Bits wird durch die Anzahl von Schiebetakten von dem Taktdekoder bestimmt. Dieser Schiebetakt erscheint an dem
209852/ 1 005
Schiebetakt-Eingang eines jeden Schieberegisters, das während dieses ROM-Zyklus durch den Mikrorechner aktiviert ist.
Die Mathematik-Logik-Einheit
Die Entwicklung von komplexen, nur lesbaren Speicheranordnungen auf einem einzelnen Plättchen ermöglichte eine maschinenseitige Verwirklichung von zentralen Recheneinheiten (CPUs) und Mathematik-Logik-Einheiten (ALUs) mit bei weitem weniger Komponenten als es zuvor möglich war. In dieser Anmeldung sind zwei bipolare, nur lesbare Speicherplättchen mit Übertrag-Flip-Flops kombiniert und dazu eingerichtet, sowohl binäre 1-Bit Logik- und Rechenoperationen als auch binär kodierte 4-Bit Dezimalrechenoperationen (BCD) durchzuführen. Die beiden bipolaren, nur lesbaren Speicherplättchen können z.B. 16-stiftige, doppelt eingeschaltet (dual-in-line) gepackte, -bipolare Nur-Lese-Speicher (ROMs) von Hewlett-Packard sein, die in 256 Wörtern von A--Bit organisiert sind und von dem gleichen Typ sind, wie in der USA-Patentanmeldung, Serien-
v
nummer 12,262 beschrieben, die am 18. Februar 1970 von " John C.. Barrett und anderen angemeldet und dem gleichen Zessionar überschrieben wurde wie die vorliegende Patentanmeldung. . -
Die binäre/BCD Mathematik-Logik-Einheit besteht aus fünf integrierten Schaltungen, die so verbunden sind, wie es
209852/1005
in dem Blockschalfbild der Fig. 143 uacL dem ausführlichen Schema der Fig. 142 gezeigt ist. Insbesondere bestehen die Packungen aus zwei 1024-Bit ROMs (nur lesbare Speicher), einem doppelten Hip-Flop vom D-Typ und zwei vierfachen NAND-Gattern mit zwei Eingängen. Der Funktionskodeeingang "BCD"wählt zwischen der binären und der BCD-(binär kodierten Dezimal-)Betriebsart„
In der binären Betriebsart wählen die Funktionskode-Eingangssignale ACO, AC1 und AC2 die gewünschte Logikfunktion oder Rechenoperation, wie in Fig. 144 gegeben. Die binären Eingangsdaten gelangen durch den Übertrag, .die S- und die R-Eingabeleitungen in den Speicher ROM #1 und das binäre Ergebnis erscheint auf der T-Sammelleitung und den Binärübertrag-Ausgabeleitungen. Der Speicher ROM # 2 wird in der binären Betriebsart nicht benutzt.
In der BCD-Betriebsart werden, diß beiden Funktionskode-Leitungen AGO und AC1 von dem Mikrorechner weggeschaltet und diese beiden Leitungen übertragen die T02 und TOJ Bits der BCD-D at en des T-Registers.- Die ALU-Funktionskode-Leitung AC2 wird zur Auswahl der gewünschten BCD-Operation benutzt. Wenn AC2 niedrig ist, stellt der 4-Bit Ausgang ^0» ίϊ <p 1^2' ^3 die BCD-SuI1[ime der beiden BCD-Dateneingänge dar. Wenn AC2 hoch ist und der Dezimalübertrag gesetzt ist, stellt der 4-Bit Ausgang 2E!q, *£_,* ■> 'zloi <? 7 das BCD-Zehnerkomplement der BCD-Daten des T-Registers dar. In der BCD-Betriebsart wird der Binärübertrag-Ausgang
209852/1005
weggeschaltet und der Dezimalübertrag-Ausgang wird an de». Speicher ROM #1 geschaltet.
Obwohl nur ein Viertel der verfügbaren Register in dem Speicher ROM ^1 für die acht Binäroperationen erforderlich ist, erwächst das Konzept der Hinzufügung eines zweiten 1024-Bit ROM-Speichers zur Durchführung der BGD-Operationen aus verschiedenen Basiskonzepten:
1. Das unbedeutendste Bit ^ Q der BCD-Summe ist immer mit dem Bit der Binärsumme identisch; deswegen müssen nur drei zusätzliche Ausgänge ^1? ^P ^^ ** 7> erzeugt werden. Bei BCD-Komplement-Operationen definiert das Dezimalübertrag-Elip-Flop, ob das unbedeutendste Bit komplementiert werden sollte oder nicht.
2. Bei.der Bildung des "Neunerkomplements" der T-Register BCD-Daten in dem Speicher ROM #1 ist zu sehen, daß bei dem 8421-Kode das zweitunbedeutendste Bit T01 vor und nach der Bildung des Komplements dasselbe ist. Somit sind nur zwei Bits, nämlich T02 und T05 vor der Eingabe in den Speicher ROM #2 zu komplementieren. Das Zehnerkomplement mit Zusatz findet sich dann durch Neusetzen des Dezimalübertrags und Durchführen einer BCD-Summe der drei bedeutendsten Digits in dem Speicher ROM #2.
209852/1Ü0 5
5· Bei nur acht ROM-Eingängen sind für den Speicher ROM # Λ einige Einteilungen der Eingänge erforderlich. Bei binären Operationen sind alle vier Punktionskodes und nur ein Bit der T-Registerdaten erforderlich. Bei BOD-Operationen sind alle vier Bits der T-Registerdaten und nur zwei Punktionskodes erforderlich. Die Anwen-'dung von zwei NAND-Gattern in Draht-ODER Verbindung mit den Offen-Kollektor Punktionskodes AGO und AC1 erlauben die Zuteilung der beiden Eingänge.
Dieses Arrangement beläßt noch einen"Eingang für den Speicher ROM # 2 verfügbar. Bei der Programmierung dieses Eingangs um den Ausgang DCI immer echt (true) zu machen kann die Makroinstruktion UTR zwei Zwecken dienen - dem Placieren von Einheiten auf die R-Sammelleitung und auch dem Setzen des Dezimalübertrags, wenn BCD echt ist. Wenn BCD falsch ist, wird der Takt an den Dezimalübertrag gesperrt. Dieser Umstand gestattet die Einsparung der Dezimalübertrag-Information während aller Binäroperationen. In ähnlicher Weise wird der Binärübertrag während der vier'Binäroperationen AlD, IOR, XOR und ZTT eingespart, indem AC2 derart geschaltet wird, daß der Schiebetakt zu dem Binärübertrag Plip-Plop gesperrt wird, wenn AC2 falsch ist.
Zusammengefaßt übt das Betriebsartenwahl-Eingabesignal "BCD" ' folgende Punktionen aus:
209852/1005
1. Es adressiert den richtigen 128 Wörter Satz der Wortzeilen in dem Speicher ROM # 1.
2. Es schaltet die T02 und T03 Datenleitungen nur in der BCD-Betriebsart an den Speicher ROM #1.
3. Es schaltet nur in der BCD-Betriebsart den Takt an das Dezimalübertrag-Flip-Flop.
4. Es wählt je nach Eignung den Binärübertrag oder den Dezimalübertrag in den Speicher ROM# 1.
5. Es überträgt nur in der BCD-Betriebsart die Ausgangsgrößen ^ Q, 5: , £ 2v ^ 7 a*1 das A-Register.
Die verbleibenden drei ALU-Funktionskodes wählen den geeigneten Satz von Wortzeilen in dem Speicher ROM aus, um die in Fig. 144 zusammengestellten acht Binärfunktionen durchzuführen. Ziisätzlich führt das AO2 Eingangssignal folgende Funktionen durch:
1.Es schaltet nur während der vier Übertrag-bezogenen Binärfunktionen und der BCD comp/add-Funktion den Takt an das Binärübertrags-Flip-Flop.
2. In der BCD-Betriebsart bewirkt das AC2-Signal die Umwandlung der BCD-Datenbits TOO, T02 und TO3 in die "Neunerkomplement"-Form.
209852/ 1005
Die Mathematik-Logik-Einheit (ALU) hat insgesamt 15 Eingänge, welche 8 Dateneingänge, 2 Takteingänge und 5 Makroinstruktion nen umfassen. Es sind vier Daten-Ausgangsleitungen erforderlich und zwei zusätzliche Ausgangsleitungen von den Übertrag -Flip-Flops sind als Qualifizierer-Eingänge für den Mikrorechner verfügbar. Die ALU-und die Schieberegister-Gedächtnisse sind in der folgenden Tabelle zusammengefaßt:
Gedächtnisse der Schieberegister und der Mathematik-Logik-Einheit
T-Eegister an Ε-Register an R-Sam. 0-Bit des T-Registers T-Sam. an Ε-Register an R-Sam. T-Sam. an A/B-Register vom Tester T-Sam. an A/B-Register von I/O (Feld)
T-Sam. an A/B-Register vom Mikrorechner (Feld #13) ■
Logisch "ODER" von drei 7TW-Signalen
Zustand des AB-Flip-Flops AB = 0 Α-Reg.Operation AB = 1 B-Reg. Operation
XTR A/B-Register an R-Sam.
WS Logisch "1" an E-Sam.
TQR Q-Register an Primärädressen Flip-Flop
AB Komplement von- AB
TTP T~Sam. an P-Register
SGK SchiebGtakt
QP0 Qualifizierer,0-Bit des P-Registers
209852/1005
TRE - TEST
TO0 - I/O
TBE -ROM
TTX
TTX
TTX
TTX
AB
-0006/ 1/ Η44 2/ 0000;
1000; 5/ ROM # 1 6/ 0000;
3301 1000; 9/ 10/ 0000;
/ 0000 ; 13/ 0000; 14/ 0000;
4/ 0000 ; 17/ 0000 ; 18/ 1000;
3/ 0000 ; 21/ 0000; 22/ 1000 ;
12/ 0000 ; 25/ 0000 ; 26/ 1000;
16/ 1000; 29/ 1000; 30/ 1000;
20/ 1000 ί 33/ 1000; 34/ 0000;
24/ 1000; 37/ 1000; 38/ 0000 ;
28/ 1000 ; 41/ 1000; 42/ 0000 ;
32/ 0000 ; 45/ 0000 ; 46/ 0000 ;
36/ 0000 ; 49/ 0000;. 50/ 1000;
40/ 0000 ; 53/ 0000 ; 54/ 1000;
44/ 0000 ; 57/ 0000 ; 58/ IOOO;
48/ 1000 ; 61/ 1000 ; 62/ 1000 ;
52/ 1000 ; 65/ 1000; 66/ 1100;
56/ 1100; 69/ 1000; 70/ 1100;
60/ 1100; 73/ 1000 ; 74/ 0000;
64/ 0000 ; 77/ 1100; 78/ 0000 ;
68/ 0000 ; 81/ 1100; 82/ 0100;
72/ 0100; 85/ 0000; 86/ 0100;
76/ 0100; 89/ 0000 ; 9Ο/ 1000;
80/ 0000 ; 93/ 0100; 94/ 0100;
84/ 1000; 97/ 0100; 98/ 1100;
88/ 1100; 101/ 1000 ; 102/ 1100;
92/ 1100; 105/ 0100; 106/ 0000 ;
96/ 0000; 109/ 1100; 110/ 0000;
100/ 0000 ; 113/ 1100; 114/ 0100;
104/ 0100; 117/ 0000 ; 118/ 0100;
108/ 0100; 121/ 0000; 122/ IOOO;
112/ 0000; 125/ 0100; 126/ 0100;
116/ 1000; 129/ 0100; 13Ο/ 0000;
120/ 0000 ; 133/ 1000 ; 134/ ΟΟΟΟ;
124/ 0000 ; 137/ 0100; 138/ 1010;
128/ 0010; 141/ 0000 ; 142/ 0110;
132/ 1010; 0000 ;
136/ 1010;
140/ 0110;
3/ 1000
7/ 1000
11/ 1000
15/ 1000
19/ 1000
23/ 1000
27/ 1000
31/ 1000
35/ 1000
39/ 1000
43/ 1000
47/ 1000
51/ 1000
55/ 1000
59/ 1000
63/ 1000
67/ 1100
71/ 1100
75/ 1000
79/ 1000
83/ 1100
87/ 1100
91/ 0100
95/ 1100
99/ 1100
103/ 1100
107/ 1000
111/ 1000
115/ 1100
119/ 1100
123/ 0100
127/ 1100
131/ 0000
135/ 0000
139/ 0110
143/ 1110
209852/ 1 005
HAS
144/ 0001; 145/ 1001; 146/ 1001; 147/ 0101
148/ 1001; 149/ 0101; 150/ 0101; 151/ 1101
152/ 0011; 153/ 1011; 154/ 1011; 155/ Olli
156/ 1011; 157/ Olli? 158/ Olli; 159/ 1111
160/ 0000; 161/ 0000; 162/ 0000; 163/ 0000
164/ 0000; 165/ 0000; 166/ 0000; 167/ 0000
168/ 0010; 169/ 1010; 170/ 1010; 171/ 0110
172/ 1010; 173/ 0110; 174/ 0110; 175/ 1110
176/ 0000 ; 177/ 0000 ; 178/ 0000; 179/ 0000
180/ 0000; 181/ 0000; 182/ 0000; 183/ 0000
184/ 0011; 185/ 1011; 186/ 1011; 187/ Olli
188/ 1011; 189/ Olli; 190/ Olli; 191/ 1111
192/ 0000; 193/ 0000; 194/ 0000 ; 195/ 0000
196/ 0000; 197/ 0000; 198/ 0000; 199/ 0000
200/ 1010; • 201/ 0010; 202/ 0110; 203/ 1010
204/ 0110; 205/ 1010; 206/ 1110; 207/ 0110
208/ 1011; 209/ 0010; 210/ Olli; 211/ 1011
212/ Olli; 213/ 1011; 214/ 1111; 215/ Olli
216/ 1001; 217/ 0001; 218/ 0101; 219/ 1001
220/ 0101; 221/ 1001; 222/ 1101; 223/ 0101
224/ 0000 ; 225/ 0000; 226/ 0000; 227/ 0000
228/ - 0000; 229/ 0000; 230/ 0000; 231/ 0000
232/ 1011; 233/ 0011; 234/ Olli; 235/ 1011
236/ Olli; 237/ 1011; 238/ 1111; 239/ Olli
240/ 0000; 241/ 0000; 242/ 0000; 243/ 0000
244/ 0000; 245/ 0000; 246/ 0000 ; 247/ 0000
248/ 1010; 249/ 0010; 250/ 0110; 251/ 1010
252/ 0110; 253/ 1010; 254/ 1110; 255/ 0110
ROM #2
I33O1-OOO7/
/ 0000;
4/ 0000;
8/ 0000;
12/ 0000;
1/ 0000;
5/ 0000;
9/ 0000;
13/ 0000;
2/ 0000;
6/ 0000;
10/ 0000;
14/ 0000;
3/ 0000
7/ 0000
11/ 0000
15/ 0000
209852/1005
0000 ; 17/ 0000; 18/ 0000; 2228742 0000
16/ 0000; 21/ 0000; 22/ 0000; 19/ 0000
20/ 0000; 25/ 0000 ; 26/ 0000; 23/ 0000
24/ 0000; 29/ 0000; 30/ 0000; 27/ 0000
28/ 0000; 33/ 0000; 34/ 0000 ; 31/ 0000
32/ 0000; 37/ 0000; 38/ 0000 ; 35/ 0000
36/ 0000 ; 41/ 0000; 42/ 0000; 39/ 0000
40/ 0000 ; 45/ 0000; 46/ 0000; 43/ 0000
44/ 0000; 49/ 0000; 50/ 0000; 47/ 0000
48/ 0000; 53/ 0000; 54/ 0000; 51/. 0000
52/ 0000; 57/ 0000 ; 58/ 0000; 55/ 0000
56/ 0000; 61/ 0000 ; 62/ 0000 ; 59/ 0000
60/ 0000 ; 65/ 0000 ; 66/ 0000 ; 63/ 0000
64/ 0000; 69/ 0000 ; 70/ 0000 ; 67/ 0000
68/ 0000; 73/ 0000 ; 74/ 0000; 71/ ooöo
72/ 0000 ; 77/ 0000 ; 78/ 0000; 75/ 0000
76/ 0000; 81/ 0000 ; 82/ 0000; 79/ 0000
80/ 0000; 85/ 0000; 86/ 0000; . 83/ 0000
84/ 0000; 89/ 0000; 90/ 0000 ; 87/ 0000
88/ 0000 ; 93/ 0000 ; 94/ 0000 ; 91/ 0000
92/ 0000 ; 97/ 0000 ; 98/ 0000; 95/ 0000
96/ 0000; 101/ 0000; 102/ 0000 ; 99/ 0000
100/ 0000; 105/ 0000 ; 106/ 0000 ; 103/ 0000
104/ 0000; 109/· 0000; 110/ 0000; 107/ 0000
108/ 0000; 113/ 0000; 114/ 0000; 111/ 0000
112/ 0000 ; 117/ 0000 ; 118/ 0000 ; 115/ 0000
116/ 0000; 121/ 0000; 122/ 0000 ; 119/ 0000
120/ 0000 ; 125/ 0000; 126/ 0000 ; 123/ 0000
124/ 1111; 129/ 1101; 130/ 1011; 127/ 1001
128/ Olli; 133/ 0000; 134/ 0000; 131/ 0000
132/ 1101;' 137/ 1011; 138/ 1001; 135/ Olli
136/ 1110; 141/ 0000; 142/ 0000 ; 139/ 0000
140/ ion;· 145/ 1001; 146/ Olli; 143/ 1110
144/ 1100; 149/ 0000; 150/ 0000 ; 147/ 0000
148/ 1001; - 153/ Olli; 154/ 1110; 151/ 1100
152/ 1010; 157/ 0000 ; 158/ 0000; 155/' 0000
156/ Olli; 161/ 1110; 162/ 1100; 159/ 1010
160/ 1000 ; 165/ 0000; 166/ 0000; 163/ 0000
164/ 0000 ; 169/ λΟΟΟΟ; 170/ 0000 ; 167/ 0000
168/ 2 09852/ 1005 171/
44?
172/ 0000; 173/ 0000; 174/ Ό000; 175/ 0000
176/ 0000; 177/ 0000; 178/ 0000; ■ 179/ 0000
180/ 0000; 181/ 0000; 182/ 0000; 183/ 0000
184/ 0000; 185/ 0000; 186/ 0000; 187/ 0000
188/ 0000; 189/ 0000; 190/ 0000; 191/ 0000
192/ 1101; 193/ 1011; 194/ 1001; 195/ Olli
196/ 1110; 197/ 0000; 198/ 0000; 199/ 0000
200/ 1011; 201/ 1001; 202/ Olli; 203/ 1110
204/ 1100; 205/ 0000; 206/ 0000; 207/ QOOO
208/ 1001; 209/ Olli; 210/ 1110; 211/ 1100
212/ 1010; 213/ 0000; 214/ 0000 ; 215/ 0000
216/ Olli; 217/ 1110; 218/ 1100; 219/ 1010
220/ 1000; 221/ 0000;· 222/ 0000 ; 223/ 0000
224/ 1110; • 225/ 1100; 226/ 1010; 227/ 1000
228/ 0110; 229/ 0000; 230/ 0000 ; 231/ 0000
232/ 0000; 233/ 0000; 234/ O000; 235/ 0000
236/ 0000; 237/ 0000; 238/ 0000; 239/ 0000
240/ 0000 ; 241/ 0000; 242/ 0000; 243/ 0000
244/ 0000 ; 245/ 0000; 246/ 0000; 247/ 0000
248/ 0000; 249/ 0000 ; 250/ 0000 ; 251/ 0000
252/ 0000; 253/ 0000; 254/ 0000; 255/ 0000
2098 5 2/1005
Portsetzung 2 2 2 8 7 A 2
PTR P-Register an R-Sam.
QO0 Q-Register 0-Bit
QTR Q-Register an R-Sam.
RCK ROM-Takt
QAB Q-Register an AB-Flip-Flop, klärt auch Dezimalübertrag.
SGB Setze Binärübertrag
QDC Qualifizierer, Dezimalübertrag
BCD Dezimalrechnen
AC2 ALU-Operationskode
QBC Qualifizierer,Binärübertrag
S-BUS Daten-Sammelleitung
AC1 ALU-Operationskode
AC0 ALU-Operationskode
T02 Bit 2 des T-Registers
T05 Bit 3 des T-Registers
SDR Signal zum Sperren der ROMs
T01 Bit 1 des T-Registers
T-BUS Daten-Sammelleitung
ALU Mathematik-Logik-Einheit
( ) bedeutet negatives echtes Signal Sam. = Abk. für Sammelleitung.
Figur 14-5 verzeichnet fünf doppelteingeschaltete (dual - inline) integrierte Schaltungen, die in der ALU benutzt werden können. Die Folgende Tabelle zeigt ein Beispiel, wie die zwei in den Figuren 142-143 gezeigten ALU ROM-Plättchen aufgebaut sein können, um die oben beschriebenen ALU-Funktionen durchzuf uhr en C In dieser Vctb, bedeutet jede "1" einen
und jede "Ö"beclout;el; oi.noii "hohen"Zui.;tand 2098 5 2/1005
Die Speichereinheit
Die Rechenmaschine benutzt ein ganz aus Halbleitern aufgebautes Speichersystem. Die Peripherieschaltung ist "bipolar und der Speicher besteht aus einem n-kanaligen, Nur-Lese-MOS-Speicher (ROM) und einem p-kanaligen Lese-/Schreib-MOS-Speicher (RWM).
Die Adressierung und der physikalische Aufbau der Speichermodule ist derart, daß die Anzahl der Wörter von drei K in der Basismaschine bis 7>5 K in der ganz ausgebauten Maschine steigerbar ist. Der kleinste hinzufügbare Zuwachs des Speichers beträgt 512 Wörter. Es wurden Vorkehrungen getroffen, daß alle hinzufügbaren RWM-Speieher innerhalb des Speichermoduls enthalten sind. Die hinzufügbaren ROM-Speicher befinden sich außerhalb des Speichermoduls hinter der Anzeige.
Die Basismaschine enthält 3 K Wörter des Speichers, die in 2 K χ 16 ROM,' 512 χ 16 und 512 χ 6 RVJI-I organisiert sind. Die 16-Bit RWM-V/örter sind in 109 Benutzerregister (4 Wörter) und 76 Wörter für den Gebrauch durch die Rechenmaschine eingeteilt. Die 6-Bit RWM-Wörter sind Programmschritte. Die voll ausgebaute Maschine enthält 5 K Wörter des ROM-Speichers und 2,5 K Wörter des RWM-Speichers, von welchen 512 Wörter 16-Bit sind.
Der Lese-/Schreib-Speicher
Wie in den Figuren 146-150 gezeigt, ist der Speicher aus
209852/1005
1024 χ 1 dynamischen Lese-ZSchreib-Speicherplättchen (Intel 1103) aufgebaut. Diese sind P-kanalig und benutzen die MOS-Silizium-Sperrschicht Technologie. Zur Aufrechterhaltung der Inhalte des Speichers muß die Vorrichtung alle 2 ms aufgefrischt werden. Dies erfolgt durch Durchführung eines Lese-Zyklus an einer gegebenen Adresse. Auf jedem Plättchen befinden sich 32 Auffrischungs-Verstärker, so daß bei jedem Lese-Zyklus 32 Zellen aufgefrischt werden. Das gesamte Plättchen wird dann durch Durchlaufen der 5 unteren Adressen-Bits und Lesen aller ausgezeichneter Adressent Die Auffrischungsperiode beträgt 20 ^&s bei wenigstens allen 2 ms. * aufgefrischt
Die Logikpegel auf allen Eingangsleitungen zu den RWM-Plättchen betragen 0 bis + 16V. Dies umfaßt 3 Taktleitungen (Plättchenauswahl, Y-Einschaltung oder Schreiben, und Neuladen), 10 Adressenleitungen, und Eingabedaten. Die Ausgabedaten aber haben die Form eines Stromes von 600 ja A oder mehr an 1 kOhm oder weniger. Dieser Niederpegelausgang ist verdrahtbar oder in der Lage, mit anderen Plättchen größere Systeme zu bilden.
Der Nur-Lese-Speicher
Wie in den Figuren 146, 147, 151 und 152 gezeigt, sind die ROM-Plättchen n-kanalige, 4096-Bit MOS Anordnungen, die zu 512 χ 8 arrangiert sind. Diese Vorrichtungen sind statisch und verbrauchen keinen Strom, wenn sie nicht eingeschaltet sind. Die Daten aus den ROM-Speichern erhält man durch ·
209852/1005
Mitnehmen der Einschaltleitung des Plattchens von O bis + 12V (was das Plättchen einschaltet), Adressieren der gewünschten Zellen (O oder 4V Pegel) und Auswählen der einzuschaltenden Ausgabe-Vorrichtungen (4V oder OV). Die Ausgabe Pegel eignen sich zum direkten Treiben eines TTL-Gatters"· und gestatten den Aufbau großer Systeme.
Wie ferner in den Figuren 153-154· gezeigt, besitzt jedes ROM-Plättchen sechs Eingangspuffer. Diese Eingangspuffer erzeugen sowohl die Eingangsgröße als auch ihr Komplement, Auf der Basis der 64 möglichen Kombinationen der Iq-I-mit 6 Eingängen wird eine der 64 Leitungen in dem Dekoder ausgewählt. Die ausgewählte Leitung schaltet eine der Vertikalleitungen in der 64 χ 64 Bit Speicheranordnung ein. Lassen wir beispielsweise IQ -Ic = 0 unä Ig - Ig "don't cares " sein» Das bedeutet, daß die Leitung XOO (oktal) ausgewählt ißt.
Die beiden C von 32 Auswahl- Dekoder müssen 16 Leitungen von den 64 horizontalen Leitungen wählen, die durch die Ver tikalleitung XOO ausgewählt sind. (Die 8 von 32 Auswahl-Dekoder. sind tatsächlich 2 von 8 Dekoder, was sich "4 mal wiederholt in jedem der Bereiche A-B.) Die Ausgänge der vier MOS Ii1El11S a, b, c und d sind "wire or/ed". Die MOS-Einheiten a1, b1, c1 und d1 sind auch ähnlich verbunden. Wenn I,: und In = 0, so sind die Horizontalleitungen 1XX, 2XX, 3XX, 5XX, 6XX, TXX in jedera der vier Abschnitte A-B
209852/1005
geerdet. Dies stellt sicher, daß die MOS FET's b, c, d, b1 , c1,und d' nicht leitend sind. Dies ermöglicht den Signalen auf den Leitungen OXX und 4XX, über die Transistoren a und a1 in die Ausgangsabschnitte zu gelangen. (MOS FET = Silizium-Metalloxyd-Feldeffekt-Transistor).
Die Ausgangsbereiche enthalten den Ausgangspuffer, einen 1 aus 2 Dekoder und die Ausgangstreiber s. Die Ausgangspuffer liefern einen Verstärkungsgrad und verbinden ("wire or's") 4 Leitungen von der Speicheranordnung. Die 1 von 2 Dekoder legen die Gatter von 2 von 4 Ausgangstreibern in jedem Abschnitt A-B fest, indem sie entweder die Leitung Io oder ihr Komplement CO einschalten. Dies verhindert 1 von 2 Signalen, von dem Ausgangspuffer wegzukommen. Für eine 512 χ 8 Organisation können die Ausgangstreiber dann zusammen mit der Leitung (e) verknüpft werden.
Alle oben verzeichneten Konstanten, Programme und Unterprogramme von Seiten der Maschine benutzten Basisinstruktionen sind in diesen ROM-Plättchen gespeichert. Dies erfolgt durch Einteilung der O bis 16777 Oktaladressen des Speicherplans der Fig. 4 in 512^0 x 0.^ Blöcke, was der Kapazität eines jeden 4096-Bit ROM-Plättchens entspricht. Diese Blöcke sind in dem Speicherplan der Fig. 155 dargestellt. Der nächste Schritt ist die Umkehrung der 8 Bits (wenn das Eingangssignal eine "1" war, ist es nun eine "0") und die Komplementierung der Adresse (sobald z.B. die Oktaladressen
209852/1005
O - 16777 in 512 χ 8 Blöcke eingeteilt sind, sind nur die letzten drei Oktal-Digits von Bedeutung), Aus diesem Grunde geht die Adresse 777Q auf OOO, die Adresse 776g auf 001, ..., und die Adresse 000 auf 777g.
Die sechzehn Bits jeder Konstanten und jeder Basisinstruktion sind in den 512^Q χ 8.Q ROM-Plättchen gespeichert durch Orga-' nisieren der ROM-Plättchen in 64 χ 64 Bit Matrizen und Errechnen der Reihen-und Spaltenzahlen von jedem Bit einer jeden Matrix durch Operieren bei jeder Adresse und dem einzelnen Bit (15 "bis 8, oder 7 "bis O). Die Spalten-' nummer errechnet sich durch Abziehen der letzten· zwei Digits der Adresse von 10Og. So ist "beispielsweise die Spaltennummer der Adresse 000 = 10Og - 00Q = 100 = 64^0 und die Spaltennummer der Adresse 777 = 10O0 - 77o = 1· Die Errechnung der
8 ö
Reihennummer (in dem Flußdiagramm der Fig. 156 als IR bezeichnet) läßt sich am besten unter Bezugnahme auf das Flußdiagramm der Fig. 156 und die zugehörige Tabelle der Fig. 157 beschreiben. Sobald die Reihennummer und die Spaltennummer gefunden sind, ist es eine einfache Sache, dieses einzelne Bit (z.B. eine "1" oder eine "0") an diesem Ort der Matrix zu speichern. Eine "O" wird an dem markierten Ort gespeichert durch Bildung eines matallischen Sektors zur Vervollständigung eines MOS FET an dieser Stelle, und eine "1" wird an der markierten Stelle gespeichert durch Weglassen des metallischen Sektors, so daß an dieser Stelle kein MOS FET gebildet wird.
209852/1005
Das M-Register
Wie in den Figuren 146, 147 und 158 gezeigt, umfaßt die M-Registeranordnung das 16-Bit Adressen- oder M-Register, sämtliche das Plättchen schaltende Dekodierung und Pufferung, und die Adressenpuffer für sowohl den ROM-Speicher als auch für den RWM-Speicher. Das Register benutzt vier 4~Bit Schieberegister mit Serieneingabe und -ausgabe und Paralleleingabe und -ausgabe. Bei Empfang einer TTT Instruktion von· dem Mikrorechner gelangen Seriendaten von der T-Sammelleitung in das M-Register. Mit diesen Daten erfolgt nichts bis entweder eine Lese- oder eine Schreib-Instruktion empfangen wird, Woraufhin ein oder zwei Dekoder eingeschaltet sind. Diese das Plättchen einschaltenden Dekoder dekodieren einzig, welcher Block von 512 Wörtern, entweder ROM oder RWM, adressiert ist. Wenn der ROM-Speicher adressiert ist, wird das Signal invertiert und auf + 12 V verstärkt. Im Falle des RWM-Speichers schaltet die Plättchen-Befähigung ein Gatter, wodurch ein 16 V Taktsignal an die eingeschalteten RWM-Plättchen gelangt. Die Wellenform des Taktes wird auf der Steuerkarte erzeugt.
Die dynamische Charakteristik der RWM-Plättchen erfordert« daß alle Plättchen gleichzeitig während eines Erneuerungszyklus eingeschaltet werden, um den gesamten Lese-/Schreib-Speicher zu erneuern. Die Pufferschaltungen im Ausgang der Dekoder der Plättchen-Befähigung gestatten dem Plät.tchen-Wähltakt, alle RWM-Plättchen während der Erneuerung zu erreichen aber der Zugriff zu diesen erfolgt nur während eines Lese- oder Schreibzyklus.
209852/1.0 05
Als Puffer für die ROM-Adressenleitungen werden NAND-Gatter mit offenem Kollektor und Widerstands-Einstellung benutzt. Durch Benutzung der Gatter mit offenem Kollektor können die Adressenleitungen oberhalb des erforderlichen 4 V Pegels eingestellt werden. Die NAND-Gatter werden während eines Speicherzyklus befähigt, so daß die ROM-Adressenleitungen bei einem Pegel von 5 V gesperrt werden. Die RWM-Adressenleitungen müssen von )V bis + 16 V eingestellt werden. Pur die 5 bedeutendsten Bits werden Hochvolt-Inverter mit offenem Kollektor benutzt, die Einstellungen mit diskreten Transistoren haben. Die 5 unbedeutendsten Adressenbits werden über eine Sammelleitung (bussed) an die Steuerkarte gebracht,' wo sie in einem Teil der Erneuerungsschaltung benutzt werden.
Die Steuerung
Ein Speicherzyklus besteht aus einer Lese- oder einer Schreibinstruktion aus dem Rechner und 12 Taktimpulsen des Schiebetaktes. Wie in den Figuren 146, 14-7, 159 "und 160 gezeigt, benutzt die Steuerung diese Impulse und Instruktionen zur Erzeugung der für die RWM- Plättchen erforderlichen Takte. Ein synchroner 4-Bit Zähler (SN74193) dient zum Zählen der Taktimpulse und die "4- Ausgangssignale werden durch einen 1-aus 16 Dekoder (SN74154) dekodiert, um das J und das K Eingangssignal für die Flip-Flops zu erzeugen. Die Ausgangssignale der Flip-Flops werden dann gepuffert, wodurch sie die erforderlichen Taktsignale werden (Neuladen, Y-Befähigen, Plättchen-Wählen).
209852/1005
Die Erneuerung des Lese-ZSchreibspeichers ist ebenfalls Sache der Steuerkarte«, Ein astabiler Multivibrator mit einer Folgefrequens von mindestens 500 Hz erzeugt ein Signal, welches das Auftreten eines Erneuerungszyklus gestattet. Ein Flip-Flop erzeugt das tatsächliche Signal (REF), jedoch nur wenn das Signal des astabilen Multivibrators hoch ist, gibt es keinen fortschreitenden Lese- oder Schreibzyklus und ist das Rechnersignal CGT hoch. Das CCT-Signal steigt zwischen den Rechnerinstruktionen an, so ist es bekannt, daß nichts unterbrochen werden kann, wenn REF erzeugt ist. REF wird dann durch einen Inverter mit offenem Kollektor gepuffert und' als INH an den Rechner gegeben. INH hält die Maschine an und der Erneuerungszyklus beginnt.
Der gleiche Zähler, der für einen Speicherzyklus benutzt wird, wird während der Erneuerung benutzt,um wiederum die notwendigen Takte (Neuladen und Plättchen Wählen)zu erzeugen. Wenn der Zähler in den Zustand 0 zurückkehrt und REF vorliegt, wird ein zweiter Zähler einen Schritt vorgestellt. Dieser zweite Zähler erzeugt die Erneuerungsadressen, die nur dann an den RWM-Speicher gelangen, wenn das Signal REF vorliegt. Wenn dieser Zähler in den Zustand 0 zurückkehrt, veranlasst er die Signale REF und ΐϊίϊΐ zum Rückkehren in den Neusetz-Zustand und die Maschine fährt mit ihrer normalen Operation fort.
Eine weitere Funktion der Stuuerkarte ist es, die 1024X1 Speicherplättchen dem Rechner wie 512 χ 2 Plättchen er-
209852/1005
scheinen zu lassen. Dies erfolgt durch zweimaligen Zugriff am EWM-Speicher während jedes Speicherzyklus. Somit wechselt ein Flip-Flop auf halbem Wege durch jeden Erneuerungs- oder Speieherzyklus den Zustand,um ein Adressen-Bit zu erzeugen. Somit liefert das M-Register nur 9 Adressen-Bits und die Steuerkarte 1 Bit, unabhängig von dem M-Register.
Andere auf der Steuerkarte erzeugte Signale dirigieren den Datenfluß in das T-Register·.-
Das T-Register
Die Daten an und aus dem Speicher werden vorübergehend in dem T-Register gespeichert. Wie in den Figuren 146, 14-7 und 161 gezeigt, bilden vier 4~Bit Schieberegister mit Serieneingabe/- ausgabe und Paralleleingabe/-ausgabe das tatsächliche T-Register. Die Register haben ein Betriebsarten-Steuersignal (TMC), welches im abgefallenen Zustand einen Serien-Datenfluß und im angestiegenen Zustand einen Parallel-Datenfluß erlaubt.
Seriendaten laufen in das T-Register ein, wenn eine TTT Instruktion vorliegt. Während einer TTS Instruktion werden die Daten in Serienform auf die ^-Sammelleitung übertragen und laufen zugleich in dem T-Register um, um den Verlust von Daten zu verhindern.
209852/1005
Während eines Lesezyklus werden entweder von dem ROM- oder dem RWM-Speicher Paralleldaten angenommen. Die ROM-Daten werden durch NAND-Gatter gepuffert und die RWM-Daten durch Fühlverstärker, denen die gleichen NAND-Gatter folgen. Das Multiplexer des RWM-Speichers "bedeutet, daß während jeder Hälfte des Speicherzyklus nur eine Hälfte der Datenbits zwischen dem RWM-Speicher und dem R-Register übertragen werden. Während der ersten Hälfte des Lesezyklus werden die einzelnen Bits in das T-Register eingespeichert. Zur Vervollständigung der Übertragung müssen diese Bits um eine Stelle nach rechts verschoben werden und die einzelnen Bits werden wiederum aus dem RWM-Speicher eingespeichert. Dies erfolgt indem den einzelnen Bits gestattet wird, als Daten bei der Eingabe der gleichen Bits zu erscheinen. Wenn während der zweiten Hälfte des Lesezyklus neue Daten in das T-Register getaktet werden, werden die gleichen Eingangsgrößen auch eingetaktet und füllen das T-Register. Dies wird mit dem ROM-Speicher nicht gemacht, da hier eine 16-Bit Parallelübertragung erfolgt.
Die Daten werden in ähnlicher Weise in den Speicher eingeschrieben, wie die Daten aus dem RWM-Speicher gelesen werden. Die Bits sind nach der Pufferung 16 Y Pegel und werden von den einzelnen Bits geschrieben, denen die gleichen Bits folgen. Die NAND-Gatter zwischen dem T-Register und den 16 V Puffern sind Gatter von der Steuerkarte zur Handhabung des Schreib-Multiplexens.
209852/1005
Die Eingabe-Ausgabe Steuereinheit
Die Eingabe-Ausgabe Steuereinheit ermöglicht der Rechenmaschine den Verkehr mit den internen Eingabe-, Eingabe-Ausgabe-, und Ausgabe-Geräten und mit den externen Peripheriegeräten. Wie in den Figuren 140 und 162 gezeigt, ist die Eingabe-Ausgabe Steuereinheit auf zwei gedruckten Karten enthalten; nämlich der "Steuer- und Systemtakt-" Karte und der "I/0-Register- und Gat^ter-Zwischenanpasseungs- (Gate Interface)" Karte. Eine dritte, in Fig. 163 gezeigte Karte ist eine I/O· Mutterkarte, die den Raum zum Anschließen von vier externen Zwischenanpassungskarten an die Rechenmaschine liefert.
Die internen Eingabe-, Eingabe-Ausgabe-, und Ausgabe-Geräte unterscheiden sich von den Peripheriegeräten durch die Tatsache, daß die I/O Sprache ihnen direkt Adressen setzt. Somit enthält Jede I/O Instruktion eine interne Peripherieadresse als Bestandteil ihres Wesens. Die fünf internen, direkt adressierbaren Eingabe-, Eingabe-Ausgabe-, und Ausgabe-Geräte sind, das I/O Register, der Magnetkartenleser, der Ausgabedrucker, die x-, y-, und z-Registeranzeige, und die. Betriebsarten-Lichter der Tastatur.
Die externen Peripheriegeräte sind indirekt adressierbar und über Kabel mit einer Zwischenanpassungs-(interface)Karte verbunden, die an der Rückseite der Rechenmaschine in die
209852/1005
I/O Mutterkarte eingesteckt ist. Der Ausdruck "indirekt adressierbar" soll hier bedeuten, daß die externen Peripheriegeräte durch Leitungen adressiert werden, die von den vier bedeute-Isten Bits in dem I/O Register auslaufen, wodurch es erforderlich wird, daß ein Adressenwort in das direkt adressierbare I/O Register eingespeichert wird.
Der I/O Steuer-und Systemtakt-Abschnitt
Die Punktion des I/O Steuer- und Systemtakt-Abschnittes besteht in der Steuerung des I/O Registers und des Gatter-Zwischeiianpassungbereiches. Dies erfolgt durch die Anwendung eines I/O Instruktionssatzes," der in dem Hauptspeicher der Rechenmaschine gespeichert ist.
Der Mikrorechner bewirkt die Einspeicherung von Instruktionen aus der Speichereinheit in das T-Register und ihre anschließende Übertragung in das Q-Register. Der Mikrorechner bestimmt den Typ der Instruktion und veranlasst die geeignete Durchführung derselben. Wenn die Instruktion vom I/O-Typ ist, wird die Steuerung durch den Mikrorechner an den I/O Steuer- und Systemtaktbereich übertragen.
Während der I/O Steuerbereich in Tätigkeit ist, verbleibt der Mikrorechner in einer Warteschleife mit zwei Zuständen. Die Zeit in der Warteschleife beträgt zwischen 0,72/« see und 6,5 zu.see.
209852/1005
Die Bits 5 "bis 10 des Q-Registers sind mit dem I/O Steuerbereieh verbunden und bleiben während einer I/O Instruktionsdurchführungszeit konstant. Die Bits 5 "bis 8, die den I/O Instruktionskode repräsentieren, sind an die I/O Adressen-Flip-Flops torgeschaltet und werden in jeder Taktzeit eingegeben, während die I/O nicht aktiv ist. Die vier Ausgange der Adressen-Flip-Flops sind mit dem Adresseneingang eines 1 aus 16 Dekoders verbunden und stellen die Anfangszustand-Adresse der auszuführenden I/O Instruktion dar. Wenn der I/O Steuerbereich befähigt ist, werden die Eingangsgatter, welche die Bits 5 bis 8 an die I/O Adressen-Flip-Flops gelangen lassen, geschlossen und der 1 aus 16 Dekoder wird befähigt. Dies ermöglicht den Startzustand-I/O-Mikroinstruktionen, aus dem 1 aus 16 Dekoder zu kommen. Die nächste, von den geschlossenen Eingangsgattern kommende Zustandsadresse wird der Ausgangszustand (1111 = 17o) sein , bis er modifiziert wird durch das erneute öffnen der Gatter zum Durchlass des Original-Anfangszustand-Kodes oder durch Modifizieren des Ausganges von einem oder mehreren der Eingangsgatter unter Benutzung einer "wire or"-Verbindung, die vom Ausgang des 1 aus 16 Dekoders kommt. Diese Adresse wird an die Eingänge der I/O Adressen-Flip-Flops gesendet und auf der Anstiegsflanke des Taktzyklus der ersten Hälfte eingetaktet. Der Taktzyklus der ersten Hälfte schaltet den 1 aus 16 Dekoder ab und die Adresse wechselt. Der Taktzyklus der zweiten Hälfte befähigt den 1 aus 16 Dekoder,wodurch der nächste Zustand der Mikroinstruktion erscheinen kann. (Vgl. Fig.164-für die oben beschriebene ZeitZuordnung.) Dieser Prozeß setzt sich fort, bis der Ausgangszustand angetroffen wird.
209852/1005
Beim Ausgangszustand wird die I/O Steuerung unfällig gemacht und die Steuerung wird an den Mikrorechner zurückgegeben.
Die I/O Instruktionen, die die Übertragung von Daten zwischen der I/O und dem CPU (OT, LI, MI) umfassen, erfordern sechzehn Durchgänge durch den gleichen Zustand (1 Durchgang für jedes von 16 Bits). Dies erfolgt durch Prüfen des Ausgangs eine's 16-Bit Abwärtszählers und anschließendes Vermindern nach jedem Durchgang durch den Zustand. Wenn die Zähleranzeige "O" nicht erreicht wurde, wird ,die Anfangszustand-Adresse durch öffnen der Eingangsgatter erneut in die Adressen-Flip~ Flops eingespeichert. Wenn der Zähler 16 Durchgänge anzeigt, wird den Eingangsgattern das Öffnen nicht mehr erlaubt; der nächste Zustand (1111) hingegen wird durch das Ausgangssignal des 1 aus 16 Dekoders modifiziert, welches über eine "wire or"-Verbindung an das zweite Bit gelangt, wodurch der Zustand 1101 entsteht. Diese Adresse ist das Eingangssignal an die I/O Adressen-Flip-Flops wie in dem voranstehenden Absatz.
Die oben beschriebene Wirkungsweise des I/O Steuerbereiches ist auch in dem Flußdiagramm der Fig. 165 dargestellt und näher erläutert.
Das Bit 9 wird als ein Anhalte-/Klär-Bit bezeichnet. Es ermöglicht das Auftreten oder Nichtauftreten einer Klärfahne (CLF) nach der Durchführung der anderen I/O Instruktionen. (Ausgenommen STF).
209852/1005
Das Bit 10 wird im Zusammenhang mit den Mikroinstruktionen PTR und XTR benutzt, um die Steuerung an die I/O zu geben.
Die Gedächtnisse der I/O Steuerung und des programmierbaren Taktes sind in der folgenden Tabelle gegeben:
Die Gedächtnisse der I/O Steuerkarte
Taktkode null
CC1 Taktkode eins
CG2 Taktkode zwei
CC4 Taktkode vier
CC8 Taktkode acht
CCT Steuertakt zum Tester
CEM Rufe ausgedehnten Speicher
CLC Kläre Steuerung
CLF Kläre Fahne
DRC Datenregistertakt
EBT ' acht Bit-Übertragung
EOW Ende des Wortes
HO Sperre intern ISC
TM Sperre Takt
IPS Sperre primär/sekundär
ITS Eingabe an S-Sammelleitung
MCK Speichertakt
POP Einschaltimpuls
PTR P-Register an R-Sammelleitung
QFG Qualifiziererfahne
Q5 Qualifizierer fünf
209852/1005
Fortsetzung
Q6 Qualifizierer sechs
0,7 Qualifizierer sieben
Q8 Qualifizierer acht
Q9 Qualifizierer neun
Q10 Qualifizierer zehn " .
QRD Qualifizierer ROM nicht befähigt,
RCA ROM-Taktadresse
RCF ROM-Takt Flip-Flop
SCB Setze Übertragsbit
SCK Schiebetakt
SCT Schiebetakt zum Tester
SRA Service Anforderung Kenntnisnahme
STC Setze Steuerung
STF Setze Fahne
TCK Testertakt
TTO T-Sammelleitung an Ausgang
TTZ T-Sammelleitung an A/B-Register
XTO Extern OSC
XTR A/B-Register an R-Sammelleitung
Anmerkung: ( ) bedeutet negatives echtes Signal
Der I/O Register- und Gatter-ZwischenanpassunRS-Bereich
Wie in Fig. 162 gezeigt, ist das direkt adressierbare I/O "-Register ( Adresse 01) ein 16-Bit Universalregister (ParalLel- und Serien-Eingabe/Ausgabe), welches über die Serien-Eingabe-
209852/1005
Sammelleitung S~ und die Serien-Ausgabe-Sammelleitung T mit dem Rechner der Maschine verbunden ist. Die Information gelangt mit der I/O Instruktion OTX 01 in Bit-Serienform nicht invertiert von dem A- oder dem B-Register an das I/O-Register. Sechzehn mit den Parallelausgängen des I/O Registers verbundene Leitungen liefern die Datenausgabe an die internen Eingabe-, Eingabe-Ausgabe- und Ausgabe-Geräte und an die externen Ausgabe-Zwischenanpasser. (Bemerke: Jedes I/O-Gerät oder jeder Zwischenanpasser kann nur eine TTL-Ladung an die Ausgabeleitungen bringen.)
Der Paralleleintritt in das I/O Register erfolgt über 12' Gemeinschaftsleitungen, die mit den 12 unbedeutendsten Paralleleingängen verbunden sind. Die Eingabe-Leitungen sind negativ echt, wobei alle Eingabe-Zwischenanpasser (interfaces) über offene Kollektoren an die Leitungen gekoppelt sind. Es ist mit Sorgfalt sicherzustellen, daß die Leitungen nicht von einer Störung getroffen werden, während ein Zwischenanpasser inaktiv ist. Mit den I/O Instruktionen LIX 01 oder MIX 01 wird die Eingangsinformation invertiert in Bit-Serienform an das A- oder B-^Register gebracht. (Die Inversion bringt positive echte Information in das A- oder B-Register.)
Die Eingabe-Information gelangt auf drei Wegen in das I/O Register:
209852/1005
a) Serviceanforderung.
Bei der Serviceanforderungs-Methode wird die Eingabe durch ein Service-Sperr-Flip-Flop gesteuert. Wenn das Service-Sperr-Flip-Flop mit der I/O Instruktion CLF 01 geklärt wurde, kann eine Serviceanforderung eingeleitet werden durch Umwenden der SSI-(Service-Markierungsfenster-Eingabe) Gemeinschaftsleitung an Erde über einen offenen Kollektor auf dem Zwischenanpasser (Interface). Dieses Signal veranlasst die Einblendung der Parallel-Eingangssignale in das I/O Register und sendet eine Serviceanforderung (QNR) an den Mikrorechner. Vor dem Empfang einer Serviceanforderung würde der Mikrorechner verschiedene Instruktionspfade durchgegangen und nach Durchführung einer Jeden Instruktion das Vorliegen einer Serviceanforderung geprüft haben. Bei Empfang einer Serviceanforderung unterbricht der Rechner die Folge von Instruktionen, mit denen er beschäftigt war und speichert eine Adresse in das M-Register, welche die Anfangsadresse eines Serviceprogramms enthält. Zur gleichen Zeit schaltet ein Signal SRA (Serviceanforderung-Anerkennung) das Service-Sperr-Flip-Flop ab und setzt das einzelne Service-Flip-Flop, welches nur eine Serviceunterbrechung an den Rechner pro Service-Markierungsfenster Eingabe gestattet. Das einzelne Service-Flip-Flop wird zurückgesetzt, wenn das Service-Markierungsfenster entfernt wird. Alle Leitungen von e,inem Zwischenanpasser, welche die Serviceanforderungsmethode zur Eingabe von Information benutzen, werden gesperrt, wenn das Service-Sperr-Flip-Flop gesetzt ist. 209852/·1 005
b) Rückkehr der Kanal-Jahne nach KommandoalDgabe an ein externes Peripheriegerät.
Diese Methode schließt ein, daß die Rechenmaschine die Peripherie steuern muß. Das soll heißen, daß die Maschine die Indirektadressen-und Steuerbefähigung.(CEO) von dem "I/O Register- und Gatter-Zwischenanpassungs-" Bereich an den Zwischenanpasser überträgt, wobei eine von der Peripherie über den Zwischenanpasser an das I/O Register zurückkehrende Information erwartet wird. Wegen dieses Erwartungszustandes können während der Wartezeit nur begrenzte Instruktionen von der Maschine durchgeführt werden.Während dieser Wartezeit muß die Serviceanforderung-Methode gesperrt sein, so daß die Eingabeinformation nicht durch ein anderes, eine Serviceanforderung benutzendes Peripheriegerät zerstört wird.
Wenn ein gesteuertes Peripheriegerät antwortet, werden seine Fahne und seine Daten an dem Zwischenanpasser bearbeitet.Das Signal GI1I (Kanal-Ifahne drin) veranlasst die Einspeicherung von Paralleldaten von dem Zwischenanpasser in das I/O Register und klärt das Steuer-Befähigungs-Flip-Flop, so daß das CEO Signal von dem Zwischenanpasser weggenommen wird. Mit den Instruktionen SFS 0 1 oder SFC 0 1 kann die Maschine das Steuer-Befähigungs-Flip-Flop abfragen, um festzustellen, ob Daten eingespeichert wurden.
209852/1005
c) Geben der I/O Instruktion STI 01.
Wie unter a) beschrieben, setzt die Instruktion STF 01 das Serv:! ee-Sperr-Flip-Flop, welches die Serviceanforderung-Eingabebetriebsart sperrt. Die STF 01 Instruktion veranlasst auch eine Paralleleingabe der Eingabeleitungen in das I/O Register.
Das I/O Register wird zur Daten- und Steuerübertragung zwischen der Rechenmaschine und dem direkt adressierbaren Magnetkartenleser (Adresse 02) benutzt. Zur Aufzeichnung von Information auf einer Karte werden das Steuerwort und die Daten von dem Α-Register an das I/O Register übertragen". Die I/O Instruktion STG 02 taktet diese Information über MLS in eine an dem Kartenleser angeordnete Falle (latch). Das Markierungsfenster-Bit für die aufgezeichneten Daten ist das Ausgangssignal von dem B-Register an das I/O Register. Die I/O Instruktion STF 02 taktet die an dem Kartenleser gelegene Markierungs-Falle über MGR. Die I/O Instruktion STF 01 speichert den Zustand von dem Kartenleser in das I/O Register (siehe 1 - C). Dieser Zustand wird an das A- oder B-Register übertragen, wo er verarbeitet wird.
Um Informationen von dem Magnetkartenleser einzugeben, wird wie oben ein Steuerwort von dem Α-Register an die Fangvorrichtung des Kartenlesers übertragen. Wenn ein Markierungsfenster von der Karte angetroffen wird, sendet der Kartenleser ein Signal MFL an den I/O-Register- und Gatter-Zwischenanpassung sb er ei cn, welches das Flip-Flop der Magnetkartenfahne
209852/1005
setzt. Um den Zustand des Magnetkartenfahnen-Flip-Flops zu bestimmen, wird die I/O Instruktion SFS 02 benutzt. Wenn das Flip-Flop gesetzt ist, werden die Daten mit der I/O Instruktion STF 01 in das I/O Register eingespeichert.
Der direkt adressierbare Ausgabedrucker (Adresse 04) benötigt 26 Bit einer Parallelinformation von der Rechenmaschine. 16 Bit kommen von dem I/O Register und 10 Bit kommen von dem a-Register zu dem Drucker. Mit der I/O Instruktion OTX 01 wird ein 16-Bit Wort an das I/O Register übertragen, dessen 6 unbedeutendste Bit "keine Sorge machen". Ein zweites 16-Bit Wort wird mit der Instruktion OTX 04 an das I/O Register übertragen. Die 10 stichhaltigen Druckerbit, die schon in dem I/O Register enthalten sind, fließen in das 10-Bit Register des Druckers über. Die Bedeutung der Adresse 04 in der OTX Instruktion liegt darin, daß sie der Makroinstruktion EOW (Ende des Wortes) erlaubt, nach der Übertragung des 16ten Bits das Befähigungs-Flip-Flop des Druckers zu setzen. Am Ende der Druckerantwort wird ein Signal (PTF) an das Befähigungs-Flip-Flop des Druckers gegeben, welches dieses klärt. Das Befähigungs-Flip-Flop des Druckers kann auch mit der I/O Instruktion CLF 04 geklärt werden. Der Zustand dieses Flip-Flops wird mit den I/O Instruktionen SFC 04 oder SFS 04 geprüft.
Die direkt adressierbare Ausgabe-Anzeige (Adresse 08) empfängt Information von dem I/O Register. Mit der Instruktion OTX 08 wird ein 16-Bit Wort an das I/O Register übertragen.Die Adresse 08 ermöglicht das Setzen des Befähigungs-Flip-Flops
209852/1005
der Anzeige, wobei die Mikroinstruktion EOW nach dem 16ten Bit übertragen wurde. Das Befähigungs-Flip-Flop der Anzeige sendet ein Signal DEN an die Anzeigevorrichtung, welches anzeigt, daß die Information in dem I/O Register bereit ist. Mit der I/O Instruktion CLP 08 wird dieses Flip-Flop geklärt.
Die direkt adressierbaren Anzeigelampen der Tastatur (Adresse 16) dienen der Betriebsartenanzeige verschiedener Tasten. Die Anzeigelampen werden von einer Fangeinrichtung oder einer Reihe von Fangeinrichtungen betrieben, welche' Informationen aus dem I/O Register erhalten. Mit der I/O Instruktion OTX 16 wird Information an das I/O Register übertragen. Nach der Übertragung des 16ten Bits senden die Mikroinstruktion EOW und die Adresse 16 ein Signal KLS, welches die Information aus demI/O Register in die Fangeinrichtung der Tastatur-Lampen einblendet.
Die Tastatur hat keine Adresse.Sie überträgt Information an den zentralen Rechner (CPU) durch das I/O Register unter Anwendung der oben unter ,(a) beschriebenen Serviceanforderungs-Methode. Während das Service-Sperr-Flip-Flop gesetzt ist, ist die Tastatur unfähig geschaltet mit Ausnahme der Stop-Taste, welche beim Drücken derselben das Signal STP sendet, welches unabhängig von dem Service-Sperr-Flip-Flop verarbeitet wird.
209852/1005
Alle externen peripheren Zwischenanpasser (Interfaces) werden von den vier bedeutendsten Bits des I/O Registers adressiert. Somit muß zum Verkehr mit einem externen Peripheriegerät eine Adresse (ausgenommen 0000 ) in das I/O Register eingespeichert werden. Wenn das Peripheriegerät als ein Empfänger arbeitet,werden Daten und Zustand zur gleichen Zeit eingespeichert. Wenn das Peripheriegerät als ein Übertrager arbeitet, müssen nur die Adresse und der Zustand eingespeichert werden.Als nächstes setzt die I/O Instruktion STC 01 das Steuerbefähigungs-Ausgabe-(Out)Flip-Flop. Dieses Flip-Flop sendet ein Signal CEO an alle Durchgangsöffnungen (slots) der externen Zwischenanpasser. Das CEO Signal und die (aus der 4-Bit Adresse) dekodierte Adresse ermöglichen dem Zwischenanpasser, das Peripheriegerät zu befehligen. Nachdem das Peripheriegerät geantwortet hat, wird die von dem Peripheriegerät an den Zwischenanpasser zurückgegebene Information in der gleichen Weise an das I/O Register gebracht, wie oben unter (b) unter "Rücknahme der Kanal-Fahne nachdem an ein externes Peripheriegerät Kommando gegeben wurde" beschrieben wurde.
Die Gedächtnisse des I/O Registers und der Gatter-Steuer-Schaltung sind in der folgenden Tabelle, gegeben: ·
Die I/O-Register und Gatter-Karte
CEO Steuer-Befähigung-Ausgabe
CFE Kanal-Fahne Eingabe
CLF Klär-Fahne
209852/1005
(Fortsetzung)
CO0 1,2,3 Kode-Ausgabe
DEN Anzeige-Befähigung
D10 1,2,3,4,5,6,7 Dat en-Eingabe
DO0 1,2,3,4,5,6,7 Daten-Ausgabe
DRC D at enregxst er-Takt
EBO? Acht-Bit Übertragung
EOW Ende des Wortes
IOD I/0-Daten
KLS Tastenlampen-Markierungsfenster
MCR Magne tkart enerneue rung
Hfl M agn e tkart en-F ahne
MLS Magnetk.-Fangeinr. -Mark.-Fenster
PEN Drucker befähigt
PÖP Einschaltimpuls
PTF Druckerfahne
00 Qualifizierer Bit 0
Q1 Qualifizierer Bit 1
Q2 Qualifizierer Bit 2
Q3 Qualifizierer Bit 3
Q4 Qualifizierer Bit 4-
OJ1G Qualifizierer Fahne
QNR Qualifizierer nicht angefordert
SIH Service Sperre
810,1,2,3 Zustand Eingabe
800,1,2,3 Zustand Ausgabe
SRA Serviceanforderung Kenntnisnahme
Bsi Service-Markierungsfenster-Eingabe
209852/1005
STC. Setze Steuerung
STP Stop
STF Setze Fahne
T-Bus T-Sammelleitung
TTO T-Sammelleitung zum Ausgang
Anmerkung: ( ) bedeutet negatives echtes Signal
Wie in Fig. 166 gezeigt, bilden die von dem zentralen Rechner (CPU) in die 4- wichtigsten Stellen des I/O Registers eingespeicherten Bits den Peripherieadressen-Kode. Als Bestandteil desAusgabe-Gemeinschaftsleitungssystems gelangt der Adressenkode an alle Durchgangsöffnungen (slots) der I/O Zwischenanpasser. Jede I/O Zwischenanpasser-Karte dekodiert den 4-Leitungs-Adressenkode an eine einzige Enzelleitung zur Verwendung auf dieser einzelnen I/O Karte. Die Binärkodes 10 bis 15 wurden für zugeeignete Peripherieadressen reserviert, die von den zugeeigneten Tasten (der Tastatur) und den zugeeigneten I/O Treibern benutzt werden. Die Binärkodes 1 bis 9 dienen allgemeinen Zwecken. Der Kode "0" ist ein nicht-adressierender Kode und wird bei Operationen benutzt, die kein Adressieren eines bestimmten Peripheriegerätes einschließen. Die folgende Tabelle stellt die Zuordnungen der Adressenkodes zusammen:
209852/1005
Zuordnimg der Adressenkodes
Adresse 4-Bit
Kode
Zugeordnetes Peripheriegerät
15 HHHH Schreibmaschine
14 HHHL Plotter
13 HHLH ·
12 HHLL Tastatur oder Tastatur-ähnliche
Geräte
■ 11 HLHH
10 HLHL
9 HLLH Allgemeine Zwecke;eine von neun wählbar
8 HLLL ti
7 LHHH If
6 LHHL Il
5 LHLH Il
4 LHLL Il
3 LLHH Il
2 LLHL Il
1 LLLH Il
0 ' LLLL Bei Unterbrechung der I/O Zwischenan-
passer-Karten benutzt, wenn die Unter
brechung befähigt wird
Die Allgemeinzweck-Kodes (1 bis 9) sind dekodierte Ausgangssignale eines 4-Leitungs 1 aus 10 Dekoders (z.B. SN ?442).
209852/1005
Es ist "beat)sichtigt, daß die Kodes 1 "bis 9 Schaltdraht-wählbar sind. Dies würde es dem Benutzer ermöglichen, einen Kode für die Peripheriegeräte seines Systems auszuwählen oder mehr als eines, von gleichartigen Peripheriegeräten durch Auswählen unterschiedlicher Adressenkodes zu benutzen.
Weil das I/O Register sowohl zum Verkehr mit den internen· Eingabe-, Eingabe-Ausgabe- und Ausgabe-Geräten als auch zum Verkehr mit den Peripheriegeräten benutzt wird, wird ein gegebener Peripheriegerät-Adressenkode wahllos in dem Adressenfeid des I/O Registers auftreten, wobei keine Absicht besteht, die Antwort eines Peripheriegerätes zu erwarten; deswegen ist ein zweites Informationsstück für die I/O Zwisehenanpasser-Karte erforderlich, um ein einziges Signal zu bilden, welches dem Peripheriegerät anzeigt, zu antworten· Dieses zweite Informationsstück ist eine Steuerinformation und nachstehend beschrieben.
Die I/O Zwischenanpasser-Karten enthalten eine ITL-kompatibele Logik zur Behandlung der Steuerung und der Daten von der Rechenmaschine und/oder dem Peripheriegerät. AiIe I/O Zwischenanpasser-Karten, die mit der Rechenmaschine benutzt werden sollen, müssen entweder auf der I/O 2wisQhenaii|)jiss©r~ Karte oder in dem Peripheriegerät eine. Speicheruiig aufweiten. Somit müssen die von der Rechenmaschine- a& die I/Ö-Kärtie über*· tragenen Daten in dem Moment gespeichert sein, wem* das Peripheriegerät zum Antworten aufgefordert v/ird. Entsprechend müssen die von einem Peripheriegerät kommenden Daten ge-
209852/1005
speichert werden, bis die Rechenmaschine sie annimmt. Dieses Erfordernis ist wichtig und "bei allen kompatibelen Zwischenanpasser-Karten zu betrachten.
Die Rechenmaschine kann bis zu 100 mA bei maximal + 5 V an jede I/O Zwischenanpasser-Karte liefern. Eine Leistung, welche dieses absolute Maximum übersteigt, muß von dem Peripheriegerät aufgebracht werden.
20985 2/10 05
Die Eingabe-Tastatur
Die Eingabe-Tastatur ist in den Figuren 174-175 gezeigt. Sie hat ein kontaktloses Tastenfeld, wie es in der USA-Patentanmeldung, Seriennummer 74,94-9 unter dem Titel · "Noncontacting Keyboard" beschrieben ist, die am 24. September 1970 eingereicht und dem gleichen Zessionar wie die vorliegende Patentanmeldung überschrieben wurde. Das kontaktlose Tastenfeld besteht aus einer Anordnung von gedruckten Transformatoren. Die Sekundärwicklung und die Primärwicklung eines jeden Transformators sind ineinandergeschachtelte, spiralförmige Spulen, wie es in den Figuren 176-177 dargestellt ist. Die Sekundärwicklungen aller Spulen sind zur Bildung der Abtastleitung in Reihe geschaltet. Die Primärwicklungen der Spulen sind in separaten Paaren arrangiert. Jede Spule ist eine Serienanordnung mit gegensinniger Polarität innerhalb ihres Paares, wie in Fig. 178 gezeigt. Jedes Paar hat eine Quellen- und eine Senkenleitung, die durch den Abtaster ausgewählt und getrieben wird.
Über jeder Spule befindet sich eine zentrierte Metallscheibe am Ende des Tastenschaftes. Wenn eine Taste gedruckt wird, nähert sich die Scheibe der Spule. Die Scheibe wirkt als Kurzschlußwindung und reduziert die Koppelung der Spule, wodurch das Paar aus dem Gleichgewicht gebracht wird. Diese Unsymmetrie wird durch den Komparator verstärkt, wenn sie größer als die Betriebs-Vorspannung (on bias) ist. Der Komparator triggert den "einen Schuß", der den Abtaster abschaltet und die Betriebs-Vorspannung senkt. Der Abtaster
209852/1005
verbleibt in seinem derzeitigen Zustand, welcher der Quellen- und der Senkenleitung der gedrückten Taste entspricht. Dieser Zustand ist der Tastenkode der gedrückten Taste. Wenn die
Taste losgelassen wird, zieht eine Feder die Taste und die Scheibe zurück. Wenn die Asymmetrie kleiner als die neue
Vorspannung ist, schaltet der Komparator ab und der Abtaster ist wieder für eine neue Taste bereit. Die beiden Vorspannungs-Pegel bilden die mechanische Hysterese der Taste.
Wenn zwei Tasten gedruckt werden, wird die zuerst unten befindliche eingegeben und solange eine Taste unten ist, kann keine andere eingegeben werden. Eine Ausnahme besteht, wenn die andere Taste ihr Paar ist. In diesem FaIl löschen die
beiden Tasten einander aus.Wenn die erste Taste losgelassen wird, wird die zweite eingegeben. Wenn die erste Taste losgelassen wird, während mehr als eine andere Taste unten ist, so wird die nächste Taste, die eingegeben wird, die nächste in der Abtastfolge, nicht aber notwendigerweise die als
zweite gedrückte Taste sein.
Für die Arbeitsweise der Tastatur muß jedes Primärspulen-Paar symmetrisch sein. Zur Symmetrierung eines Spulenpaares sollten die folgenden Regeln beim Entwurf der gedruckten
Schaltung angewendet werden:
1. Die Abtast- oder Fühlleitungen müssen paarweise
verlraifen. Je enger je besser. Sie sollten dünne Linienzüge sein.
209852/1005
2. Die Fühlwicklungen eines Spulenpaares können irgendwo
innerhalb der Fühlleitung angeordnet sein. Für gute Ergebnisse sollten sie eng "benachbart sein.
3. Soweit möglich sollten Treibleitungen paarweise sein. Quellen- und Senkehleitungen sollten in Gruppen zusammengefaßt und von den Fühlleitungen wohl entfernt sein. Wenn eine Treibleitung eine Fühlleitung kreuzt, sollte es unter rechtem Winkel erfolgen. ^
4. Bei der Verbindung zur Spirale müssen die Windungen (oder Teile von Windungen) einander addieren, nicht subtrahieren. Versuche, zusätzliche Windungen·eines Spiralpaares zu verdoppelnd Die Verbindung zur Spirale soll aus einer Entfernung unter rechtem Winkel erfolgen.
5. Verlege die gemeinsame Verbindung für ein Paar durch einige Entfernung getrennter Spiralen weg von der Fühlleitung und in der Treibgruppierung.
6. Prüfe jedes Spiralpaar auf Fehler in der Treib- oder Fühlpolarität. Dies kann entweder einen ungenauen Kode (unbedeutendstes Digit) oder einen,konstant vollen Ausgang bewirken. Eine Methode zum Prüfen der richtigen Polarität besteht in der Zuordnung einer Stromrichtung sowohl für das Treiben als auch für das Fühlen. Dann prüfe bei jeder Spirale auf richtige Polarität. Dies ist in Fig. 179 dargestellt.
209852/1005
Die Ausgabe-Anzeige-Einheit
Wie in den Figuren 183 bis 184 gezeigt, umfaßt die Anzeige-Einheit drei ^-Schriftzeichen Reihen von lichtemittierenden 7-Segment Diodenanordnungen. Jede Anordnung erfordert einen Anodentreiber für jedes ihrer 7 Segmente und einen für das Dezimalkomma. Die Kathoden sind allen Dioden eines Schriftzeichens gemeinsam. Die entsprechenden Anoden für die Schriftzeichen eines Registers sind zusammen an einen (Treiber geknüpft. Ein PNP-Serientransistor befähigt einen von drei Sätzen von acht Anodentreibern. Die Kathoden einer Spalte von drei Schriftzeichen sind auf eine von fünfzehn Kathodentreibern geschaltet.
Die erforderlichen Daten zur Betätigung der Anzeige sind wie folgt:
1. Vier Bit zur Bestimmung der zu befähigenden Spalte.
2. Eines von drei Bit zur Bestimmung des Registers.
3. Acht Bit zur Bestimmung der Dioden eines Buchstabens
der aufleuchten soll.
4. Eine Leitung zur Befähigung der Anzeige, wenn die Daten
präsent sind.
Der Arbeitszyklus beträgt weniger als 1/45, was Impulse von einem höheren Strom erfordert als ein Schriftzeichen ständig auszuhälte-i vermag. Bei jedem Anzeige-Befähigungsimpuls wird ein neu trip;gerbarer "Einzelschuß" gezündet und sperrt die Spaltentreiber nach 1/2 ms, wenn die Maschine aufhängt.
208852/1005
Die Magnetkarten-Lese- und Schreibeinrichtung
Die Magnetkarten-Lese- und Schreibeinrichtung ist in dem Blockbild der Pig. 180 und in dem detaillierten Schema der Fig. 181 gezeigt. Die Art, in welcher sie mit der Eechenmaschine zusammenarbeitet und wie sie gesicherte und ungesicherte Programme aufzeichnet und einspeichert und separat Daten aufzeichnet und einspeichert, ist in dem Blockbild der Fig. 182, den Flußdiagrammen der Figuren 60-61 und 63-65 und in dem Speicherplan der Fig. 62 dargestellt.
Die Arbeitsweise des Kartenlesers ist weitgehend automatisch. Es ist nur notwendig, die Operationsart und die gewünschten Grenzen zu definieren. Diese Kommandos werden über die Tastatur der Maschine eingegeben. Die Rechenmaschine.bestimmt dann die notwendigen Kommandos, die erforderlich sind, um den Magnetkartenleser zur Durchführung der gewünschten Operation zu veranlassen.
Es sind verschiedene Operationsarten möglich. Es können Programme auf Magnetkarten aufgezeichnet und -in die Maschine rückgespeichert werden. In ähnlicher Weise können Programmund Dateninformationen aufgezeichnet und eingespeichert werden oder auch Daten alleine. Sehr lange Programme oder Datenblöcke können auf mehreren Karten gespeichert werden. Die Information wird in die Maschine zurückgespeichert durch Eingeben der Karten in das Lesegerät in der gleichen Folge,
209852/1005
wie sie aufgezeichnet wurden. Die richtige Führung der auf den Karten gespeicherten Information wird durch die Maschine automatisch durchgeführt.
Die Information wird auf der Magnetkarte in 3-Bit-Gruppen (bytes) gespeichert. Drei Spuren zeichnen Information auf und eine vierte Spur liefert eine Zeitmarkierung. Zwei Gruppen bilden 6-Bit Worte in der Rechenmaschine. Unabhängig von der Länge der benutzten Karte beginnt und beendet der Kartenleser die Aufzeichnung automatisch. Karten unterschiedlicher Länge können mit einander gemischt werden, ohne daß die Arbeitsweise des Lesegerätes gestört würde. Es können auch Karten der einen Rechenmaschine in einer anderen benutzt werden.
In dem Kartenleser werden keine mechanischen Schalter benutzt. Die einzigen bewegten Teile sind der Antriebsmotor und die Kartentrommel. Die mechanischen und die elektronischen Baugruppen sind als Module ausgebildet und können als separate und unabhängige Einheiten innerhalb der Rechenmaschine ausgewechselt werden.
Der Ausgabe-Drucker Zur Erzeugung gedruckter Schriftzeichen durch thermische
Mittel wurden schon verschiedene Methoden beschrieben (siehe
ν insbesondere USA-Patentschrift 3-161.457» die an H.Schroeder
209852/ 1 005
und andere erteilt wurde), die jedoch üblicherweise eine rechteckige Widerstands-Matrix verwenden, um ein gesamtes Schriftzeichen gleichzeitig zu bilden. Käufliche Versionen dieser Druckerart wurden von National Gash Register und Texas Instruments auf den Markt gebracht wurden. Wie in Schroeder's Patent "beschriet»en, wird üblicherweise eine fünf Elemente breite und sieben Elemente hohe Matrix verwendet .
Die Bauart des in der vorliegenden Rechenmaschine verwendeten Ausgabe-Druckers ist in den Figuren 185-191 dargestellt. Er umfaßt eine Reihe von Druckelementen, die zum' Drucken einer 16-Schriftzeichen-Zeile linear über einen Druckkopf verteilt sind, wie in E1Ig. 188 gezeigt. Jedes Druckelement ist ein elektrischer Widerstand, dessen Größe und Gestaltung geeignet sind, um einen Punkt auf einem wärmeempfindlichen Papier herzustellen,.welches unter rechtem Winkel zur Zeile der Druckelemente bewegt wird. Die Punkte oder Abdrucke v/erden in der üblichen Art gebildet, indem dem Widerstandselement ein elektrischer Stromimpuls zugeführt wird, der seine Temperatur durch Joul'sche Erwärmung steigert.
Jedes der sechzehn Schriftzeichen einer Zeile wird in einer 5x7 Punkte Matrix gebildet. So wird beispielsweise, wie in Fig. 192 gezeigt, der Buchstabe A durch Abdrucken der dunklen Punkte in der.oberen Reihe, dem sich schrittweise die nächst untere Reihe usw. anschließen, gebildet.
209852/1005
- 490 -
Jede Druckzelle enthält sechzehn 5x7 Matrizen. Diese Matrizen sind aus sieben Eeihen zu 80 Punkten gebildet, die in 5-Punk.te-Gruppen eingeteilt sind, wodurch sechzehn Schriftzeichen gebildet werden. Der Drucker erzeugt jede Druckzelle durch Abdrucken der obersten Reihe sämtlicher sechzehn Schriftzeichen und anschließendes Weitergehen in die Druckreihe 2 bis alle sieben Reihen gedruckt sind. Dann folgen drei freibleibende Schritte, wodurch der Zwischenraum zwischen den Zeilen gebildet wird.
Jede der sieben Druckreihen enthält 80 Punkte (5 für jedes der sechzehn Schriftzeichen), die gedruckt oder nicht gedruckt werden können. Hieraus ergibt sich,daß achtzig Informationsbits für jede Druckreihe erforderlich sind. Hierzu ist jede Reihe in vier Gruppen von zwanzig Punkten (vier Schriftzeichen) eingeteilt.(Weil das I/O Register der Rechenmaschine nur. sechzehn Bits lang ist, ist in der maschinenseitigen Ausrüstung des Druckers ein besonderes 10-Bit Schieberegister enthalten.) Jede 20-Bit Gruppe wird durch das I/O Register mit der Gruppennummer an den Drucker übertragen und gedruckt, wenn das Drucker-Befähigungssignal gegeben wird. Daraufhin druckt der Drucker diese Gruppe von Punkten und gibt ein Druckfahnen-Signal an die Rechenmaschine zurück. Daraufhin wird die nächste Informationsgruppe geliefert, bis sämtliche 28 Gruppen gedruckt sind. Daraufhin v/erden die drei Schrittkommandos gegeben, um den Zwischenraum zwischen den Zeilen zu erzeiigen.
209852/ 1005
H55
Der Drucker benötigt folgende Informationen, um eine Funktegruppe zu drucken:
1) Die zu druckenden Punkte,
2) die Gruppennummer, und
3) die Druckbefähigung.
Wie in dem Flußdiagramm der IPig. 193 gezeigt und beschrieben, wird diese Information über das I/O Register des Rechners an den Drucker übertragen. Da die Gesamtzahl der benötigten Informationsbits größer ist als die Länge des I/O Registers, werden zwei 16-Bit V/orte an den Drucker übertragen. Das erste 16-Bit Wort enthält die Punkte-Vorlagen für die Schriftzeichen 1 und 2, wie es in der folgenden Tabelle gezeigt ist:
Inhalt des I/O-Registers nach der ersten Ladung Schriftzeichen 2 Schriftzeichen 1
L H
Pkt
R H
Pkt
L HJ-
Pkt j
RH
Pkt
0 0 - 0 0 0 0
C03 C02 C01 GO0 S03 S02 SÖ1 SO0 DO? D06 D05 D04 D03 D02 D01 DO0
0 - "macht keine Sorge"
Der Buchstabe 1 ist in den Bits S02-S00 und D07, D06 enthalten, wobei sich der linke Punkt in dem Bit S02 und der rechte Punkt in dom Bit D06 befinden. Der Buchstabe 2 ist in den Bits C03-C00 und S03 enthalten, wobei der linke Punkt in dem Bit C03 und der rechte Punkt in dem Bit S03 enthalten ist.
,209852/1005
M56
Wenn das I/O Register mit dem zweiten 16-Bit Wort geladen ist, erscheinen diese Bits in dem internen 1O-Bit Schieberegister. Das zweite 16-Bit Wort enthält die Punktevorlagen für die Buchstaben 3 und 4 und die Gruppennummer, wie in der folgenden Tabelle gezeigt ist:
I/O Register nach der zweiten Ladung
Schriftzeichen 4 Schriftzeichen L H
Pkt
- 3 R H
Pkt
0 0 0 0 Gruppe O
1
O
1
L H
Pkt
R H
Pkt
0
O
1
1
CO3 C02 CO1 CO0 SO3 S02 S01 SO0 D07 D06 D05 DO4 D03 D02 DO1 DO0
0 - "macht keine Sorge"
Das Schriftzeichen 3 ist in den Bits S02-S00 und D07, D06 enthalten, wobei sich der linke Punkt in dem Bit S02 und ■der rechte Punkt in dem Bit D06 befinden. Das Schriftzeichen 4 ist in den Bits CO3-COO und S03 enthalten, wobei sich der 'linke Punkt in dem Bit C03 und der rechte Punkt in dem Bit S03 befinden. Die Gruppennummer befindet sich in den Bits DOO und D02. Die Gruppen sind wie folgt numeriert:
Gruppe
Gedruckte Schriftzeichen von links nach rechts
1 , 1, 2, 3, 4 12
2 5, 6, 7, 8 16
3 9, 10, 1 1,
4 13, 14 15,
D01 DOO
0 0
0 1
1 I
0
1 1
209852/ 1005
Wenn die Gruppe 4- erfaßt ist, schreitet der Drucker automatisch zur nächsten.Zeile fort. Das Zeitintervalll zwischen Drucker-Befähigung und der Rücknahme der Drucker-Fahne hat eine Ausdehnung,die dem System die physikalische Bewegung erlaubt.
Die Druckgeschwindigkeit ergibt sich aus folgender Tabellen-Übersicht:
Gruppe 1 8 ms
Gruppe 2 8 ms
Gruppe 3 8 ms
Gruppe 4 18 ms
Reihe 1 4-2 ms
Reihe 2 42 ms
Reihe 5 4-2 ms
Reihe 4· 42 ms
Reihe 5 4-2 ms
Reihe 6 4-2 ms
Reihe 7 42 ms
Zwi s chenraum 18 ms
Zwischenraum 18 ms
Zwischenraum 18 ms
Gesamtzeit zum Drucken
einer Zeile J48 ms
Zeilen pro Sekunde 2,87
209852/1005
M5S
V/ie in Pig. 186 gezeigt, wird das Papier in den Ausgabe-Drucker eingesetzt durch Anheben des Drahtkorb-Deckels 220 und Einsetzen einer Papierrolle 222, wobei das freie Ende derselben dem aus der vorderen und der hinteren Korbhälfte 224 bzw. 226 zusammengesetzten Korb zugekehrt ist. Das einzige, worauf der Benutzer achten muß ist,daß sich die Rolle vom. Boden aus nach vorne abrollt. Der Korbdeckel hat eine Doppelfunktion, nämlich während des Ladens das freie Ende des Papiers in dem Korb zu halten und nachdem das Papier geladen ist, hindert er das freie Ende daran, sich selbst durch den Mechanismus neu zu laden.
Daraufhin spannt das Gewicht des Papiers die Gummiriemen und die Papierrolle rollt vorwärts bis sie an der Papierführung 230 anliegt. Die Papierrolle rollt vorwärts infolge der "talwärtigen" Krümmung des Riemens von der Oberseite der hinteren Riemenleitrolle 232 zum Boden der Papierführung. Wenn die Papierrolle die oben beschriebene Position eingenommen hat und sich die Riemen vorwärts bewegen, wird das freie Papierende von den Riemen, der Papierführung und der Rolle gezwungen, unter der Papierführung her und zwischen dieser und den Riemen durchzulaufen.
Die Riemen werden von der Treibrolle 2J4 angetrieben, welche wiederum über ein Getriebe von einer Walze 2J6 getrieben wird. Die Walze wird von einem Motor 2J8 über einen Riementrieb angetrieben. Der Durchmesser* und die Geschwindigkeit
209852/ 1 005
der Walze sind derart bemessen, daß ihre Umfangsgeschwindigkeit ungefähr 5% höher ist als die der Riemen, wodurch sichergestellt wird, daß das Papier nach dem Einspannen immer unter Spannung "bleibt. Die Antriebs- und die hintere Riemenleitrolle sind ballig ausgestaltet, so daß sich die Riemen selbst zentrieren. Die vordere Riemenleitrolle 240 ist flach und hält den unteren Teil des Riemens von dem · Korbbereich weg.
Der Druck-Kopf 242 wird mittels einer Feder gegen das Papier und die Antriebswalze gdrückt; deswegen ist es notwendig, den Druck-Kopf während des Nachladens des Papiers zu entfernen, Dies erfolgt durch den Kopfanheber und Papierableiter 244 derart, daß er, wenn er auf seiner Achse gedreht wird, den Druck-Kopf von der Walze abnimmt und eine kleine Platte in den Papierweg positioniert, welche das Papier nach oben zwischen die Walze und den Druck-Kopf leitet.
Während des Nachladens und während der Drucker arbeitet, wird das Papier durch Kantenführung durch den Mechanismus geleitet. Üblicherweise spannt sich Papier wegen seiner sehr geringen Druckkräfte nicht genug für eine Kantenführung. Um dies zu überwinden, wird das Papier um die gewölbte Bodenfläche der Papierführung geschlagen und der Riemen, der unter Spannung ist, verläuft recht nahe der Kante, wodurch das Papier daran gehindert wird, sich zu verwerfen. Der Zusammenhang von Papier, Papierführung und den Riemen ist in einem Ausschnitt AA dargestellt, der in Pig. 186 wiedergegeben ist.
209852/1005: ,"
Bei Auswahl der Materialien für die verschiedenen Teile der Papierlade-Mechanik ist darauf zu achten, daß die Reibkoeffizienten zwischen den verschiedenen Teilen kompatibel sind. So sollte der Koeffizient zwischen dem Papier und der Papierführung relativ niedrig sein in bezug auf den Koeffizienten zwischen dem Papier und den Treibriemen, damit die Riemen das Papier durch den Mechanismus ziehen können. Ähnlich sollte der Koeffizient zwischen dem Papier und der Walze groß in bezug auf den Koeffizienten zwischen dem Druck-Kopf und dem Papier sein, damit das Papier während des Drückens angetrieben werden kann. Zusätzlich sollte die von dem Riemen und der Papierführung eingebrachte Zugkraft in Anbetracht dessen, daß sich das Papier während des Drückens schneller bewegt als der Riemen, nicht so groß sein, daß das Papier einreißen kann oder eine unvertretbare Belastung für den Motor entsteht.
Die rechte Hälfte der oberen Deckelplatte 90 des Rechenmaschinen-Gehäuses ist an der Rückseite angelenkt und vorne mit einer Handhabe 246 versehen, so daß sie leicht von dem Benutzer angehoben und in einer geeigneten aufrechten Position angehalten werden kann zum Freilegen und leichten Ersetzen des Vorrates an wärmeempfindlichen Papier für den Ausgabedrucker, wobei er auch als eine Art Musikständer zum Pesthalten von Programmablauf-Instruktionen oder anderem von dem Benutzer gewünschten Material dienen kann. Zur Aufbewahrung derartiger Dinge ist auf der Unterseite der angelenkten rechten Hälfte dos oberen Deckels 90 ein Behälter
aus durchsichtigein Kunststoff vorgesehen.
209852/1005

Claims (1)

  1. Pat entansprüche
    ."^Elektronische Rechenmaschine mit einer Eingabe-Einheit zur Eingabe von Information in die Maschine, einer ersten Speicher-Einheit,in welche Information eingeschrieben und aus welcher Information gelesen werden kann, mit einer zweiten Speicher-Einheit in Modulform zur Speicherung von Programmen und Unterprogrammen,die zur Durchführung gewählter Rechnungen von der Maschine durchzuführen sind, mit Verarbeitungsmitteln, die auf die Information von der Eingabe-Einheit oder ersten Speicher-Einheit und auf Operationszustände innerhalb der Maschine selbst ansprechen zur wahlweisen Durchführung einer oder mehrerer der in der zweiten, modulförmigen Speicher-Einheit gespeicherten Programme oder Unterprogramme, um unter Benutzung von Daten aus der Eingabe- und/oder der ersten Speicher-Einheit gewählte Rechnungen durchzuführen und zur Abgabe einer Ausgangsanzeige der Resultate solcher Rechnungen, dadurch gekennzeichnet,daß zusätzliche zweite Speichermodule vorgesehen sind, die durch den Benutzer lösbar in die Maschine eingefügt werden können und die Anzahl der durchführbaren Programme und Unterprogramme steigern. .
    2. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet, daß die erste Speicher-Einheit einen ersten Bereich zur Speicherung von Daten und einen zweiten, separaten Bereich zur Speicherung von Programmabschnitten enthält und daß
    209852/1005
    der erste und der zweite Bereich der ersten Speicher-Einheit separat intern ausdehnbar sind, um die Daten oder die Programmschritt-Speicherkapazität der ersten Speicher-Einheit zu steigern.
    3. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet, daß die Verarbeitungsmittel zur Durchführung von sowohl direkten als auch indirekten Rechnungen in beiden Richtungen zwischen mehreren Arbeitsrögistern in der ersten Speicher-Einheit und mehreren Speicherregistern in der ersten Speicher-Einheit ausgestaltet sind.
    209852/1005
    Hewlett-Packard Company Case 656
    8. Juni 1972
    Patentansprüche
    1. Elektronische Rechenmaschine mit einer Eingangseinheit
    zur Eingabe von Informationen in die Rechenmaschine, einer ersten Speichereinheit, in welche Information eingelesen und aus welcher Information ausgelesen werden kann, einer zweiten modularen Speichereinheit zum Speichern von Programmen und Unterprogrammen, die durch die Rechenmaschine bei der Ausführung ausgewählter Berechnungen ausgeführt werden sollen und eine auf die Information von der Eingangseinheit oder der ersten Speichereinheit und auf Betriebszustände in der Rechenmaschine selbst ansprechende Recheneinheit zur wahlweisen Ausführung von einem oder mehreren Programmen und Unterprogrammen, die in der modularen zweiten Speichereinheit gespeichert sind, um eine ausgewählte Berechnung unter Verwendung von Daten der Eingangseinheit und/oder der ersten Speichereinheiten auszuführen und eine Ausgangsanzeige der Ergebnisse dieser Berechnungen zu ergeben, dadurch gekennzeichnet , daß vorgesehen ist, daß die Bedienungsperson zusätzlich zweite Speichereinschübe in die Rechenmaschine lösbar einstecken kann, welche derart aufgebaut sind, daß die Anzahl der von der Rechenmaschine ausführbaren Programme und Unterprogramme vergrößert ist.
    209852/1005
    2. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß die erste Speichereinheit einen Abschnitt zum Speichern von Daten und einen getrennten Abschnitt zum Speichern von Programmschritten aufweist und die ersten und zweiten Abschnitte der ersten Speichereinheit intern getrennt ausgedehnt werden können, um die Speicherkapazität der ersten Speichereinheit für Daten oder Programmschritte zu erweitern.
    3. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß die Recheneinheit in beiden -Richtungen sowohl direkte als auch indirekte arithmetische Operationen zwischen mehreren Arbeitsregistern in der ersten Speichereinheit und mehreren Speicherregistern in der ersten Speichereinheit ausführen kann.
    4. Rechenmaschine nach-Anspruch 1, dadurch gekennzeichnet , daß die Speichereinheit eine Tastatur mit definierbaren Tasten aufweist, so daß die Bedienungsperson spezielle Funktionen bezeichnen kann, die durch die Rechenmaschine ausgeführt werden sollen, und die Rechen-· maschine eine Einrichtung zum Schützen dieser speziellen Funktionen gegen unerwünschte Änderung oder Zerstörung aufweist.
    5. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet/ daß die Recheneinrichtung für indirekte
    209852/ 1 005
    Adressierung zwischen mehreren Arbeitsregistern in der ersten Speichereinheit und mehreren Speicherregistern in der ersten Speichereinheit eingerichtet ist.
    6. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß die Eingangseinrichtung eine Tastatur mit einer Spezialtaste zur Einstellung der Rechenmaschine aufweist, die symbolische und absolute Adressen zur Zuordnung mit verschiedenen Programmdaten aufweist, die in mehreren Speicherregistern in der ersten Speichereinheit enthalten sind, so daß Programmsprünge und Unterprogrammaufrufe an solche Adressen möglich sind.
    7. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß die Recheneinheit sowohl direkte als auch indirekte Speicherung, Abrufung und einen Austausch zwischen mehreren Arbeitsregistern in der ersten Speichereinheit und mehreren Speicherregistern in der ersten Speichereinheit gestattet.
    8. Rechenmaschine nach Anspruch 1, dadurch g e k e η η zeichnet , daß die zweite Speichereinheit mehrere Speicherregister aufweist, die an ihren Eingängen kodiert werden können, so daß sie seriell binäre arithmetische Operationen, parallele binär/dezimalkodierte arithmetische Operationen und logische Operationen ausführen kann.
    209852/ 1005
    9. Rechenmaschine nach Anspruch 2, dadurch gekennzeichnet , daß eine magnetische Ablese- und Auf--Zeichnungseinheit zur getrennten Aufzeichnung auf einem externen magnetischen Aufzeichnungsglied für Programme und Daten vorgesehen ist, die in dem Speicher gespeichert sind, so daß nachfolgend solche Information in die Rechenmaschine von dem externen magnetischen Aufzeichnungsglied zurückgeführt werden kann.
    10. Rechenmaschine nach Anspruch 9, dadurch gekennzeichnet., daß die erste Speichereinheit und die magnetische Ablese- und Aufzeichnungseinheit eine Logikeinheit aufweist, die es der Bedienungsperson gestattet, jedes in dem Rechner gespeicherte Programm als sicher zu bezeichnen, wenn es auf dem externen magnetischen Aufzeichnungsglied zur nachfolgenden Rückkehr in die Rechenmaschine gespeichert ist, so daß die Bedienungsperson daran gehindert wird, irgendein sicheres Programm nochmals aufzuzeichnen oder irgendeine Anzeige ihrer einzelnen Programmschritte zu erhalten, nachdem das Programm einmal in die Rechenmaschine
    rückgeführt ist.
    11. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß sie eine Ausgangsdruckeinheit und eine Logikeinheit aufweist, die in einem modularen Abschnitt der zweiten Speichereinheit enthalten ist, so daß nichtalphabetische Tasten auf einer Eingangstastatur verschiedenen
    209852/ 1 005
    alphabetischen Schriftzeichen zugeordnet werden und der Ausgangsdrucker jedes alphabetische und numerische Zeichen und andere Symbole individuell und mit Text versehen ausdrucken kann.
    12. Rechenmaschine nach Anspruch 11, dadurch gekennzeichnet., daß die in einem modularen Abschnitt der zweiten Speichereinheit gespeicherte Logikeinheit das Ausdrucken von numerischer und Erinnerungsinformation jeder Eingabe in Form einer Tastenliste ausdruckt.
    13. Rechenmaschine nach Anspruch 11, dadurch g e k e η η zeichnet , daß die Recheneinheit und die Druckeinheit derart beschaffen sind, daß sie eine numerische Darstellung jeder numerischen Eingangsdaten, das berechnete numerische Ergebnis und eine Kennzeichnung drucken, welche jeden numerischen Eingangswert von jedem berechneten numerischen Ergebnis unterscheidet.
    14. Rechenmaschine nach Anspruch 11, dadurch gekennzeichnet , daß die Recheneinheit und die Druckeinheit derart beschaffen sind, daß sie sowohl numerische Angaben als auch Erinnerungsangaben für jeden Schritt in einem in der Rechenmaschine gespeicherten Programm und eine numerische Angabe der Adresse jedes Programmschrittes in einer Programmliste ausdrucken.
    209852/1005
    15. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß eine Tastatur mit einer speziellen, der Programmausgabe zugeordneten Taste vorgesehen ist,
    ■ in einem modularen Abschnitt der zweiten Speichereinheit eine Logikeinheit gespeichert ist, die auf die erste spezielle Taste anspricht und der Bedienungsperson gestattet, an irgendeiner von ihr bezeichneten Adresse eine Programmstufe einzusetzen oder zu löschen.
    16. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß eine Tastatur mit einer zweiten speziellen, der Programmausgabe zugeordneten Taste vorgesehen ist, und e-ine Logikeinheit in einem modularen Abschnitt der zweiten Speichereinheit vorgesehen ist, die auf die zweite spezielle Taste anspricht, so daß die Bedienungsperson jedes Auftreten eines speziellen Programmschrittes in einem besonderen· Programm lokalisieren und optisch beobachten kann.
    17. Rechenmaschine nach Anspruch 1, dadurch gekennzeichnet , daß die Recheneinheit und die erste · Speichereinheit derart beschaffen sind, daß die Bedienungsperson in einzelnen Schritten in ein intern gespeichertes Programm in einem Programmeingangsberrieb vorwärts und rückwärts weiterschal ten kann, um das Programm zu prüfen und schrittweise das Programm in einer programmgesteuerten Betriebsart zu durchfahren und die Programmdurchführung zu
    prüfen.
    209852/1005
    18. Rechenmaschine nach Anspruch 16, dadurch gekennzeichnet , daß eine Ausgangsanzeigeeinheit vorgesehen ist und die Recheneinheit und die erste Speichereinheit derart aufgebaut sind, daß sie auf der Ausgangsanzeigeeinheit die gegenwärtig vorhandene Programmstufe und die nächste Programmstufe darstellt, während durch ein in der Rechenmaschine gespeichertes Programm in einzelnen Schritten vorwärts-und rückwärts-geschaltet wird.
    19. Thermischer Drucker zum gleichzeitigen Drucken einer Reihe von einem oder mehreren Zeichen a'uf einem wärmeempfind liehen Aufzeichnungsmedium, wobei jedes Zeichen in einer Punktematrix aus Reihen und Spalten dargestellt wird, dadurch gekennzeichnet , daß ein stationärer Druckkopf vorgesehen ist, der eine Anzahl linear darauf angeordneter Widerstandselemente aufweist, die Anzahl gleich dem Produkt der Anzahl der Spalten pro Zeichen und der Anzahl der Zeichenpositionen' pro Zeile ist, eine Einrichtung zur inkrementalen Weiterschaltung des wärmeempfindlichen Aufzeichnungsmediums vorgesehen ist, um nacheinander Punktinformation in jeder der einer besonderen Zeile aus einem oder mehreren Zeichen^ zugeordneten Reihe zu drucken und eine Einrichtung vorgesehen ist, die auf eine Quelle für zu druckende Zeicheninformation anspricht, so daß wahlweise die Wiederstandselemente gespeist werden und die für jede Reihe in jeder Zeile erforderlichen Punkte drucken.
    2 0 9 B 5 2 / 1Ό 0 5
    20. Drucker nach Anspruch 19, dadurch gekennzeichnet, daß die Einrichtung zur inkrementalen Weiterschaltung des lärmempfindlichen Aufzeichnungsmediums einen Schrittmotor aufweist.
    21. Mechanismus zur automatischen Abgabe und Führung von Papier von einer Rolle, gekennzeichnet durch einen das Papier haltenden Behälter mit einer Öffnung in dessen Bodenende, einen nahe der Öffnung in dem Bodenende des Behälters enthaltenen Riemen zur Aufnahme einer Papierrolle und zur Reibungssteuerung der Bewegung der Rolle, ein Papierführungs- und Ablenkungsglied mit einem Ablenkungsabschnit.t, welches in den Hohlraum des Behälters hervorragt, und einem Führungsabschnitt, welcher den Riemen berührt und das Papier zwischen den Riemen und der Führung laufen läßt und eine Einrichtung zum Antrieb des Riemens.
    22. Mechanismus nach Anspruch 21, dadurch gekennzeichnet , daß ein Paar Riemen neben der Öffnung im Boden des Behälters angeordnet ist und die Pcipierrolle neben ihren Enden berührt.
    23. Mechanismus nach Anspruch 21, dadurch gekennzeichnet , daß über dem oberen Ende des Behälters ein Deckel vorgesehen ist, der das freie Ende der Papierinnenseite des Behälters während der Papeirabga.oe ':.-■:./,eckt und verhindert, daß das freie Ende sich selbst wieder durch den Mechanismus während des nachfolgenden Betriebes beschickt.
    209852/1005
    24. Mechanismus nach Anspruch 21, dadurch g e k e η η zeichnet , daß die Papierführung und das Ablenkungsglied eine konvexe Fläche zur Berührung des Papiers und des Riemens hat, so daß das Papier verstärkt ist, indem ' es gezwungen ist, einen gekrümmten Weg zu folgen.
    25. Mechanismus nach Anspruch 22, dadurch gekennzeichnet , daß über dem oberen Ende des Behälters ein Deckel vorgesehen ist, um das freie Ende des Papiers innerhalb des Behälters während der Beschickung zu halten und zu verhindern, daß das freie Ende sich wieder durch den Mechanismus während des nachfolgenden Betriebes selbst beschickt.
    26. Mechanismus nach Anspruch 22, dadurch gekennzeichnet, daß das Papierführungs- und Ablenkungsglied eine konvexe Fläche zur Berührung des Papiers und der Riemen aufweist, so daß das Papier verstärkt ist, indem es gezwungen wird, einen gekrümmten Weg zu folgen.
    27. Synchrone Folgesteuerungseinrichtung zur Ausführung einer vorbestimmten Folge von logischen Zuständen, gekennzeichnet , durch eine Gattereinrichtung zur Aufnahme von Adressen der logischen auszuführenden Zustände., eine Taktgebereinrichtung zur Bestimmung des Zeitpunktes, an dem der logische Zustand ausgeführt wird, eine Adressier-
    209852/1005
    ma.
    einrichtung zur Aufnahme der Adresse jedes logischen auszuführenden Zustandes von der Gattereinrichtung; eine Dekodiereinrichtung zur Aufnahme einer Adresse von der Adressiereinrichtung und zur entsprechenden Abgabe einer oder mehrerer der Ausgangsleitungen, einer Adressenänderungseinrichtung
    des zur Übertragung abgegebenen Befehles in die Adresse des
    nächsten auszuführenden Logikzustandes und eine Betätigungseinrichtung, die auf die Takteinrichtüng zur gleichzeitigen Betätigung der Dekodiereinrichtung und Sperrung der Gattereinrichtung anspricht.
    28. Steuerungseinrichtung nach Anspruch 27, dadurch g e k e η η zeichnet, daß die Gattereinrichtung mehrere Kippstufen aufweist, die Adressenänderungseinrichtung mehrere UND/ODER-Gatter aufweist und die Ausleseeinrichtung eine Kippstufe aufweist.
    209852/1005
    H13
    Leerseite
DE19722228742 1971-06-15 1972-06-13 Programmierbare Rechenmaschine Pending DE2228742A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US153437A US3859635A (en) 1971-06-15 1971-06-15 Programmable calculator

Publications (1)

Publication Number Publication Date
DE2228742A1 true DE2228742A1 (de) 1972-12-21

Family

ID=22547225

Family Applications (5)

Application Number Title Priority Date Filing Date
DE2264920*A Pending DE2264920A1 (de) 1971-06-15 1972-06-13 Elektronischer rechner
DE2264919*A Pending DE2264919A1 (de) 1971-06-15 1972-06-13 Programmierbarer rechner
DE19722228742 Pending DE2228742A1 (de) 1971-06-15 1972-06-13 Programmierbare Rechenmaschine
DE2264871*A Pending DE2264871A1 (de) 1971-06-15 1972-06-13 Elektronischer rechner
DE2264923*A Pending DE2264923A1 (de) 1971-06-15 1972-06-13 Elektronischer rechner

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE2264920*A Pending DE2264920A1 (de) 1971-06-15 1972-06-13 Elektronischer rechner
DE2264919*A Pending DE2264919A1 (de) 1971-06-15 1972-06-13 Programmierbarer rechner

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE2264871*A Pending DE2264871A1 (de) 1971-06-15 1972-06-13 Elektronischer rechner
DE2264923*A Pending DE2264923A1 (de) 1971-06-15 1972-06-13 Elektronischer rechner

Country Status (10)

Country Link
US (2) US3859635A (de)
JP (1) JPS568381B1 (de)
CA (1) CA1020285A (de)
CH (1) CH560934A5 (de)
DE (5) DE2264920A1 (de)
FR (2) FR2147937B1 (de)
GB (8) GB1403706A (de)
HK (3) HK67678A (de)
IT (1) IT958250B (de)
ZA (1) ZA724117B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2387476A1 (fr) * 1977-04-13 1978-11-10 Ibm Clavier programmable commande par operateur

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1970H1 (en) 1971-07-19 2001-06-05 Texas Instruments Incorporated Variable function programmed system
US4181965A (en) * 1971-12-27 1980-01-01 Hewlett-Packard Company Programmable calculator including program trace means
US3839630A (en) * 1971-12-27 1974-10-01 Hewlett Packard Co Programmable calculator employing algebraic language
US4162532A (en) * 1971-12-27 1979-07-24 Hewlett-Packard Company Programmable calculator including data format display control means
US4177518A (en) * 1971-12-27 1979-12-04 Hewlett-Packard Company Programmable calculator including scrolling alphanumeric display means
US4187547A (en) * 1971-12-27 1980-02-05 Hewlett-Packard Company Programmable calculator including means for controllably introducing blank lines on a printed record during program execution
US4178633A (en) * 1971-12-27 1979-12-11 Hewlett-Packard Company Programmable calculator including multifunction keys
US4366553A (en) * 1972-07-07 1982-12-28 Hewlett-Packard Company Electronic computing apparatus employing basic language
US4322816A (en) * 1972-07-07 1982-03-30 Hewlett-Packard Company Programmable calculator having structure for controlling an x-y plotter
US3987420A (en) * 1973-12-28 1976-10-19 Ing. C. Olivetti & C., S.P.A. Electronic computer with equipment for debugging operative programs
US4016542A (en) * 1974-04-23 1977-04-05 Azurdata, Inc. Electronic notebook for use in data gathering, formatting and transmitting system
US4127897A (en) * 1974-05-30 1978-11-28 Hewlett-Packard Company Programmable calculator having extended input/output capability
US4085446A (en) * 1974-06-01 1978-04-18 Fumitaka Nagamura Data storage and retrieval system
US4145742A (en) * 1974-09-30 1979-03-20 Hewlett-Packard Company Programmable calculator including user-definable keys
JPS5184632A (en) * 1975-01-24 1976-07-24 Canon Kk Deetakirokusochi
US4091446A (en) * 1975-01-24 1978-05-23 Ing. C. Olivetti & C., S.P.A. Desk top electronic computer with a removably mounted ROM
US4006464A (en) * 1975-02-20 1977-02-01 Fx Systems, Inc. Industrial process controller
US4179748A (en) * 1975-06-16 1979-12-18 National Semiconductor Corporation Programmer and method of storing information therein and accessing information therefrom
US4090247A (en) * 1975-08-11 1978-05-16 Arthur D. Little, Inc. Portable data entry device
US4177520A (en) * 1975-08-14 1979-12-04 Hewlett-Packard Company Calculator apparatus having a single-step key for displaying and executing program steps and displaying the result
US4064490A (en) * 1975-09-10 1977-12-20 Nagel Robert H Information retrieval system having selected purpose variable function terminal
US4093982A (en) * 1976-05-03 1978-06-06 International Business Machines Corporation Microprocessor system
US4218760A (en) * 1976-09-13 1980-08-19 Lexicon Electronic dictionary with plug-in module intelligence
JPS5335434A (en) * 1976-09-13 1978-04-01 Lexicon Corp Information processor
JPS5340245A (en) * 1976-09-27 1978-04-12 Canon Inc Electronic machinery with two variables statistical arithmetic function
US4169290A (en) * 1976-12-30 1979-09-25 Utility Services, Inc. Data recording method and apparatus
US4126898A (en) * 1977-01-19 1978-11-21 Hewlett-Packard Company Programmable calculator including terminal control means
US4139893A (en) * 1977-04-01 1979-02-13 Texas Instruments Incorporated Calculator program security system
US4281390A (en) * 1977-06-01 1981-07-28 Hewlett-Packard Company Programmable calculator including means for performing computed and uncomputed relative branching during program execution
US4202041A (en) * 1977-07-11 1980-05-06 Massachusetts Institute Of Technology Dynamically variable keyboard terminal
US4455618A (en) * 1977-09-29 1984-06-19 Hewlett-Packard Company Programmable calculator
JPS5451749A (en) * 1977-09-30 1979-04-23 Canon Inc Electronic apparatus
DE2840982B2 (de) * 1977-10-08 1980-07-03 Tokyo Electric Co., Ltd., Tokio Elektronische Registrierkasse mit einer Datenverarbeitungseinheit und elektronisches Registrierkassensystem
US4220991A (en) * 1977-10-08 1980-09-02 Tokyo Electric Co., Ltd. Electronic cash register with removable memory packs for cashier identification
BE871756A (fr) * 1977-11-03 1979-05-03 Lexicon Corp Dispositif d'enregistrement et de lecture d'information
GB2008818B (en) * 1977-11-03 1982-03-31 Lexicon Corp Electronic dictionary with plug-in module intelligence
US4471461A (en) * 1977-12-02 1984-09-11 Texas Instruments Incorporated Variable function programmed system
US4471460A (en) * 1977-12-02 1984-09-11 Texas Instruments Incorporated Variable function programmed system
US4476541A (en) * 1977-12-02 1984-10-09 Texas Instruments Incorporated Variable function programmed system
US4171537A (en) * 1978-01-09 1979-10-16 National Semiconductor Number oriented processor
US4352164A (en) * 1978-01-26 1982-09-28 Utility Devices, Inc. Data recording method and apparatus
US4259668A (en) * 1978-05-15 1981-03-31 Sharp Kabushiki Kaisha Television set/calculator interface including exchangeable keyboard panel and program memory cartridge
DE2922279B2 (de) * 1978-06-01 1981-03-26 Sharp K.K., Osaka Schalterkassenmaschine
US4218755A (en) * 1978-06-19 1980-08-19 Root Steven A Weather forecasting apparatus
US4396981A (en) * 1978-10-02 1983-08-02 Honeywell Information Systems Inc. Control store apparatus having dual mode operation handling mechanism
JPS5595176A (en) * 1979-01-10 1980-07-19 Sharp Corp Electronic dictionary
US4387423A (en) * 1979-02-16 1983-06-07 Honeywell Information Systems Inc. Microprogrammed system having single microstep apparatus
US4783739A (en) * 1979-11-05 1988-11-08 Geophysical Service Inc. Input/output command processor
US4377852A (en) * 1980-03-31 1983-03-22 Texas Instruments Incorporated Terminal emulator
US4443845A (en) * 1980-06-26 1984-04-17 Texas Instruments Incorporated Memory system having a common interface
US4433387A (en) * 1980-08-12 1984-02-21 Sangamo Weston, Inc. System for processing data received from a portable data store and for clearing the store
US4398264A (en) * 1980-08-12 1983-08-09 Pitney Bowes Inc. Circuit to enable foreground and background processing in a word processing system with circuits for performing a plurality of independently controlled functions
US4546448A (en) * 1980-10-24 1985-10-08 Hewlett-Packard Company Programmable calculator including program variable initialization means and definition means array
JPS5775366A (en) * 1980-10-28 1982-05-11 Sharp Corp Programmable electronic computer
JPS5786939A (en) * 1980-11-19 1982-05-31 Sharp Corp Electronic equipment
DE3116549A1 (de) * 1981-04-25 1982-11-11 Honeywell Gmbh, 6050 Offenbach Digitales regel- und/oder steuersystem
US4403303A (en) * 1981-05-15 1983-09-06 Beehive International Terminal configuration manager
US4469330A (en) * 1982-01-07 1984-09-04 Atari, Inc. Controller unit for video game
US4506346A (en) * 1982-12-01 1985-03-19 At&T Bell Laboratories Programmable cartridge telephone communication system
US4631700A (en) * 1983-01-21 1986-12-23 The Laitram Corporation Magnetically coded software for multi-purpose computer
JPS59139822A (ja) * 1983-01-31 1984-08-10 キヤノン株式会社 給電装置
US4549263A (en) * 1983-02-14 1985-10-22 Texas Instruments Incorporated Device interface controller for input/output controller
US4583169A (en) * 1983-04-29 1986-04-15 The Boeing Company Method for emulating a Boolean network system
US4636941A (en) * 1983-05-24 1987-01-13 Iwatsu Electric Co., Ltd. Method and apparatus for analysis of microprocessor operation
US4722065A (en) * 1984-03-30 1988-01-26 Casio Computer Co., Ltd. Electronically programmable calculator with memory package
JPS60247766A (ja) * 1984-05-22 1985-12-07 Sharp Corp プログラム計算機
US4735219A (en) * 1986-04-07 1988-04-05 Whirlpool Corporation Electronic appliance control with usage responsive default cycle
US4803476A (en) * 1986-10-24 1989-02-07 Visual Technology Incorporated Video terminal for use in graphics and alphanumeric applications
US5276802A (en) * 1987-03-20 1994-01-04 Minolta Camera Kabushiki Kaisha Printer control system
US5742299A (en) * 1988-02-17 1998-04-21 Canon Kabushiki Kaisa Printing apparatus using a control program and font data from different external memory cartridges
JP3004274B2 (ja) * 1988-02-17 2000-01-31 キヤノン株式会社 出力制御装置
JPH0776724B2 (ja) * 1988-02-18 1995-08-16 富士重工業株式会社 車輌診断装置
US5036476A (en) * 1988-04-08 1991-07-30 Minolta Camera Kabushiki Kaisha Printer control system
JPH0827220B2 (ja) * 1988-07-23 1996-03-21 富士重工業株式会社 車輌診断装置
US5440693A (en) * 1990-07-19 1995-08-08 International Business Machines Corp. Personal computer with drive identification
US6142687A (en) * 1999-03-16 2000-11-07 Lisak; Stephen J. One handed sequential alpha numerical keyboard
US7322888B2 (en) * 2003-10-14 2008-01-29 Lertyos Singhaseni Method for player-influenced random distribution of game tokens
CN102541801A (zh) * 2012-01-10 2012-07-04 陕西科技大学 一种实验环节数据记录装置
CN109075803B (zh) 2016-07-27 2020-11-06 华为技术有限公司 具有打孔、缩短和扩展的极化码编码
JP1577390S (de) * 2016-09-12 2017-05-29
JP1577389S (de) * 2016-09-12 2017-05-29
US11016781B2 (en) * 2019-04-26 2021-05-25 Samsung Electronics Co., Ltd. Methods and memory modules for enabling vendor specific functionalities
CN111431422B (zh) * 2020-04-27 2021-06-22 山东大学 一种高频链矩阵变换器高抗扰快响应控制系统及方法
RU201465U1 (ru) * 2020-06-10 2020-12-16 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-Морского Флота "Военно-морская академия им. Адмирала Флота Советского Союза Н.Г. Кузнецова" Специализированное вычислительное устройство оператора информационного поста обеспечения навигационной безопасности

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3364395A (en) * 1965-01-26 1968-01-16 Burroughs Corp Modular data processing apparatus including heat dissipating means
US3416139A (en) * 1966-02-14 1968-12-10 Burroughs Corp Interface control module for modular computer system and plural peripheral devices
US3436734A (en) * 1966-06-21 1969-04-01 Ibm Error correcting and repairable data processing storage system
US3623156A (en) * 1966-06-23 1971-11-23 Hewlett Packard Co Calculator employing multiple registers and feedback paths for flexible subroutine control
JPS4529522Y1 (de) * 1966-10-04 1970-11-13
US3629850A (en) * 1966-11-25 1971-12-21 Singer Co Flexible programming apparatus for electronic computers
DE1549547A1 (de) * 1967-01-16 1971-05-27 Telefunken Patent Elektronische Tischrechenmaschine
US3533076A (en) * 1967-10-30 1970-10-06 Burroughs Corp Electronic accounting apparatus
US3533078A (en) * 1967-12-04 1970-10-06 Burroughs Corp Keyboard entry control apparatus
US3631536A (en) * 1968-06-10 1971-12-28 John A Mosman Register system memory modules
US3602894A (en) * 1969-06-23 1971-08-31 Ibm Program change control system
US3623012A (en) * 1969-06-30 1971-11-23 Ibm Accounting system with program by example facilities
US3631403A (en) * 1969-09-08 1971-12-28 Singer Co Retail sales transaction terminal
US3593297A (en) * 1970-02-12 1971-07-13 Ibm Diagnostic system for trapping circuitry
US3760171A (en) * 1971-01-12 1973-09-18 Wang Laboratories Programmable calculators having display means and multiple memories

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2387476A1 (fr) * 1977-04-13 1978-11-10 Ibm Clavier programmable commande par operateur

Also Published As

Publication number Publication date
GB1403703A (en) 1975-08-28
GB1403710A (en) 1975-08-28
ZA724117B (en) 1974-01-30
HK67578A (en) 1978-12-01
GB1403707A (en) 1975-08-28
DE2264920A1 (de) 1975-05-22
CA1020285A (en) 1977-11-01
FR2168132A2 (de) 1973-08-24
CH560934A5 (de) 1975-04-15
HK67678A (en) 1978-12-01
US4063221A (en) 1977-12-13
GB1403709A (en) 1975-08-28
FR2147937A1 (de) 1973-03-16
GB1403706A (en) 1975-08-28
DE2264919A1 (de) 1975-05-28
JPS568381B1 (de) 1981-02-23
GB1403708A (en) 1975-08-28
HK67478A (en) 1978-12-01
GB1403704A (en) 1975-08-28
US3859635A (en) 1975-01-07
FR2147937B1 (de) 1975-08-01
IT958250B (it) 1973-10-20
DE2264871A1 (de) 1975-03-20
GB1403705A (en) 1975-08-28
DE2264923A1 (de) 1975-09-04

Similar Documents

Publication Publication Date Title
DE2228742A1 (de) Programmierbare Rechenmaschine
DE2515696C2 (de) Datenverarbeitungssystem
DE2550268C3 (de) Schnelldrucker für Datenverarbeitungssysteme
DE2711413C2 (de)
DE2264897A1 (de) Elektronischer rechner
DE3126721A1 (de) &#34;datenverarbeitungsgeraet mit einem programmierbaren festspeicher&#34;
DE2119063A1 (de) Datenhandhabungsanlage
DE2548719A1 (de) Drucker mit pufferspeicher
DE2365569A1 (de) Elektronischer rechner
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE1806535B2 (de) Seriell arbeitende digitale rechenanlage
US2647689A (en) Decimal to binary conversion machine
DE2641971A1 (de) Digitale tisch-buchungs- und -rechenmaschine
DE3346767A1 (de) Elektronische registrierkasse
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2165589A1 (de) Anordnung zur programmgesteuerten bestimmung von fehlern in einer datenverarbeitungsanlage
DE3124076A1 (de) &#34;nachrichtenuebertragungs-,-empfangs- und -verarbeitungsgeraet-&#34;
DE2748859B2 (de)
DE2950296A1 (de) Sichtanzeigevorrichtung
DE3139886C2 (de)
DE2507925C3 (de) Schnelldrucker für fliegende Abdrücke von ausdruckbaren Zeichen, die gemeinsam mit nichtausdruckbaren Zeichen ausgegeben werden
DE2744133A1 (de) Einrichtung zur verarbeitung von aufgezeichneten daten
DE2320962C3 (de) Datenverarbeitungsmaschine
DE1574591C (de) Buchungsautomat

Legal Events

Date Code Title Description
OHW Rejection