DE2228742A1 - Programmierbare Rechenmaschine - Google Patents
Programmierbare RechenmaschineInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/02—Digital 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/0225—User interface arrangements, e.g. keyboard, display; Interfaces to other computer systems
- G06F15/0233—User interface arrangements, e.g. keyboard, display; Interfaces to other computer systems with printing provisions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/02—Digital 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.
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.
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.
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.
überSetzerprogramm gemäß Fig. 7 wählbaren Programmes
zur Verarbeitung der Eingangsziffern.
ÜberSetzerprogramm nach Fig. 7 wählbaren Programme
für die Registerübertragung und die arithmetischen
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
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.
kann, wenn der Festwertspeichereinschub für definierbare Funktionen in die Rechenmaschine eingesteckt ist.
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.
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.
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.
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.
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
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 | |
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 | |
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 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.
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.
χ 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 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 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 | 4· | 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
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
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:
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
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.
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
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.
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-
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
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.
(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:
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
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.
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
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.
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.
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.
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
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.
Das folgende ist ein Aufruf von Fl durch ein anderes Programm (das Programm hier ist zufälligerweise eine
weitere Funktion F2).
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.
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
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.
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.
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
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.
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
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;
Beispiel;
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:
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.
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.
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.
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:
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
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:
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.
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:
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").
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").
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.
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.
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
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.
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
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
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) 1Ö
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
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.
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.
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.
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
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.
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
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.
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 | 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 | 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
Schlüssel | Kode | Merkzeichen | Schlüssel | Kode | Merkzeichen |
O | OO | 0 | GO TO | 44 | GTO |
1 | 01 | 1 | 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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
<B> bleibt unverändert.
209852/1005
DLS "Mantisse ARl wird um eins nach links verschoben". Das Exponentwort bleibt unverändert.
<B> unverändert
FXA "Festkomma Addition"
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
<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
■ 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
STA USTK,I REMEMBER THE RETURN ADDR
(RÜCKKEHRADR) ISZ USTK INCREMENT THE U STACK
(ERHÖHEN)
JMP SGT PERFORM A SIMPLE GOTO
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
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)
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
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*
0178*
0179*
0180*
0181*
0182*
0182*
0183*
0184
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)
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)
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)
(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
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)
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
DSZ ADDRC
JMP COMP
SHIFT DOWN THE EXPONENT
(VERSCHIEBEN)
PUT 1 IN B (EINGEBEN) ADD THE EXPONENT TO IT
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
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*
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*
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
4Β
1723Β
5Β
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
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
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
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
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
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
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
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
PLT2
PDAT
PDATO
PDATl
PDAT2
OUT
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
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
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
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
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
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
0075
0076
0077
0078
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
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
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
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 | |
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)
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.
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.
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
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 | 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 | |||||
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,
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 |
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*
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
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
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
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
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
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
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
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
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
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?
CANCK CANCEL KEY FOLLOWS? ACUM4 YES7RETURN
PRTCT DELETE-PROTECT?
YES
DELETE-FRET?
" YES
" 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
TERMINATE
'03048JtINSERT
0305*
0306
0307
0308
0309
0310
0311
0312
0313
0314
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
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
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
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)
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
DIGIT WAS 1 - GET DIGIT-I FLAG
BINARY CONSTANT THREE
BINARY CONSTANT FIVE
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?
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
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 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 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
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
GO DO THE OUTER LOOP AGAIN
CLEAR A REGISTER
CLEAR OUT THE CLEAR-CORRECT FLAG REGISTER '
CLEAR OUT THE CLEAR-CORRECT FLAG REGISTER '
GO TO DO ANOTHER KEY
S-VARIABLE START-POINT
4-VARIABLE START-POINT
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
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
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
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 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
3»
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
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
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
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*
0795*
0796*
0797 03246
0798 03247
0799 03250
0800 03251 0801*
0802*
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
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
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
03717
03720 03721 03722 03723 03724 03725
03726
03727 03730 03731 03732
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
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
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*
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
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
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***
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*
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
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
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
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
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
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
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)
(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)
(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
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
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»
1590*** 1591»
1592 03677
1593 03700 1594*
1595 03701
1596 03702
1597 03703
1598 O37O4 1599*
1600 03705
1601 03706
1602 03707 1603*
1604*
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
CO
OO
1609*
16
16
1613*
1614 03711
1615*
1616 03712
1617 03713 1618*
16 19;'ft^>fe?6;>6-iS:ii
16 20*
16 21*** 16 22*
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
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.
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.
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 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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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,
CARD ENDED, EXPELL CARD.
RECORD SECURITY WORD,
NORMAL RETURN POINT.
0173*
cn
t-o
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?
INPUT 6 BITS.
STORE PROGRAM WORD.
IS PROGRAM DONE?
EXPELL CARD AND EXECUTE RETURN.
NO, CONTINUE.
NO, CONTINUE.
-15777
IF POSITIVE, HAS OVERFLOWED.
IF POSITIVE, HAS OVERFLOWED.
LOAD SENSOR DATA.
CHECK TOP SENSOR OF CARD.
CHECK TOP SENSOR OF CARD.
SKIPS IF UNBLOCKED.
CONTINUE THE TEST FOR CARD IN.
NOT IN IF SKIP, TY AGAIN.
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.
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.
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.
MASK IN CONTROL BITS.
A REGISTER OUTPUT.
THIS DELAY GIVES PACKING DENSITY.
OUTPUT STROBE.
OUTPUT STROBE.
GET NEXT STROBE.
PACKING DENSITY DELAY.
DELAY UNTIL 3 MSB ARE READY TO OUTPUT.
TEST FOR END OF WORD.
TEST FOR END OF WORD.
WORD IS FINISHED.
GET WORD.
GET WORD.
RET OT OUTPUT 3 MS8.
OUTPUTS BITS O 1 2 4 5 OF A REG
TO CARD READER.
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.
YES LOAD DATA.
SKIP IF THIS IS MS THREE BITS.
PUT IN THE CURRENT LS 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.
GET THE MS THREE BITS.
POSITION THE MS 3 BITS.
MERGE WITH OTHER 3 BITS.
GETS RTD OF REST OF BITS FROM GET.
RETURN
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,
O CARD SENSTOR TO MSB.
CARD ENDED, DRIVE CARD OUT,
GET CARD, SECURITY WD, ETC.
TURN OFF LOAD LIGHT.
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,*
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.
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:
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
Adressen Gedächtnisse
IQtT
BRC
Q-Register
TfQ
QIO Q9
Q7
Q6
Q6
Q5
Q3
Q2
Q1
Q2
Q1
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
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. . -
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.
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.
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.
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.
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.
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:
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)
- 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/1005der 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/1005Hewlett-Packard Company Case 6568. Juni 1972Patentansprüche1. Elektronische Rechenmaschine mit einer Eingangseinheitzur 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/10052. 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 indirekte209852/ 1 005Adressierung 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/ 10059. 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 Rechenmaschinerü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 verschiedenen209852/ 1 005alphabetischen 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/100515. 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 zuprüfen.209852/100518. 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 520. 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/100524. 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/1005ma.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änderungseinrichtungdes zur Übertragung abgegebenen Befehles in die Adresse desnä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/1005H13Leerseite
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)
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)
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)
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 |
-
1971
- 1971-06-15 US US153437A patent/US3859635A/en not_active Expired - Lifetime
-
1972
- 1972-06-13 DE DE2264920*A patent/DE2264920A1/de active Pending
- 1972-06-13 DE DE2264919*A patent/DE2264919A1/de active Pending
- 1972-06-13 DE DE19722228742 patent/DE2228742A1/de active Pending
- 1972-06-13 CH CH880072A patent/CH560934A5/xx not_active IP Right Cessation
- 1972-06-13 DE DE2264871*A patent/DE2264871A1/de active Pending
- 1972-06-13 DE DE2264923*A patent/DE2264923A1/de active Pending
- 1972-06-14 CA CA144,658A patent/CA1020285A/en not_active Expired
- 1972-06-15 GB GB5404274A patent/GB1403706A/en not_active Expired
- 1972-06-15 ZA ZA724117A patent/ZA724117B/xx unknown
- 1972-06-15 GB GB5401174A patent/GB1403707A/en not_active Expired
- 1972-06-15 JP JP5911272A patent/JPS568381B1/ja active Pending
- 1972-06-15 GB GB2801272A patent/GB1403710A/en not_active Expired
- 1972-06-15 GB GB5095074A patent/GB1403703A/en not_active Expired
- 1972-06-15 GB GB5166174A patent/GB1403709A/en not_active Expired
- 1972-06-15 IT IT50917/72A patent/IT958250B/it active
- 1972-06-15 GB GB5401274A patent/GB1403705A/en not_active Expired
- 1972-06-15 GB GB5401074A patent/GB1403704A/en not_active Expired
- 1972-06-15 GB GB5400974A patent/GB1403708A/en not_active Expired
- 1972-06-15 FR FR7221583A patent/FR2147937B1/fr not_active Expired
-
1973
- 1973-05-07 FR FR7316288A patent/FR2168132A2/fr active Pending
-
1974
- 1974-12-23 US US05/535,750 patent/US4063221A/en not_active Expired - Lifetime
-
1978
- 1978-11-23 HK HK676/78A patent/HK67678A/xx unknown
- 1978-11-23 HK HK674/78A patent/HK67478A/xx unknown
- 1978-11-23 HK HK675/78A patent/HK67578A/xx unknown
Cited By (1)
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) | "datenverarbeitungsgeraet mit einem programmierbaren festspeicher" | |
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) | "nachrichtenuebertragungs-,-empfangs- und -verarbeitungsgeraet-" | |
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 |