DE3331090A1 - Befehlsuebersetzender rechner - Google Patents
Befehlsuebersetzender rechnerInfo
- Publication number
- DE3331090A1 DE3331090A1 DE19833331090 DE3331090A DE3331090A1 DE 3331090 A1 DE3331090 A1 DE 3331090A1 DE 19833331090 DE19833331090 DE 19833331090 DE 3331090 A DE3331090 A DE 3331090A DE 3331090 A1 DE3331090 A1 DE 3331090A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- command
- computer
- instruction
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Record Information Processing For Printing (AREA)
- Input From Keyboards Or The Like (AREA)
- Calculators And Similar Devices (AREA)
Description
Befehlsübersetzender Rechner
Die vorliegende Erfindung betrifft einen Rechner, insbesondere
eine übersetzunqsschaltung für einen Rechner,
Es sind bereits verschiedene Arten von Rechnern vorgeschlagen
worden, beispielsweise ein programmierbarer elektronischer Rechner, ein Personal Computer und ein Taschenrechner. An diese
Rechner sind Lese/Schreib-Speicher (RAM) oder Festspeicher (ROM) in Form von Modulen angeschlossen. Diese Speicher
speichern ein Programm, welches der Rechner ausführen soll. Jedes Programm kann mehrere Befehle enthalten. Rechner mit gemeinsamem
Befehlsaufbau können dasselbe Programm ohne Programmänderung ausführen.
Jedoch kann es selbst bei gemeinsamem Befehlsaufbau vorkommen,
daß sich ein oder mehrere spezielle Befehle voneinander unterscheiden, so daß in verschiedenen Rechnern eine vollständig
unterschiedliche Steuerung erfolgt. Derartige Befehle müssen zur Anpassung an einen anderen Rechner geändert werden, um
durch das Programm die gleiche gewünschte Steuerung zu erreichen. Üblicherweise erweist sich jedoch eine Programmänderung
als schwierig.
Es sei z.B. angenommen, es seien ein Rechner "A" und ein weiterer Rechner "B" vorgesehen. Der Rechner "A" führt eine
Gruppe von Befehlen "a" aus, unter denen ein Befehl "PRINT"
den Rechner veranlaßt, eine Information anzuzeigen. Wenn an den Rechner "A" ein Drucker angeschlossen ist, so befiehlt
der Befehl "PRINT" dem Rechner, die Information auszudrucken.
Der Rechner "B" führe eine andere Gruppe von Befehlen "b" aus, von denen der Befehl "PRINT" den Rechner veranlaßt, Information
darzustellen, während ein weiterer Befehl "LPRINT" den Rechner anweist, die Information auszudrucken.
Wird ein Programm, welches die Befehle "a" enthält, bei dem Rechner "B" verwendet, so kann nicht eine Programmausführung
erwartet werden, weil die Eingabe des Befehls "PRINT" unter Bezugnahme auf das Programm weder den Anzeigebefehl noch den
Druckbefehl definieren kann.
Der Erfindung liegt die Aufgabe zugrunde, einen verbesserten
Rechner zum übersetzen oder Ändern eines Programms zu schaffen.
Außerdem soll eine verbesserte Übersetzungsschaltung für einen
Rechner geschaffen werden, damit der Rechner in der Lage ist, während der Ausführung eines Programms einen speziellen Befehl
zu übersetzen oder zu ändern. Die Übersetzungsschaltung soll auf eine in einem Teil des Programms enthaltene Anweisung
(statement) ansprechen, um mindestens zwei Funktionen zu unterscheiden ■>
Diese Aufgabe wird erfindungsgernäß durch die in Anspruch 1 angegebenen
Merkmale gelöst. Gemäß der Erfindung spricht der Rechner auf eine in einem Programm enthaltene Anweisung an,
um einen ersten Befehl des Programms in einen zweiten Befehl zu übersetzen oder zu ändern. Es ist ein Speicher vorgesehen,
in dem der zweite Befehl gespeichert wird. Der Rechner spricht außerdem auf den Inhalt des Speichers an, um das Programm mit
dem zweiten Befehl anstelle des ersten Befehls durchzuführen»
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Biockdiagrarom einer ia einem srfindvü^s^a^äßan
Rechner - ausgebildeten Schaltung,
Fig» 2 und 3 jeweils ein FluSdiagrammj, welches die Arbeits
weise des Rechners nach Fig» 1 erläutert„
Fig» 4 den Programmaufbau <bJ."-3s ExnzBlz-BilQvh^xe-la r ijie er In
dem Programm enthalten ist, das für der= -:.::. f indrird-gsgen'SEen
Rechner verwendet wird und
Fig„ 5 ein Beispiel eines Programms „ wie ss für dsr* srfindungsgemäßen
Rechner verwendet vjirdo
Eine erf indungsgeraäße Über sets ungs- oder &idsrni>gsschaitiiiig
kann bei jedem beliebigen Typ von Rechner eingesetzt --/erdeη f
unter anderem bei eineKi programmierbaren elektronischen Rechner
einem Personal Computer und einem Taschenrechner» Als be~: ::■-zugte
Äusführungsforra der Erfindung v/ird ein prorj/ariisiierbarer
elektronischer Rechner beschrieben,
Fig<, . 1 zeigt ein Blockdiagramrn einer Schaltung eines prograrr-mi-e?
baren elektronischen Rechners. Die Schaltung r;ach Fig.. "■ enthält
eine zentrale Verarbeitungseinheit (CP-Ji; "i , -inan Festspeicher
(ROM) 2 „ einen Schreib/Lese-Speicher {~uJA) 2, eine
Tastatur 4, einen Anzeigespeicher und Puffer 5, eins imEeiys ■■'-
und einen Drucker 7.
Entsprechend den im ROM 2 gespeicherten Schritten Cd.on'c die
CPU 1 dazu, über die Tastatur 4 eingegebene Tcistoni^Zo^B^ciou
einzulesen und die notwendigen Operationen uurehsuj-^bre^,, ?,,B,
Rechenschritte auszuführen= Die CPU 1 hat vreiterhin die iVui:-
gabe„ in den Anzeigespeicher und Puffer 5 Juiseigedaten einzuschreiben
und die Daten zur Anzeige zu bringen» Eine vjeitere
Aufgabe der CPU 1 besteht darin., in den RAM 3 über Tasten eingegebene
Information einzuschreiben und zu veranlassen,daß auf der Anzeige 6 die Anzeigedaten dargestellt werden, wie sie in
dem RAM 3 gespeichert sind. Die CPU 1 veranlaßt den Drucker 7, die den Anzeigedaten entsprechende Information auszudrucken.
Die CPU 1 enthält einen Adressbusanschluß 1A, einen Datenbusanschluß
1D, ein Eingabe/Ausgäbe-Port 1P, einen Lese/Schreib-Signal-Anschluß
R/W, einen Tasten-Durchschaltsignal-Anschluß S und einen Tasteneingabesignalanschluß K. Die Lese/Schreib-(R/W)
Signale werden nach Maßgabe von Mikrobefehlen, die von einem Befehlsdecoder ausgegeben werden, und Zeitsteuersignalen erzeugt.
Die Durchschaltsignale S werden dazu benutzt, die über die Tastatur eingegebene Information in Kombination mit den
Tasteneingabesignalen festzustellen.
Der ROM 2 speichert Überwachungsschritte zum Auslesen und Anzeigen
von über die Tastatur eingegebenen Informationen. Außerdem speichert der ROM 2 Interpreterschritte, damit der Betrieb
so erfolgt, wie es das in dem RAM 3 gespeicherte Programm vorgibt. Der RAM 3 speichert das Programm und Daten.
Die Tastatur 4 enthält mehrere Tastenschalter von Zifferntasten,
Funktionstasten der vier Grundrechenarten, einer Löschtaste, einer Lösch-Eingabetaste, einer "ENTER"-Taste sowie
weiteren Tasten, wie es von einem üblichen Rechner her bekannt ist.
Fig. 2 zeigt ein Flußdiagramm des in dem ROM 2 gespeicherten Programms. In einer bevorzugten Ausführungsform der Erfindung
ist das Programm in der Programmiersprache BASIC geschrieben.
Schritt 1: Der Rechner wird eingeschaltet. Schritt 2: Der Rechner wird initialisiert.
Schritt 3: Der Rechner führt eine Tasten-Leseroutine aus, um über die Tastatur eingegebene Informationen zu lesen.
Schritt 4: Es wird festgestellt, ob die "ENTER"-Taste betätigt wird oder nicht.
Schritt 5: Wird die "ENTER"-Taste nicht betätigt, werden
Routinen für Tasten-Code-Anzeige oder andere Verarbeitungs-Routinen
ausgewählt. Schließlich wird erneut der Schritt zum Einlesen der Tasteneingabe (Schritt..3) ausgewählt.
Schritt 6: Wird festgestellt, daß die "ENTER"-Taste getätigt
wirdj, so wird danach festgestellt, ob Tastenbefehle "Befehlsausführung
("RUN ENTER")eingegeben werden.
Schritt 7: Falls nicht, so werden manuelle Operationen durchgeführt,
um einen Befehl oder eine Operation durchzuführen, die derzeit auf der Anzeige dargestellt wird.
Schritt 8: Wird festgestellt,, daß der "Laufbefehl11 gegeben
wurde, so wird das derzeitig in dem Rechner gespeicherten Programm ausgeführt. Hierzu wird der Rechner initialisiert,
damit ein oder mehrere, zu dem Programm gehörige Flags und Speicher zurückgesetzt werden.
Schritt 9: Das LP-Flag wird zurückgesetzt. Das LP-Flag ist
derart ausgebildet, daß es bei Ausführung des Befehls "PRINT" den Befehl "PRINT" an den Drucker 7 gibt, während das LP-Flag
gesetzt ist, während andernfalls der Befehl "PRINT" an die Anzeige 6 gegeben wird, während das LP-Flag zurückgesetzt ist«,
Das Zuführen des Befehls 1PRINT" an den Drucker 7 veranlaßt
diesen, Information auszudrucken. Das Zuführen des Befehls "PRINT" an die Anzeige 6 veranlaßt diese, die Information darzustellen
.
Das LP-Flag ist innerhalb des RAM 3 gebildet.
Schritt 10s Es wird eine Interpreter-Routine ausgewählt. Anschließend
wird erneut der Befehl "Einlesen Tasteneingabe" (Schritt 3) ausgewählt.
Fig« 3 zeigt ein detailliertes Flußdiagramm der in Fig. 1 gezeigten
Interpreter-Routine (10).
Schritt 11: Es wird festgestellt, ob der Befehl vorliegt, daß der °'PRINT"-Befehl gleich ist dem Befehl "LPRINT", was ausgedrückt
wird durch "PRINT=LPRINt11.
Schritt 12: Falls ja, wird das LP-Flag durch das Programm zurückgesetzt.
Schritt 13: Ein auf den als nächstes auszuführenden Befehl zeigender Zeiger wird vorgerückt.
Schritt 14: Es v/ird festgestellt, ob das Programm zum Ende gekommen
ist oder nicht. Falls nicht, wird erneut Schritt 11 aus
gewählt.
Schritt 15: Ist die Antwort im Schritt 11 "NEIN", so wird
Schritt 15 ausgewählt, um festzustellen, ob der Befehl vorliegt, daß der Befehl "PRINT" gleich ist dem Befehl "PRINT",
was ausgedrückt wird durch "PRINt=PRINT". Falls die Antwort im Schritt 15 "JA" ist, wird das LP-Flag zurückgesetzt. Es
wird dann der Schritt 13 ausgewählt.
Wenn im Schritt 15 die Antwort "NEIN" ist, so wird festge-.
stellt, ob der Befehl "PRINT" vorliegt. Ist die Antwort "JA" so wird der Befehl "PRINT" ausgeführt.
Schritt 18s Es wird festgestellt, ob das LP-Flag gesetzt ist
oder nicht,
Schritt 19 s Ist das LP-Flag gesetzt, so werden die Anzeigedaten
an den Drucker 7 ausgegeben»
Schritt 20 s 1st das LP-Flay zurückgesetzt „ so werden die Anzeigedaten
an die Anzeige 6 ausgegeben= Anschließend, wird der
Schritt 13 ausgeführt. .
Schritt 21s Ist die Anwort im Schritt 17 -1MEIN", so wird
Schritt 21 ausgewählt, um festzustellen, ob ein Programmbeendigungsbefehl
vorliegt, beispielsweise "ENDE" oder 10STOP01;
oder nichtο Falls ja, endet die Interpreter-Routine„ Falls nein,
werden die betreffenden Befehle ausgeführt, so daß die Schritts 22 und .13 ausgex-rählt werden= Fig= 4 zeigt den Aufbau eines
Einzelzeilensegments eines speziellen Programms„
Das Einzelzeilensegment des Programms xcLrd gebildet durch den
Abschnitt "Zeilennummer", einen oder mehrere Befehlssätze und
den Abschnitt "ENTER"= Das Programm enthält mehrere Segmente.
Nachdem der Schritt 13 gemäß Fig» 3 ausgeführt wurde, wird der
Zeiger auf den Kopf eines nachfolgenden Befehlsatzes gerichtet.
.Fig» 5 zeigt ein Beispiel eines speziellen Programms s \ii,:~ ss
bei der Erfindung eingesetzt wird»
Gemäß Figo 5 wird das folgende Programm eingegeben?
10 PRINT = LPRINT
20 PRINT "DRUCKER"
30 PRINT = PRINT
40 PRINT "ANZEIGE"
Während der Ausführung des Befehls in Zeile "10" wird das LP-Flag
gesetzt. Der Befehl in Zeile "20" veranlaßt, daß der Drucker 7 das Wort "DRÜCKER" ausdruckt. Der Befehl in Zeile
"30" setzt das LP-Flag zurück. Der Befehl in Zeile "40" veranlaßt die Anzeige 6, das Wort "ANZEIGE" darzustellen.
Es sei nochmals das in der Beschreibungseinleitung angesprochene Beispiel herangezogen. Erfindungsgemäß ist wenigstens
eine Anweisung (statement) zum übersetzen oder Teilen wenigstens zweier Funktionen in das Programm eingefügt, damit beispielsweise
festgestellt wird "PRINT = LPRINT" und"PRINT = PRINT". Hierdurch wird erkannt, daß der Befehl "PRINT" unter den Befehlen
(a) dem Befehl 11LPRINT" unter den Befehlen (b) entspricht.
Das LP-Flag hat die Aufgabe, zu erkennen, ob eine solche Anweisung vorliegt. Das LP-Flag ist ein wesentlicher
Bestandteil der übersetzungs- oder Änderungsschaltung gemäß der Erfindung. Es reicht also eine so kleine Programmänderung
wie das Einfügen einer solchen Anweisung in das Programm aus, damit die Befehle "a" auf den Rechner "b" angewendet werden
können.
In jedem beliebigen, für den Rechner 11B" geeigneten Programm
kann man den Befehl "PRINT" dafür benutzen, sowohl den Befehl "ANZEIGE" zu geben, damit die Anzeigevorrichtung die Anzeigedaten
darstellt, als auch den Befehl "DRUCKEN" (PRINT) zu geben, um den Drucker zu veranlassen, die Daten auszudrucken.
Hierbei braucht kein separater Bezug auf den Befehl "ANZEIGE" und den Befehl "DRÜCKEN" gegeben zu werden. Während
des Programms läßt sich die Funktion des Befehls "PRINT" abhängig von einem Rechner identifizieren und entscheiden.
Die oben beschriebene bevorzugte Ausführungsform der Erfindung
sieht vor, daß die übersetzung eines speziellen Programmbefehls
auf der Grundlage der in dem Programm enthaltenen Anweisung durchgeführt wird. Der Progranunübersetzungsbefehl
kann durch Betätigen einer Befehlstaste oder durch Auswählen eines Schiebeschalters zur Auswahl einer Betriebsart eingegeben
werden. In einem solchen Fall ist keine Programmänderung zum Durchführen des Programms erforderlich. Die Erfindung
findet also Anwendung bei solchen Rechnern, die ein festgespeichertes
Programm aufweisen und bei denen keine Programmänderung niöglich ist.
Claims (1)
- Priorität: 30. August 1982, Nr. 57-151538, JapanPatentansprüche1ο Befehlsübersetzender Rechner, gekennzeichnet .durch eine Speichereinrichtung (3) zum Speichern eines ersten Programms, einen Anweisungsübersetzer zum übersetzen eines ersten Befehls des ersten Programms in einen- zweiten Befehl eines zweiten Programms, wobei die Speichereinrichtung (3) deart betreibbar ist, daß sie das zweite Programm speichert, und eine Programmausführungseinrichtung (1), die auf den Inhalt der Speichereinrichtung anspricht, und das zweite Programm mit dem zweiten Befehl ausführt O2= Rechner nach Anspruch 1, dadurch gekennzeichnet, daß der Anweisungsüborsotzer eine Flag-Kinrichtung aufweist.3. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß der Anweisungsübersetzer eine Schalteinrichtung aufweist.4. Rechner nach Anspruch 1, dadurch gekennzeichnet,daß die Prograinrrausführungseinrichtung einenDrucker (7) zum Ausdrucken von Daten nach Maßgabe des zweiten Programms aufweist.5. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß die Programmausführungseinrichtung eine Anzeige (6) aufweist, mit der nach Maßgabe des zweiten Programms Daten anzeigbar sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57151538A JPS5938870A (ja) | 1982-08-30 | 1982-08-30 | 電子式計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3331090A1 true DE3331090A1 (de) | 1984-03-08 |
DE3331090C2 DE3331090C2 (de) | 1991-05-02 |
Family
ID=15520696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833331090 Granted DE3331090A1 (de) | 1982-08-30 | 1983-08-29 | Befehlsuebersetzender rechner |
Country Status (3)
Country | Link |
---|---|
US (1) | US4873628A (de) |
JP (1) | JPS5938870A (de) |
DE (1) | DE3331090A1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628036B2 (ja) * | 1988-02-01 | 1994-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーシヨン | シミュレーシヨン方法 |
CA2002201C (en) * | 1988-12-06 | 1999-04-27 | John Charles Goettelmann | Translation technique |
WO1992001990A1 (en) * | 1990-07-20 | 1992-02-06 | Temple University - Of The Commonwealth System Of Higher Education | System for high-level virtual computer with heterogeneous operating systems |
US5430550A (en) * | 1991-06-14 | 1995-07-04 | Minolta Camera Kabushiki Kaisha | Image reading apparatus which corrects for positional and angular deviation between the image sensor and the document |
US5937193A (en) * | 1996-11-27 | 1999-08-10 | Vlsi Technology, Inc. | Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2907181A1 (de) * | 1978-03-13 | 1979-09-20 | Motorola Inc | Befehlssatz-modifizierregister fuer einen datenprozessor |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4084235A (en) * | 1975-04-14 | 1978-04-11 | Honeywell Information Systems Inc. | Emulation apparatus |
JPS5313854A (en) * | 1976-07-23 | 1978-02-07 | Panafacom Ltd | Information processor |
US4117536A (en) * | 1976-12-27 | 1978-09-26 | International Business Machines Corporation | Instruction processing control apparatus |
NL7906416A (nl) * | 1979-08-27 | 1981-03-03 | Philips Nv | Rekenmachinesysteem, waarbij het programmageheugen geschikt is om doorlopen te worden waarbij niet tot een instruktie behorende gegevens apart gedetekteerd worden. |
US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
JPS5714942A (en) * | 1980-06-30 | 1982-01-26 | Sharp Corp | Display control system |
US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
-
1982
- 1982-08-30 JP JP57151538A patent/JPS5938870A/ja active Pending
-
1983
- 1983-08-29 DE DE19833331090 patent/DE3331090A1/de active Granted
-
1988
- 1988-04-18 US US07/185,283 patent/US4873628A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2907181A1 (de) * | 1978-03-13 | 1979-09-20 | Motorola Inc | Befehlssatz-modifizierregister fuer einen datenprozessor |
Also Published As
Publication number | Publication date |
---|---|
DE3331090C2 (de) | 1991-05-02 |
US4873628A (en) | 1989-10-10 |
JPS5938870A (ja) | 1984-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3431255C2 (de) | ||
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE3346816C2 (de) | ||
DE2711413C2 (de) | ||
DE4334524C2 (de) | Dokumentverarbeitungsvorrichtung | |
DE3629104C2 (de) | ||
DE3127825C2 (de) | ||
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
DE69509024T2 (de) | Emulator mit Detektierungsmechanismus eines illegalen Zugriffs auf ein Spezialregister | |
DE69230123T2 (de) | Aufzeichnungsmedium und Informationslesevorrichtung | |
DE3586646T2 (de) | Bildanzeigegeraet. | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE3805291A1 (de) | Tragbare elektronische vorrichtung | |
DE3034509A1 (de) | Elektronisches uebersetzungsgeraet | |
DE69908446T2 (de) | Programmfehlerbeseitigung | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE68926767T2 (de) | Textverarbeitungsapparat mit Funktion zur Darstellung der Textanordnung | |
DE68913373T2 (de) | Verfahren zur gleichzeitigen Dateneingabe in überlappende Fenster. | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE69131309T2 (de) | Speicherdekodierungssystem für eine tragbare Datenendstation | |
DE3853321T2 (de) | Elektronische Einrichtung, geeignet zum Speichern geheimer Daten. | |
DE3327874C2 (de) | ||
DE3121046C2 (de) | ||
DE3214117A1 (de) | Elektronisches uebersetzungsgeraet mit erweitertem speicher | |
DE3234892C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: KLUNKER, H., DIPL.-ING. DR.RER.NAT. SCHMITT-NILSON |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |