DE2365542A1 - Elektronischer rechner - Google Patents

Elektronischer rechner

Info

Publication number
DE2365542A1
DE2365542A1 DE2365542*A DE2365542A DE2365542A1 DE 2365542 A1 DE2365542 A1 DE 2365542A1 DE 2365542 A DE2365542 A DE 2365542A DE 2365542 A1 DE2365542 A1 DE 2365542A1
Authority
DE
Germany
Prior art keywords
program
instruction
line
memory
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE2365542*A
Other languages
English (en)
Inventor
Eugene V Burmeister
Frank E Cada
Chris J Christopher
Wayne F Covington
Myles A Judd
Kent W Simcoe
Richard M Spangler
Robert E Watson
Freddie W Wenninger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE2365542A1 publication Critical patent/DE2365542A1/de
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Calculators And Similar Devices (AREA)
  • Document Processing Apparatus (AREA)
  • Devices For Executing Special Programs (AREA)
  • Record Information Processing For Printing (AREA)
  • Digital Computer Display Output (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Computer And Data Communications (AREA)

Description

PATENTANWALT ... D-7261 Gechingen/Bergwald
Lindenstr. 16
DlPU-ING. KNUD SCHULTE · TeIefon: (07031) 667432
(07056) 1367 Telex: 07-265739'· Hep-d
Patentanwalt K, Schulte, D-7261 Gechingen, Lindenstr. 16 τ q Γ\ρ>·? "I Q 7 4
BL/gl.
Hewlett-Packard Company, Palo Alto Case 747/Tr. A. II
ELEKTRONISCHER RECHNER
Die Erfindung betrifft einen elektronischen .Rechner mit einem Eingabe-Tastenfeld für die Eingabe von Zeilen-aus alpha-nuinerischen Zeichen, mit einem Hauptspeicher, mit einem mit dem Eingabe-Tastenfeld und dem Hauptspeicher verbundenen Pufferspeicher, mit einer Verarbeitungseinheit, sowie mit einer an den Pufferspeicher angeschlossenen und dessen Inhalt wiedergebenden Anzeigeeinheit.
Bei bekannten -Rechnern dieser Art sind zusätzlich zu den alpha-numerischen Tasten Befehlstasten vorgesehen, bei deren Betätigung bestimmte, ihnen jeweils zugeordnete Befehle ausgeführt werden. Dies hat den Nachteil, daß für jeden Befehl eine eigene Taste erforderlich ist.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, einen Rechner der eingangs genannten Art derart weiterzubilden, daß auch eine größere Anzahl verschiedener Befehle eingebbar ist, ohne daß die Zahl der Tasten in gleichem Maße vergrößert werden muß. Die Lösung dieser Aufgabe ist im Anspruch 1 gekennzeichnet. Es ist dadurch möglich, die ohnehin vorhandenen alpha-numerischen Tasten auch für die Befehlseingabe zu ver-
509821/08 97
Volksbank Böblingen AG, Kto. 8468 (BLZ 60390220) · Postscheck: Stuttgart 996 rZ .'Cö
wenden. Dies kann z.B. dadurch geschehen, daß das jeweilige Befehlswort Buchstabe für Buchstabe eingegeben wird.
Daneben kann selbstverständlich vorgesehen sein, daß das Eingabe-Tastenfeld eine oder mehrere Zusatztasten enthält, die jeweils eine feste Zeichenfolge mit der Bedeutung eines Befehls, darstellen. Solche Zusatztasten können z.B. zur Vereinfachung der Bedienung für häufig benötigte Befehle vorgesehen sein.
In Weiterbildung der Erfindung gemäß Ansprüchen 3 bis 5 ist ' vorgesehen, daß Befehle und andere Zeichenfolgen vom Benutzer definierbarenTasten wahlweise zugeordnet v/erden können. Es ist dadurch möglich, daß bei bestimmten Anwendungsfällen des Rechners häufig auftretende Befehle durch Betätigung entsprechend definierter Tasten, bequem ausgelöst werden können.
Gemäß einem bevorzugten (in der Zeichnung dargestellten) Aus-
führungsbeispi-el-täsiN-vor-liegcnden—Er-f-indung-werden verwendet s
eine Tastatur-Eingabeeinheit, eine Lese- und Aufnahmeeinheit für Magnetbandkassetten, eine Festkörper-Ausgangs-Wiedergabeeinheit, eine wahlweise anzuschließende externe Ausgangs-Driickeinheit, eine Eingangs-/Ausgangs-Steuereinheit, eine Speichereinheit und eine zentrale Prozessoreinheit,um einen anpaßbaren, programmierbaren Rechner- vorzusehender manuell und automatisch betrieben v/erden kann,in den ein Programm eingegeben werden kann, der Magnetbänder lesen und aufnehmen kann und bei dem eine alphanumerische Anzeige und ein alpha-numerischer Druck möglich ist. Die Tastenfeld-Eingabeeinheit enthält eine Gruppe von Datentasten zur Eingabe numerischer Daten in den Rechner, eine Gruppe von Steuertasten für die Steuerung der verschiedenen Betriebsarten und Arbeitsabläufe des Rechners sowie des Formates der Ausgangsanzeige, eine Gruppe von alpha-numerisehen Tasten, die als Schreibmaschinentastatur angeordnet sind, um Anweisungen einzugeben, und schließlich eine Gruppe von Tasten, die vom Benutzer definiert werden können. Alle Daten- und alpha-numerisehen Tasten sowie einige der Steuertasten können auch für die Programmierung
5098 21/08 97
des Rechners eingesetzt werden.
Die Lese- und Aufnahmeeinheit für die Magnetbandkassette ent- . hält einen Lese- und Aufnahmekopf, einen Antrieb, um ein Magnetband am Lese- und Aufnahmekopf vorbeizuführen, sowie Ansteuerschaltungen für Lesen und Aufnehmen, die an den Lese- und Aufnahmekopf angeschlossen sind, um zwischen dem Magnetband und -dem JRechner jLn .beiden .Richtungen Xnf.orraationen .zu übertragen, wie es durch Tastenbefehle oder.solche Befehle festgelegt ist, die ein Teil eines gespeicherten Programmes sind..
Die Eingabe-ZAusgabe-Steuereinheit enthält ein 16—Bit-Universal-Schieberegister, das als Eingabe-/Ausgabe-Register dient und in das Information seriell von der zentralen Prozessor-Einheit oder parallel von der Tastenfeld-Eingabe und von den Lese- und Aufnahmeeinheiten für die Magnetbandkassette übergeben werden können und aus dem Information seriell an die zentrale Prozessoj:- » einheit oder parallel an die Festkörper-Ausgabeanzeige, die I
die . -
Lese- und Aufnalimeeinheit füryMagnetbamdkassette und an Ausgabo-Druckeinheiten übergeben werden kann. Sie enthält weiterhin eine Steuerlogik, die in Abhängigkeit von der zentralen Prozessoreinheit die Übergabe von Information zwischen diesen Einheiten steuert. Die Eingabe-/Ausgabe-Steuereinheit kann auch eingesetzt werden, um die gleichen Funktionen zwischen der zentralen Prozessoreinheit und peripheren Einheiten durchzuführen, welche z. B. eine externe Druckeinheit, ein Analog-Digital-Umsetzer, ein Lochkartenleser, ein X-Y-Plotter, eine externe Magnetbandeinheit, eine Magnetplatte, eine Schreibmaschine oder ein Modem sein können. An die Eingabe-/A.usgabe-Steuereinheit kann gleichzeitig eine Vielzahl von peripheren Einheiten angeschlossen sein und zwar einfach dadurch, daß den ausgewählten peripheren Einheiten zugeordnete Verbindungsmodule in dafür in der Rückwand des Rechnergehäuses vorgesehene Aufnahmevorrichtungen eingesteckt werden.
Die Speichereinheit enthält ein modulares Lese-/Schreibregister
509821/0897
für direkten Zugriff mit einem dem System zugeordneten Bereich und einem separaten Benutzerbereich für die Speicherung von Programmanweisungen und/oder Daten. Der Benutzerteil des Lese-/ Schreibregisters kann ohne Vergrößerung der Gesamtabmessungen des Rechners durch Zufügung eines Programm-Speichermodules erweitert v/erden. Das zusätzliche, für den Benutzer verfügbar gemachte Lese-/Schreibregister wird automatisch, vom.Rechner eingepaßt, und der Benutzer wird automatisch informiertT wenn die Speicherkapazität des Lese-/Schreibregisters überschritten worden ist.
Die Speichereinheit enthält auch einen raodularen Nur-Lese-Speicher, in welchem Routinen und Subroutinen von Instruktionen in Assemblersprachen zur Durchführung der verschiedenen Funktionen des Rechners gespeichert sijid. Diese Routinen und Subroutinen des Nur-Lese-Speichers "können durch den Benutzer erweitert und angepaßt werden, um zusätzliche, an den speziellen Problernen des Benutzers orientierte Funktionen durchzuführen. Dies geschieht
dadurch, daß einfach zusätzliche—Wur-L-ese—Speich-e-r^Moduie—i~n—
Aufnahmevorrichtungen eingesteckt werden, die für diesen Zweck
in einer Seitenwand des Rechnergehäuses vorgesehen sind. Hinzugefügte Nur-Lese-Speicher-Module werden vom Rechner automatisch eingepaßt und stehen dem Zugriff des Rechners über eine Serie von mnemonlschen Tabellen zur Verfügung. Diese Tabellen enthalten mnemonische Ausdrücke, welche Zusätze zu der Programmiersprache des Rechners sind.
Einsteckbare Nur-Lese-Speicher-Module enthalten ζ. B. einen Matrix-Modul, eine STRING-Variablen-Modul, einen Plotter-Modul, einen erweiterten Eingabe-/Ausgabe-Modul und einen Endgerät-Modul. Der Matrix-Modul macht für den Benutzer Matrixfunktionen in Staridard-BASIC-Sprache verfügbar plus eine zusätzliche Funktion, die die Determinante einer zuvor definierten quadratischen Matrix zurückgibt. Der STRING-Variablen-Modul macht für den Benutzer STRING-Variablen-Operationen in Standard-EASIC-Sprache verfügbar. Der Plotter-Modul ermöglicht es dem Benutzer, auf einem externen X-Y-Plotter in zweckmäßiger Weise Kurven zu zeichnen und zu etikettieren. Der erweiterte Eingabe-/Ausgabc-Modul erlaubt, den Rechner
509821/089 7.
einer großen Vielfalt von peripheren Eingabe-/Ausgabe-Einheiten zu benutzen. Der Endgeiät-Modul ermöglicht es, den Rechner mit einem Modem zur Kommunikation zu verbinden, z.B.. mit entfernt angeordneten Teilnehmer-(time-sharing-)Computersystemen.Er erlaubt weiterhin eine freie Textaufbereitung und -speicherung. '. .
J)Ie Speichereinheit enthält weiterhin ein Paar von umlaufenden seriellen 16-Bit-Schieberegistern. Eines dieser Register dient als Speicheradressenregister für die serielle Aufnahme von Information von einer in der zentralen Prozessoreinheit enthaltenen arithmetisch-logischen Einheit, für die parallele Adressierung jedes durch die empfangene Information festgelegten Speicherplatzes zurück zur arithmetisch-logischen Einheit. Das andere dieser Register dient als Speicherzugriffsregister für den seriellen Empfang von Information von der arithmetisch-logischen Einheit, zum Schreiben von Information parallel in jeden adressierten Speicherxnlatz, zum Lesen von Information parallel aus jedem adressierten Speicherplatz und für die serielle Übergabe von Information zur arithmetisch-logischen Einheit. Es dient außerdem als paralleles 4-Bit-Schieberegister für die Übergabe von
• O-
4 Bits von binär kodierter dezimaler Information parallel in Öie arithmetisch-logische Einheit.
Die zentrale Prozessoreinheit enthält 4 umlaufende serielle 16-Bit-Schieberegister, ein serielles 4-Bit-Schieberegister, die arithmetisch-logische Einheit, einen programmierbaren Zeitgeber und einen Mikroprozessor. Zwei dieser seriellen 16-Bit-Schieberegister dienen als Akkumulator-Register für den seriellen Empfang von Information von und die serielle Übergabe von Information zu der arithmetisch-logischen Einheit. Das verwendetet Akkumulator-Register wird durch ein Steuer-Flip -Flop gekennzeichnet. Eines der Akkumulator-Register dient auch als paralleles 4-Bit-Schieberegister für den Empfang von 4 Bits einer binär kodierten dezimalen Information parallel von und zur Übergabe von 4 Bits einer solchen Information parallel zu der arithmetisch-logischen Einheit. Die beiden verbleibenden seriellen 16-Bit-Schieberegister
509 82 1/08 97
• -4·· ■ 23655A2
dienen als ein Progrcimm-Zähler-Register bzw. ein Qualifikationsregister. Sie v/erden auch eingesetzt"für den seriellen"Empfang von Information von und die serielle übergabe von Information zu der arithmetisch-logischen Einheit. Das serielle ^Bit-Schieberegister dient als ein Erweiterungsregister für den seriellen Empfang von Information von entweder dem Speicher-Zugriffs-Register oder der arithmetisch-logischen Einheit und für die serielle
zu der axiizhmetisch— logischen Einheit.
■Die arithmetisch-logische Einheit wird benutzt für die Durchführung von serieller T-Bit-Arithmetik/ 4-Bit-paraller. binär kodierter dezimaler Arithmetik und logischer Operationen. Sie kann auch durch den Mikroprozessor gesteuert werden, um direkte und indirekte Arithmetik in .beiden Richtungen zwischen jedem .aus einer Vielzahl der arbeitenden Register und jedem der Register des Lese-/Schreibregisters durchzuführen.
Der programmierbare Zeitgeber wird verwendet,- um eine veränderliche .„Anzahle von SchAeiae^Imi^uUse^i ..an^ ^ _
und an die seriellen Schieberegister der Eingabe~/Ausgabe-Eiriho-it, der Speichereinheit und der zentralen Prozessoreinheit abzugeben. Er wird außerdem eingesetzt, um Zeitgabe-Steuersignale an die Eingabe~/Ausgabe-Steuerlogik und an den Mikroprozessor abzugeben.
Der Mikroprozessor enthält einen Nur-Lese-Speicher, in dein eine Vielzahl von Mikroinstruktionen und Kodes gespeichert sind. Diese Mikroinstruktionen und Kodes werden verwendet, um die grundlegenden Instruktionen des Rechners durchzuführen. Sie enthalten eine Vielzahl von kodierten und nicht-kodierten Mikroinstruktionen für die Übergabesteuerung zur Eingabe-/Ausgabe~Steuerlogik, für die Steuerung der Adressierung und des Zugriffes der Speicheroinheit und für die Steuerung des Betriebs der zwei Akkumulatorregister, des Programm-Zähler-Registers, des Erweiterungsregiscers und der arithmetisch-logischen Einheit. Sie enthalten außerdem eine Vielzahl von Zeitgeibe-Kodes für die Steuerung des Betriebes des programmierbaren Zeitgebers, eine Vielzahl von Qualifizicrcr-
509821/0897
Auswahlkodes, mit deren die Qualifizierer ausgewählt werden und die als primäre Adressenkodes für die Adressierung des Nur-Lese-Speichers des Mikroprozessors dienen, sowie eine Vielzahl ναι sekundären Adressen-Kodes für die Adressierung des Nur-Ißse-Speichers des Mikroprozessors. In Abhängigkeit von einem Steuersignal aus einem für den Rechner vorgesehenen Energierversorgungsteil, von Steuersignalen für den programmierbaren · Zeitgeber und von Qualifizierer-Steuersignaleii aus der .zentralen Prozessor-•einheit und der Eingabe-/Ausgabe-Steuereinheit gibt der Mikroprozessor die in seinem Nur-Iese-Speicher ge speicherten MUoxiinstruktionen und -Kodes aus und zwar entsprechend wie sie benötigt werden, um entweder binäre odar binärkodierte ^azirnale Information zu verarbeiten, die in den Rechner eingegeben worden ist oder in ihm gespeichert ist. " .
Im Tastenbetxieb wird der Rechner durch Tasten-Kodes gesteuert, die nachsin- ■ ander in den Rschner durch den Benutzer von der Tasterifeld-Eingabeeinheit aus^eingegeben werden. Die Festkörper-Ausgabe-Anzeigeeinheit gibt entwedsr die alphanurnsrische Darstellung der ,Tasten, sowie sie gedruckt werden, wieder oder eine numerische Darstellung von Ausgabedaten oder alphanumerischen Benutzer-Instruktionen oder Programm-Ergebnisse. Ein externer Ausgabe-Drucker kann durch den Benutzer so gesteuert werden, daß er selektiv eine numerische Darstellung aller numerischen Daten druckt, die in den Rechner vom Tastenfeld aus eingegeben werden, daß er eine numerische Darstellung jedes van Rechner errechneten Ergebnisses druckt oder daß er eine Progranmliste auf Zeile- bei-Zeile-Basis der eingegebenen Anweisungen druckt.
3m Tastenbatrieb kann der Rechner auch im "Alles-Drucken-Betrieb" arbeiten. Der Ausgabedrucker druckt dann jede Programmzerle aus, wenn-sie vom-Benutzer eingegeben worden ist.
3m Programmablauf-Betrieb wird der Rechner dadurch gesteuert, daß automatisch eiJie interne Darstellung der gespeicherten ProgramTianweisungen im Benutacr-Speicherbereich des LeseVSchreib-Speichers erhalten wird. Während des automatischen Arbeitens des Recliners können Daten erhalten werden von der Speichereinheit, wie sie durch das Programm gekennzeichnet ist, von der Tastcnfeldcingabeeinheit, wobei der Betrieb des Rachners gestoppt wird entweder für Daten van Programm oder vom Benutzer, oder erhalten werden von
509821/0897
. der Magnetbaiidkassetteneinheit, wie sie vom "Programm gekennzeichnet -ist.
Wenn der Rechner sich im Pr ogrammab lauf -Betrieb befindet, ■ kann der Benutzer euch selektiv einen Verfolgungsbetrieb benutzen, um die.Ausführung des Programms Zeile bei Zeile zu überprüfen, um festzulegen, ob das Progrcunm, • wie es in den Eechner eingegeben worden ist, tatsächlich die erwünschte Folge von Anweisungen ausführt.
Ini Programnreingabe-Betrieb werden vom Benutzer nacheinander Anv/eisungen in den Rechner von der Tastatur aus eingegeben und in ein intern gespeichertes Format umgesetzt, das aus einer Serie von Operations-Kodes und Operancien-Namen steht, und v/erden danach als Brogrammanweisungen im Benutzer-Speicherbereich des LeseVSchreib-Speichers gespeichert.
Die Lese- und Aufnahmseinheit für Magnetbandkassette!! kann van Benutzer eingesetzt werden, um Daten, Programme in BASIC-Sprache, Programme jji fesembler-Sprache oder Sätze von Benutzer-definierbaren Tastendefinitionen getrennt in den Rechner von einer externen Magnetbandkassette aus zu laden.
Die Lese- und Aufnahmeeinheit für Magnetbandkassetten kann vom Benutzer außerdem dazu verwendet werden um Daten, Programms in BASIC-Sprache oder Sätze von Bänutzer-definierbaren Tastendefinitionen, die im Benutzerbereich des Lese-/ Schreib-Speichers gespeichert sind, getrennt auf eine externe Magnetbandkassette aufzunehman. Programms oder Teile davon können vom Benutzer kodiert werden, damit sie sicher sind, wenn sie auf eine externe Magnetbandkassette aufgenommen werden. Der Rechner erfasst solche Programms, wenn sie wieder in den Rechner aarückgeladen werden, und verhindert, daß der Benutzer sie nocheinmal aufnimmt oder irgendeine Auflistung oder andere Kennzeichnung von den individuellen Programmschritten erhalten kann, die in den gesicherten Teilen solcher Programme elthalten sind.
509 8 2 1/0897
Die Erfindung wir im folgenden anhand eines Ausführungsbeispiels erläutert. Es stellen dar:
Fig. 1 eine perspektivische Frontansicht eines anpassbaren, prograiranierbaren Rechners entsprechend der bevorzugten Ausführungsform der vorliegenden Erfindung;
Fig.- 3A-B ein vereinfachtes Blockdiagramm des anpassbaren, prograiranierbaren Rechners nach Fig. 1;
Fig. 4A-F ein Speicherbild der in dem anpassbaren, programmierbaren Rechner nach Fig. 1 und 3 verwendeten Speichereinheit;
Fig. 8 eine Draufsicht auf die Tastenfeld-Eingabeeinheit, die in dem anpassbaren, programmierbaren Rechner nach Fig. 1 und 3 verwendet wird.
509821/0897
Allgemeine Beschreibung
-In Figuren 1 und 2 ist ein anpaßbarer, programmierbarer Rechner IO dargestellt, der sowohl eine Tastenfeld-Eingabeeinheit 12 zur Eingabe von Informationen in den Rechner und zur Steuerung von dessen Betrieb als auch eine Lese- und Aufnahmeeinheit 14 für Magnetbandkassetten enthält,-um innerhalb des Rechners gespeicherte Informationen auf eine oder mehrere externe Bandkassetten 16 aufzunehmen, und um anschließend die auf diesen und auf ähnlichen Magnetbandkassetten gespeicherten Informationen wieder zurück in den Rechner zu laden. Der Rechner enthält auch eine Festkörper—Ausgabe-Anzeigeeinheit 18 zur Wiedergabe von im Rechner gespeicherten alphanumerischen Informationen. Alle diese Eingabe- und Ausgabeeinheiten sind innerhalb eines einzigen Rechnergehäuses 24 montiert, das sich an dessen gewölbte Frontplatte/Anschließt.
Wie in Fig. 3 dargestellt ist, können an den Rechner gleichzeitig eine Vielzahl von peripheren Eingabe- und Ausgabeeinheiten angeschlossen werden, zum Beispiel ein Zeilendrucker, ein Analog-Digital-Umsetzer, ein Lochkartenleser, ein X- Y-Plotter, eine Schreibmaschine, eine Fernschreibmaschine, eine erweiterte Lese-Schreib-Speichereinheit, eine Lese- und Aufnahmeeinheit für Magnetplatten und ein Modem zum Anschluß des Rechners über Telefonleitungen an einen entfernt angeordneten Computer. Der Anschluß geschieht einfach dadurch, daß den ausgewählten peripheren Einheiten zugeordnete Verbindungs-Module 30 in irgendeine von vier Aufnahmevorrichtungen 32 gesteckt werden, die zu diesem Zweck in einer Rückwand 34 des Rechnergehäuses vorgesehen sind. Wenn jeder Verbindungs-Modul 30 in eine dieser Aufnahmevorrichtungen eingeführt wird, schwingt eine federbelastete Klappe 38 am Eingang der Aufnahmevorrichtung nach unten und erlaubt den Durchtritt des Verbindungs-Moduls. Sobald der Verbindungs-Modul voll eingeführt ist, ragt ein Terminal-Brett 4O mit gedruckter Schaltung, das in dem Verbindungs-Modul enthalten ist, in eine Paßleistenkupplung hinein, die im Inneren des Rechners montiert
509821/0897
-Ii - -
ist. Falls irgendwelche der ausgewählten peripheren Einheiten Wechselspannungs-Leitungsenergie benötigen, können ihre Energieversorgungs-Anschlußschnüre in einen von zwei Wechselspannungs-Energieausgängen 42 eingesteckt werden, die zu diesem Zweck an der Rückwand des Rechnergehäuses 24 vorgesehen sind.
Aus dem in Figuren 3A-B dargestellten vereinfachten Blockdiagramm kann man ersehen, daß der Rechner außerdem eine Eingabe-Ausgabe-Steuereinheit 44 (im folgenden als I/O-Steuereinheit bezeichnet) enthält, um die Übergabe von Informationen zu und von den Eingabe- und Ausgabe-Einheiten zu steuern, eine Speichereinheit 4 6 enthält, um in den Rechner eingegebene Information zu speichern und zu manipulieren und um Routinen und Subroutinen von durch den Rechner ausgeführten Basis-Instruktionen zu speichern, sowie eine zentrale Prozessoreinheit 48 (im folgenden als CPU bezeichnet) enthält, um die Ausführung der Routinen und Subroutinen von in der Speichereinheit gespeicherten Basis-Instruktionen zu steuern, sofern sie für die Verarbeitung für die in den Rechner eingegebenen oder in ihm gespeicherten Informationen benötigt werden. Der Rechner enthält außerdem ein Sammelschienen-System, das eine S-Sammelschiene 50, eine T-Sammelschiene 52 und eine R-Sammeischiene 54 für die Übergabe von Informationen von der Speicher- und der I/O-Steuereinheit an die CPU, von der CPU an die Speicher- und die I/O-Steuereinheit und zwischen verschiedenen Teilen der CPU auf v/eist. Es weist weiterhin eine Energieversorgung für die Versorgung des Rechners und der mit ihm verwendeten peripheren Einheiten mit Gleichspannungsenergie und für die Ausgabe eines Kontrollsignals POP auf, wenn dem Rechner Energie zugeführt wird.
Die Speichereinheit 46 enthält einen modularen Lese-Schreib™ Speicher 78 (im folgenden als RWM bezeichnet) für direkten Zugriff, einen modularen Nur-Lese-Speicher 80 (im folgenden als ROM bezeichnet), ein Speicheradressenregister 82 (im folgenden als M-Register bezeichnet), ein Speicherzugriffsregister 84 (im folgenden als T-Register bezeichnet) und eine Kontroll-
509821/Ü897
schaltung 85 für diese Speicher und Register. Das RWM 78 und das ROM 80 enthalten Halbleiterspeicher vom MOS-Typ. Wie im Speicherbild der Figuren 4A-F dargestellt ist, enthält das Basis-RWM 78 einen zugewiesenen System-Speicherabschnitt von 25 6 Sechzehn-Bit-Worten, der sich von Adresse 1400 bis Adresse 1777 erstreckt, sowie einen separaten Programm- und/oder Datencpeicherabschnitt für den Benutzer mit 179 2 Sechzehn-Bit-Worten, der sich von Adresse 40400 bis Adresse 43777 erstreckt. Alle Adressen im Speicherbild sind in oktaler Form dargestellt.
Ein wahlweiser Teil des RWM mit 2048 Sechzehn-Bit-Worten kann für den Benutzer bei den Adressen 44000-47777 verfügbar gemacht werden. Dies wird dadurch erreicht, daß eine Deckplatte 90 des in Fig. 1 gezeigten Rechnergehäuses entfernt wird und eine zusätzliche gedruckte Schaltungsplatte eingefügt wird,, die den wahlweisen Speicher enthält. Der zusätzliche RWM wird automatisch vom Rechner eingepaßt.
Wie in den mehr detaillierten Speicherbildern der Figuren 5A-B dargestellt ist, weist der zugewiesene System-Speicherabschnitt des RWM 52 Worte (Adressen 1400-1463 auf, die Information in Form von mnemonischen Variablen enthalten, welche durch die Firmware-Routinen gemäß Fig. 8 benutzt werden. Eine mehr detaillierte Beschreibung dieser mnemonischen Variablen ist auf Seite 21 der aufgelisteten Basis-System-Firmware gegeben, die an anderer Stelle in dieser Beschreibung enthalten ist. Die Adressen 1466-1477 und 1701-1737 werden als Zwischenspeicher von den verschiedenen in Fig. 8 gezeigten Routinen benutzt. Die Adressen 1500-1550 enthalten einen 41-Wort-Puffer, der benutzt wird, um die Eingabezeichen während der Syntaxanalyse festzuhalten. Die Adressen 1551-1621 enthalten einen 41-Wort-Speicher, der von der in Fig. 8 dargestellten Routine zur Erneuerung einer einzelnen Zeile benutzt wird. Für diese 41 Worte nebst 42 zusätzlichen Worten (Adressen 1622-1673) werden als Syntax-Puffer während der Syntaxanalyse benutzt. Vier von diesen Worten
5 09821/0897
(Adressen 1622-1625) werden als Zwischenspeicher-Register von verschiedenen Routinen zur Anweisungsausführung nach Fig. benutzt. Acht Worte (Adressen 1630-1637) werden als zwei Gleitkommazahl-Zwischenspeicherregister von den Formel-A-uswertungsrEoutinen nach Fig. 8 benutzt. Die Adressen 1640-1677 enthalten 32 Worte, die von den Routinen zur Anweisungsausführung nach Fig. 8 benutzt v/erden. Acht Worte (Adressen 1744-1747 und 1754-1757) werden als Arbeitsregister "ARl" und"AR2" mit je vier Worten eingesetzt, um binär kodierte dezimale Arithmetik durchzuführen. Zusätzliche'acht Worte (Adressen 1740-1743 und 1750-1753) werden als Arbeits-Datenregister "X " und "Y " ein-
cc
gesetzt, um die trigonometrischen Funktionen in Wirkung zu setzen.. Diese sechzehn Worte (Adressen 1740-1757) weirden als Zwischenspeicher-Register von allen Routinen nach Fig. 8 benutzt, mit Ausnahme der Routinen zur Anweisungsausführung und zur Formelauswertung. Ein·"System-Subroutine-Stapelspeicher" von variabler Länge (Adressen 1760-1772) wiird benutzt, um Rück-
■-kehradressen—zu-speicko-rn ,-d.!«^ %on--Hrogxammen_.iifinö-t.igt^wer,de.n .
welche"im ROM 80 gespeichert sind. Vier Worte (Adressen 1773-1776) werden benutzt, um das Ergebnis der letzten Tastenfeld-Rechnung zu speichern. Das letzte Wort in dem System-RWM (Adresse 1777) wird benutzt, um eine Hinweismarke zu speichern, welche die nächste verfügbare Platzierung für die Rückkehradresse des nächsten Subroutinen-Rufs innerhalb des Basissystemes anzeigt. Eine komplette Assemblersprachen-Beschreibung des System-RWM ist auf den Seiten 21-24 der Liste der Basissystemfirmware des Rechners enthalten.
Wie in dem Speicherbild der Figuren 4A-F und dem mehr detaillierten Speicherbild der Fig. 6 dargestellt ist, enthält der Benutzerabschnitt für Programm- und/oder Datenspeicherung des RWM 78 1760 für den Benutzer verfügbare Worte (Benutzeradressen 40440-43777) für die Speicherung von Programmen und/oder Daten, 20 für die Benutzung durch die Unterbrechungsroutine der Figuren 8 und 67A-B bestimmte Worte und 12 für die Benutzung
5098 21/0897
durch einsteckbare ROM-Module verfügbare Worte. Zusätzliche -.2048 Sechzehn-Bit-Worte .können für den «enutzer verfügbar gemacht werden (als Benutzeradresse 44000-47777).
Wie in dem Speicherbild der Figuren 4A-B gezeigt ist, enthält das Basis-ROM 80 außerdem 7680 Sechzehn-Bit-Worte, die sich von Adresse 0000 bis Adresse 1377, von Adresse 2000 bis Adresse 16777 und von Adresse 4OOOO bis Adresse 40377 erstrecken. In diesen Teilen des ROM 80 sind Routinen und Subroutinen von Basisinstruktionen zur Durchführung der grundsätzlichen Funktionen des Rechners sowie von diesen Routinen und Subroutinen verwendete Konstanten gespeichert. Zusätzliche 8192 Sechzehn-Bit-Worte des ROM können außerdem bei Adressen 2ÖOOO-37777 in Schritten von 512 und 1024 Worten hinzugefügt werden.- Dies wird einfach dadurch erreicht, daß einsteckbare ROM-Module 92 in hierfür im Rechner vorgesehene Aufnahrnevorrichtunger·. eingesteckt werden, welche über eine Klappe in der linken Seitenwand des Rechnergehäuses zugänglich sind, wie in Fig. 1 dargestellt ist. Wenn ein einsteckbarer ROM-Modul 9 2 in eine dieser Aufnahmeverrichtungen eingesteckt wird, ragt eine mit einer gedruckten Schaltung versehene Abschlußplatte 96, die sich in dem einsteckbaren ROM-Modul befindet, in eine Kontaktleiste hinein, die innerhalb des Rechners befestigt ist. Ein schwenkbar am oberen Ende jedes einsteckbaren ROM-Moduls 9 2 angebrachter Handgriff erleichtert die Entfernung des einsteckbaren ROM-Moduls, nachdem dieser voll in eine der Aufnahmevorrichtungen eingeschoben worden ist.
In jedem einsteckbaren ROM-Modul 92 sind Routinen und Subroutinen von Basis-Instruktionen (und alle benötigten Konstanten) gespeichert, um den REchner zu befähigen, viele zusätzliche Funktionen durdzuführen. Der Benutzer selbst kann daher schnell und einfach den Rechner so anpassen, daß er viele an den speziellen Erfordernissen des Benutzers orientierte zusätzliche Funktionen durchführen kann, indem er einfach ROM-Module nach eigener Wahl in den Rechner einsteckt. Hinzugefügte einsteckbare ROM-Module w.erden vom Rechner automatisch eingepaßt.
509821/08 9 7
TASTENFELD-OPERATIONEN
Alle durch den Rechner ausgeführten Operationen können durch die Tastenfeld-Eingabeeinheit und /oder durch Tasten-Kodes gesteuert und inganggesetzt werden, welche in den Rechner von der Tastenfeld-Eingabeeinheit, der Lese- und Aufnahmeeinheit • für Magnetbandkassetten oder von peripheren Einheiten -aus, wie zum Beispiel dem Kartenleser, eingegeben und als Programmschritte im Programmsp.eicherabschnitt des RWM gespeichert worden sind. Es wird daher nun eine Beschreibung der Arbeitsweise der Tastenfeld-Eingabceinheit gegeben, wobei speziell auf die perspektivische Ansicht des Rechners in Fig. 1 und die Draufsicht auf das Tastenfeld in Fig. 8 Bezug genommen wird, . es sei denn, daß etwas anderes angezeigt ist.
Netzschalter ' " ' ■
.JBin EiyirAus-Netzj^chaltAk-li^r der,..als ..Tei 1..d-e£,.Ta£tGn t el4"-
Eingabeeinheit betrachtet werden kann, steuert die Energiezufuhr zum Rechner und somit die Ingangsetzung des Steuersignals POP vom Netzteil.
Wie in Fig. 2 dargestellt ist, kann der Rechner mit 240, 220, 120 oder 100 Volt +5%, -10% betrieben werden, was durch ein Paar von Netzspannungs-Wahlschaltern eingestellt werden kann, die an der Rückwand 34 des Rechnergehäuses montiert sind. Der Rechner kann bei einer' Netzfrequenz zwischen 48 und 66 Hz betrieben werden. Der Rechner ist mit einer 6-Ampere-Sicherung und entweder einer !--Ampere-Sicherung für den Betrieb an einer Netzspannuncj von 22Ο odex* 240.VoIt +5%, -10% oder einer 2-Ampere-Sicherung für den Betrieb an einer Netzspannung von 100 oder Volt +5%, -10% versehen. Er ist weiterhin mit einem Dreileiter-Netzkabel 184 verschen, welches, wenn in eine passende Wechselstrom-Steckdose gesteckt, das Rechnorgehäuse erdet. Der maximale Leistungsverbrnuch des Rechners ist 150 VA. .Aus den
609821/0897 .
Wechselstrom-Steckdosen 42, die für periphere .Einheiten vorgesehen sind, kann nicht mehr als 610 VA entnommen v/erden.
EXECUTE (Ausführen) . . '
JDie EXECUTE-(Ausführungs-)Taste (im folgenden auch oft als EXEC bezeichnet) führt, wenn gedrückt die zuvor eingetasteten angezeigten Operationen aus, falls welche vorhanden sind, und zeigt das Resultat aller arithmetischen Anweisungen auf der 32~Zeichen-Anzeige an. (Obwohl die Anzeige nur für 32 Zeichen ist, kann eine 80-Zeichen~Zeile eingetastet v/erden, wobei sowohl" für Programme als auch für Tastenfeld-Operationen ein automatischer Durchlauf stattfindet.) Di'e meisten Tasten bewirken, wenn sie gedrückt v/erden, daß ihre Mnemonik angezeigt wird. Wenn jedoch gewisse Tasten gedrückt werden, zum Beispiel PKT ALL (alles drucken) (diese Taste wird später diskutiert), wird eine spezielle Betriebsart in Wirkung gesetzt und zwar solange, bis diese BetriebsarF übe"rhoT^"~is"t. """ "~"'"" " '"".
FIXED N, FLOAT N (festes N, gleitendes N)
Unmittelbar entweder nach Einschaltung oder nach SCRATCH EXEC (Löschen Ausführen) wird der Benutzerbereich des ROM gelöscht; Numerische Berechnungen, die ausgeführt werden, werden in "Gleitender Neunernotierung" angezeigt. Die Werte 2 und 12 erscheinen in "Gleitender Neunernotierung" als 2.OOOOOOOOOE+OO bzw. 1.200000000E+01. "Gleitende Neun" bezieht sich auf die 9 auf den Dezimalpunkt (,) folgenden Ziffern; E bedeutet χ 10 potenziert mit den zwei auf das E folgenden Ziffern.
Zur Beachtung
In diesem Text werden die einzelnen Tcistenoperationen durch Unterstreichen identifiziert; .zum Beispiel J3 + j? E)(EC. (Auf dem Anzeigefold erscheint 5.000000000E-I-00.)
509821/0897
Die gewünschte Notierung kann spezifiziert werden durch Drücken von FJTXED__N oder FLOAT N gefolgt von der passenden Zahl von KuIl bis elf. Das gewählte "N" gibt die Zahl der ' nach der Ausführung rechts vom Dezimalpunkt wiederzugebenden Ziffern e.n'. ' ' "
.Beispiel:
FIXED N 7 EXEC,
dann 123 4 56^7 l™E£.r .vn'-eder-gegeben wird 12345 6.7000000 oder 123456789^12 3-4 56789 l^EC, wiedergegeben Wird 123456783.123ΟΟΟΟ+; ■■ - - - - -
FL07iT N 5 EXEC
dann 1 2 3 _._ _4 EXKC, wiedergegeben wird 1.234OOE+O2 oder ^ 1 2 3 4 _5 _6 7 .EXEC, wiedergegeben wird 1.234 5 7E-O1-H)
-I-} Die Maschine rechnet auf 12 wesentliche Ziffern, ohne Rücksicht auf die Länge der Anzeige.
" -H-J Dei rechts vom Deziraalpunkt nur fünf Ziffern angerÄgt werden können, ist die fünfte Ziffer gerundet.
In fixed-n~Notierung wird links vom Dezimalpunkt ein Maximum von 12 Ziffern angezeigt; oberhalb dieses Wertes geht der Rechner zur float-n-Notierung über, wobei die Zahl der rechts vom Dezimalpunkt angezeigten Ziffern durch das spezielle fixed~n festgelegt ist, ·
Die Tasten FIXED N und FLOAT N sind nicht progrcimmierbarf das bedeutet, daß sie nur in Tastenfeld-Operationen benutzt werden können. Juisgabe-Formatierung unter Programmsteuerung wird durch eine Formatanweisung bewerkstelligt/ was weiter unten diskutiert wird.
509821 /0S97
Der Rechenbereich des Rechners reicht Von
übi
.99
qq qq ■ —QQ
-9,99999999999 χ 10 über -10 ; 0; und IO bis 9,99999999999 χ 10"
CLEAR, DELETE LINE (Löschen, Zeile herausnehmen)
•Drücken von CJLEAR oder DELETE LINE löscht alles ,was-vorher -während Tastenfeld-Operationen angezeigt worden ist.. Durch Drücken einer dieser Tasten erscheint ein — (liegendes T) ganz links auf der Anzeige, wodurch angezeigt wird, daß der Rechner für neue Eingaben verfügbar ist. Der Unterschied zwischen den beiden Tasten tritt zutage, wenn eine gespeicherte Prograrnrnzeile eingezeigt wird; DELETE LINE löscht die Zeile aus-dem gespeicherten Programm, während CLEAR nur die Anzeige löscht, ohne das Programm selbst anzugreifen. (Eine Programiri" zeile kann auch dadurch gelöscht werden., Saß die Zeilennummer, gefolgt von END OF LINE (Zeilenende) eingetastet wird.)
RECALL (Zurückrufen)
Drücken von RECALL während Tastenfeld-Operationen ruft die letzte ausgeführte Zeile zur Anzeige zurück. Drücken von RECALL während Programm-Eingabe-Operationen ruft die letzte eingegebene Programmzeile in die Anzeige zurück. Palis auf der Anzeige eine Fehlermeldung erscheint, wenn ein Versuch gemacht wird, 'entweder eine Zeile im Tastenfeldbetrxeb auszuführen oder eine Programmzeile in den Speicher einzugeben, ermöglicht das Drücken von RECALL die Wiedersichtbarmachung der Originalzeile für Aufbereitungszwecke.
RESULT (Ergebnis)
Drücken von CLEAR RESULT EXEC zeigt den numerischen Wert der letzten arithmetischen Anweisung an, die ausgeführt worden ist.
509821/0897
' 236.55Λ2
Die RESULT-Tasto erlaubt nicht nur den Rückblick auf das ■Ergebnis der vorher ausgeführten Anweisung, sondern kann auch als ein "Akkumulator" während arithmetischer Operationen wirken, zum Beispiel indem gedrückt wird!
Ά i. A EXEC (in FIXED 2-Notierung) Wiedergabe 6.00, indem dann
-.gedrückt wird.-.- __ . , - : . ....
ί RESULT EXEC Wiedergabe 9.00, indem dann gedrück wird ti + RESULT + RESULT EXEC Wiedergabe 22.00.
Eintasten von RE £> oder R E £> U L T hat die gleiche Wirkung, als wenn die RESULT-Taste gedrückt wird.
PRINT ALL (Alles Drucken) -
Durch Drücken von PRINT ALL kann festgelegt werden, ob der Rechner sich im "Alles Drucken"-Betrieb befindet oder nicht. Wenn ON erscheint, werden sowohl der Ausdruck als auch das Resultat von jeder ausgeführten Berechnung ausgedruckt, und zwar auf jedem beliebigen Druck-Gerät, das in den Rechner eingesteckt ist; wenn OFF erscheint, erscheint die Information nur auf der Anzeige. Wird die PRINT ALL-Taste ein zweites Mal gedrückt, kommt die alternative Betriebsart zur Wirkung. Im "Alles Drucken"-Betrieb wird jede Programmanweisung gedruckt, wenn END OF LINE gedrückt wird. Alle Fehlermeldungen werden ebenfalls gedruckt.
BACK, FORWARD, INSERT (Zurück, Vor, Einfügen)
Die BACK- und FORWARD-Tasten können benutzt werden, -.um Ausdrücke auf der Anzeige aufzubereiten. Aufeinanderfolgendes Niederdrücken der BACK-Taste bewegt eine blinkende Positions-Anzeigemarke zu eier gewünschten Stellung innerhalb der Anzeige. Eine Aufbereitung kann dann an dieser Stellung durchgeführt werden. Die F0_UV7ARD-Tasto führt die gleichen Funktionen wie die BACK-Taste aus, jedoch in entgegengesetzter Richtung.
509821/0897
An der Stellung der blinkenden Positionshinweismarke, können folgende Aufbereitungen vorgenommen werden:
1. Ein Zeichen kann eingefügt werden, indem INSERT gedruckt wird. (Dadurch wird ein freier Raum links von der Positionsanzeigemarke eröffnet, worauf die Positionsanzeigemarke au'f den 'Platz des ^Zwischenraums^ geht;_ weiteresjNiederärücken ^er JENSERT-Taste öffnet weitere Zwischenräume, wobei sich die Positionsanzeigemarke jeweils selbsttätig zum am weitesten links befindlichen^ Zwischenraum bewegt. Auf -..diese Weise können mehr als ein Zeichen zwischendurch eingefügt w erden.) ·
.2. Ein Zeichen kann geändert werden, indem es mit einem anderen Zeichen überschrieben wird.
3. Ein Zeichen kann herausgenommen v/erden, indem entweder die Abstandstäste oder "^SHJF T INS"e_RT"" geclrücTct~"wird.7~wöb~~e"i~~~der~ einzige Unterschied darin besteht, daß das Drücken von SHIFT INSERT den durch das herausgenommene Zeichen entstandenen Abstand schließt. .
Wird BACK oder FORWARD für etwa 1,5- see. gedrückt gehalten, bewegt sich die Positionsanzeigemarke in schneller Folge in der gewählten Richtung.
Sobald eine Zeile passend aufbereitet ist, kann sie unmittelbar ausgeführt werden, ohne daß die Positionsanzeigemarke ans Ende der Zeile bewegt wird, ■,
Wcnn eine Zeile mit mehr als 32 Zeichen (maximal 80 Zeichen) eingegeben wird, wird das links auf der_Anzeige befindliche Zeichen aus dem Anzeigobereich 'herausgeschoben, um Platz für
509821/0897
zusätzliche ,Zeichen zu schaffen. Um den Beginn der Eingabe sichtbar zu machen, wird der nach rechts, zeigende Pfeil gedrückt; diese Operation bewegt die Zeichen.in der Anzeige nach rechts. Drücken des nach links zeigenden Pfeiles bewirkt die entgegengesetzte Operation. Jede Pfeil-Taste wiederholt ihre Operation in schneller Folge, wenn sie für etwa 1,5 see. niedergedrückt gehalten "wiiru.
AKITIIMETIK
Es gibt fünf grundsätzliche numerische Operatoren: addieren (+), subtrahieren (-} , multiplizieren (■$·) , dividieren (/) und potenzieren (^). Die Rangordnung der Ausführung, bekannt als Hierarchie, ist identisch mit der. weiter unten beschriebenen BASIC-IIierarchie. Die B/vSIC-Funktionen, die weiter unten beschrieben sind, sind auf dem Rechner verfügbar, indem einfach in 'den passeneden Mnemoniks eingetastet wird. Zusätzlich kann der Wert TT erhalten werden-,—-indem-j? -_I—^ingefca3-fce-!r--wi-rd;— —
Wenn mit trigonometrischen Funktionen gerechnet wird, nimmt der Rechner den Winkel in Bogenmaß an, sofern nichts anderes festgesetzt ist. Um einen Winkel entweder in Grad oder in Neugrad (rechter Winkel 100 ) auszudrücken, wird zunächst die Anzeige gelöscht und dann entweder DEG EXEC odc'r GRAD EXEC gedrückt. Dann wird der Ausdruck eingetastet* Um wieder in Bogenmaß umzuwandeln, wird die Anzeige gelöscht und dann RAD EXEC gedrückt. Bogenmaß, Grad und Neugrad sind auch programmierbare Befehle.
VARIABLE
Die einfachen "Skalare/,1 Variablen sind. A bis Z und AO bis Z9 (insgesamt 286). Einfache Variable können in Tastenfeld-Operationen benutzt werden; wird zum Beispiel A J3 ~ J ffXEC gedrückt, so wird A3 der Wert 7 zugeordnet. Sofern dann der Wert von A3 nicht geändert oder aus dem Speicher gelöscht wird, wird nach
509821/0897
Drücken von jl oje- A J3 EXEC die Zahl 28 angezeigt. Wenn eine Variable Undefiniert ist, führt jeder Versuch, diese Variable in einem Ausdruck zu benutzen, zu einer Fehlermeldung. (Anders wenn "ihr ein Wert zugeordnet ist.·)
Ein Feld ist eine'geordnete Ansammlung von numerischen Daten. Eine (indizierte) ..Feldvariable Kann entweder eline oder -zwei Dimensionen haben, wie durch die Indizes angezeigt, die als in Klammern gesetzte Zahlen dargestellt sind. A(m) ist ein eindimensionales Feld (oder Spaltenvektor) wobei m die Zeile des Elementes anzeigt; A(m,n.) ist ein zweidimensionales Feld, wobei m die Zeile und η die Spalte des Elementes bezeichnet.
Die maximale Größe eines Feldes wird durch den verfügbaren Speicher des Rechners begrenzt. Bei normalerweise zwölfstelligcr Genauigkeit ist infolge der effektiven Speicherbegrenzung ungefähr ein (30, 3O)-FeId möglich.
Auf Felder sollte entweder in einer gemeinsamen Anweisung oder in einer Dimensionsanweisung bezug genommen werden, bevor sie in einem Programm benützt v/erden; anderenfalls schneidet das Programm ein einfach indiziertes Feld auf ein 10-Elernent-Feld bzw. ein doppelt indiziertes Feld auf ein (10 zu 10) -Feldß'b,
.BAWDKASSETTEN ' . ■ .
Der vorliegende Rechner kann mit zehn Bandkassetten betrieben werden; eine Kassette ist verfügbar über das eingebaute (interne) Kassettenlaufwerk. Vier periphere Kassettenlaufwerke können über die vier ϊ/0-Schlitze in der Rückwand unmittelbar an den Rechner angeschlossen werden.
Weitere fünf periphere Kassettenlaufwerke können hinzugefügt werden, wenn der Benutzer eine Eingangs- Ausgangs-Erweitcrungsbox besitzt. (Insgesamt können mit Hilfe einer Erweiterungsbox 11 periphere Geräte zusätzlich angeschlossen werden).
509821/0897
BYNT-AX
Die BandkassettenBefehle haben allgemeine syntaktische Regeln, die kurz beschrieben werden sollen. Die allgemeine Befehlsform ist mit kleinen Variationen:
COMMAND [UNIT] [fILe] oder _ · Befehl [eINHEIt] [dATEi] oder COMMAND [UNIT] (FILE) [lNX.
[LNxJJ Befehl [EINHEIT] (DATEi)
Eckige Klammern bedeuten, daß die eingeschlossene Information wahlweise ist; runde Klammern bedeuten, daß die eingeschlossene Information mit dem speziellen Befehl benötigt wird.
COMMAND -
Die verschiedenen Befehle vzerden im einzelnen diskutiert v/erden.
Individuelle Einheiten v/erden durch das Zahlen- . aeichen, # , gefolgt von dem Auswahl-Kode; die interne Kassette ist mit H10 bezeichnet (wenn kein Auswahl-Kode ~g"eg*eBerT~TstV wird" el ie "iirt^r7re~Ka"s"s"eTte"~"ängeno'm-"'" men); die neuen peripheren Kassetten sind durch * 1 bis P9 identifiziert.
Dateien innerhalb der individuellen Kassetten werden durch Datei-Nummern identifiziert; wenn keine Datei durch eine Zahl identifiziert ist, wird die Notizblock-Datei (nicht erfüllte Datei), Datei 0, angenommen.
bedeutet die Anfangszeilennummer, die durch den Befehl angegriffen werden soll.
bedeutet entweder die Zeilennummer, bei der die Programmausführung im Anschluß an die Befehlswirkung beginnen soll, oder die Endzeilennummer, zu der in dem Befehl Zugriff genommen werden soll. In jedem Befehl, dessen Syntax LNX1 und LNX„ erlaubt, muß LNX spezifiziert worden sein, um LNX„ zuweisen zxx können.
' 509821/0897
Alle den Befehl folgende Eingabe-Informationen müssen durch Kommata getrennt werden. . ■ ."
Im Tastenfeldbetrieb wird EXEC nach Erfüllung der Syntax-Erfordernisse eines speziellen Befehls gedrückt, um den Befehl Jrammen
VORBEREITUNG EINER NEUEN KASSETTE
Um eine neue Kassette vorzubereiten (eine die keine Markierung hat)/ wird zunächst die Kassettenklappe geöffnet, indem auf den Knopf ganz rechts auf dem Tastenfeld gedrückt wird. Dann wird die Kassette (Druckseite oben) in den in die Klappe eingebauten Schlitz eingeführt. Man muß sich vergewissern, daß. das Band auf der linken Spindel aufgewickelt ist. Falls' dies nicht der Fall ist, man jedoch diese Seite der Kassette "auf jeden Fall vorbereiten will,- Wird- ein-faGh-di-e--Kl^ppa,.gas-ciiljossGii.- und REWIND (Rückspulen) gedrückt.
Um in der Kassette Informationen zu speichern, werden zunächst die zu benutzenden Dateien markiert.
PROGRAMMIERBAKE BEFEHLE
Die folgenden Bandkassettenbefehle sind programmierbar: markieren, speichern, laden, mischen, Taste speichern, Taste laden,· Daten speichern, Daten laden, Binärzahlen laden, rückspulen, auffinden und Bandliste.Diese Befehle können auch im Tastenfeldbetrieb benutzt werden. Andererseits kann der Sicherungsbefehl nur im Tastenfeldbetrieb benutzt werden.
MARK (Markieren)■
Der Markierbefehl erzeugt die gewünschte Anzahl von und definiert die D atei -Längen (durch die Anzahl der 16-Bit-
Wortc pro Datei). 509821/0897
Syntax: MARK [UNIT] (No. of FILES) ' (LENGTH)
MARKIEREN [eINIIEItJ (Dateinummer) (LÄNGE) Beispiel: M A R K. # 12 ι I A 1 0 O 0 EXEC - da das Einheitszeichen β 10 die interne Kassette definiert, ist es überflüssig, es einzuschließen; die "5" zeigt die Zahl der verfügbar zu machenden Dateien an; die -- "1000" bezeichnet die Zahl der' 16-BitrWorte_.pro. Oatel. _
Aufein anderfolgende Dateien auf dem Band können mit verschiedenen Wortlängen markiert werden, wie im folgenden Beispiel gezeigt wird: MARK 3_i. 1000 EXEC dann MARK 2_j_ 2000 EXEC markiert Dateien. 0, 1, 2 der internen Kassette mit Längen von 1000 Worten und markiert Dateien 3, 4 derselben Kassette mit Längen von 200 Worten.
Die Länge einer Datei kann geändert werden; jedoch greift ihre Änderung alle auf sie folgenden Dateien durch Entstellung ihrer Intmlte^arr;—um"din^&ange cirrer· -speziell-en—Datei— z-u-ändern,— wird zunächst die Kassette auf diese Datei durch Benutzung von FIND (FIND wird weiter unten eingehender diskutiert) gestellt; dann wird die'-Datei mit der gewünschten Länge markiert. Beispiel: Um Datei 12 der internen Kassette mit 1000 Worten
zu markieren, wird gedrückt
FIND Υλ_ EXEC und dann
MARK 1, 1000 EXEC .
Um vorher noch nicht markierte Dateien (jungfräuliche Dateien) zu markieren, wird zunächst TLIST durchgeführt; TLIST wird später eingehend diskutiert; zunächst genügt es lediglich zu wissen, daß TLIST [UNITj EXEC alle markierten Dateien auflistet. Um jungfräuliche Dateien zu markieren, ist es zunächst notwendig, die letzte in TLISTH-) aufgelistete Datei zu markieren.
+) Die Zahl der Datei, auf die in TLIST Bezug genommen wird, ist immer eine mehr als die durch den Benutzer nuirkierte Zahl.
5098 21 /.08 9 7 .··.
Wie zuvor diskutiert, wird diese · Datei durch den FIND-• Befehl lokalisiert. Beginnend mit dieser Datei können aufeinanderfolgende jungfräuliche Datei mit den zuvor dis-. kutierten Methoden markiert werden. · .
-Um den Bandanfang zu markieren, ist sicherzustellen,-daß-das -
Band komplett zurückgespult ist.
STORE (Speichern) "·
Der Speicherbefehl nimmt die Programmzeilennummern im RWM und gibt sie ^urn vorgegebenen Platz -auf dem Band, wo sie gesichert werden.
Syntax: STORE ΓϋΝΐτ] (>ILe\ oder SPEICHERN ' 0SINHEIt] r^ STORE (UNIT} (FILE)
Beispiel:
STORE £2 x 3 EXEC: Auswahl-Kode £2 legt fest, welche Kassette dem Zugriff ausgesetzt ist; das Programm wird dann auf dieser Kassette in Datei"Nummer 3 gespeichert". ~ " ~ ""■ ~"
In den Speicherbefehlen werden LNX-, und LNX„ benutzt, um einen Teil des Programms zu speichern: LNX-. spezifiziert die zu speichernde Anfangszeilennummer; LNX2 spezifiziert die zu speichernde Endzeilennummer. Wenn LNX2 nicht spezifiziert ist, wird angenommen, daß die letzte zu speichernde Zeile diejenige Zeile des Programms mit der höchsten Zeilenzahl ist.
Damit LNX„ gegeben werden kann, ist es immer notwendig, zuihaben; dies gilt für jeden Kassetten-Befehl. Zusätzlich muß immer, wenn LNX, gegeben werden soll, die dem Zugriff ausgesetzte Datei identifiziert werden;
509821/0897
Beispiel:
STORE 3_f_ 60 j_ 150 EXEC: Datei 3 der internen Kassette ist plaziert; Programmzcilen 60 bis 150 im Speicher werden dann in Datei 3 gespeichert.
Zur Beachtung: - — - ·■ — -· ■-■■—- · -
Sobald eine Kassette markiert worden'ist, kann zu jeder markierten Datei Zugriff genommen werden, indem deren zugeordnete Datei nummer in einem Befehl gegebe'n wird; sind zum Beispiel fünf Dateien.markiert, kann Information in Dateil 4 gespeichert werden, selbst wenn Datei 3 eine jungfräuliche (leere) Datei 1st, indem STORE _4_ EXEC gedrückt wird.
LOZvD, LINK (Laden, Verbinden)
Der Ladebefahl-^xrairt.,_e.i^-JLn--^
cjramm und setzt es in den Speicherbereich.
Syntax: LOAD [unit] [pile] oder LADEN [eINHEIt]
LOAD [UNIT] (FILE) LLNX1 [lNxJJ LADEN [eINHEIt]
Beispiel:
LOAD EXEC nimmt an, daß die Vernachlässigungs-Datei (Datei 0) der internen Kassette in den Rechner geladen werden soll; jedes vorher im 983OA-Speicher befindliche Programm wird gelöscht.
L07vD 5 x j40 j_ J1O EXEC plaziert Datei 5 auf die interne Kassette; das gesamte Programm auf dieser Datei wird neu numeriert, beginnend bei Zeile Nr. 40, und dann wird das Programm in den Speicher geladen; die Programmausführung wird bei Zeilennummer inganggosetzt. 7VlIc bei Zeile 40 beginnenden Programrazcilenzahlcn,
509821/0 897
die zuvor im Speicher waren, werden gelöscht und durch das Programm ersetzt, das geladen wird; wenn der Speicher vorher Zeilennummern 10, '20, 30 hatte, behält er sie.
Sowohl im Lade- als auch im Mischungs-Befehl kann..die Benutzung -von LNX, und LNX- verschiedene Ergebnisse haben. Regeln zur Vorhersage der Ergebnisse werden am Schluß der Diskussion des Mischungs-Befehls gegeben.
Wird in der vorstehenden Syntax LOAD durch LINK ersetzt, kann der Benutzer den Verbindungs-Befehl in Wirkung setzen. Dieser Befehl arbeitet genauso wie der Lade-Befehl, mit einer Ausnahme: wenn während der Programmausführung eine Ladeanweis.ung angetroffen wird, funktioniert der Rechner so, als wenn RUM ISXEC gedrückt worden wäre, d.h. die alte Symboltabelle wird zerstört, und eine neue Symboltabelle wird aufgebaut; wenn andererseits ein Verbindungs^rBefehl angetroffen wird_,_ arbeitet ___ der Rechner, als wenn CONT EXEC gedrückt worden wäre, d.h. alle Variablen behalten ihre vorherigen Werte.
MERGE (Mischen)
Der Misch-Befehl versucht, Programm-Zeiiennummern von der Kassette zu holen und sie im Lese/Schreib-Speicher vor das zur Zeit dort befindliche Programm,- zwischen-aufeinanderfolgende Zeilennummern im zur Zeit dort befindlichen Programm oder hinter das zur Zeit dort befindliche Programm zu stellen. Wenn jedoch irgendeine Zeilennummer des einz/gebenden Programms zu einer Zeilennummer paßt die sich zur Zeit im Programm befindet, entsteht ein Fehler. Zusätzlich tritt ein Fehler auf, wenn die Zeilennummern von zwei Programmen miteinander verflocheten sind, zum Beispiel wenn das zur Zeit im Speicher befindliche Programm Zeilennummern 10, 20, 30, 4O und das damit zu mischende Programm Zeilcnnummern 15, 25, 35 hat. Der Misch-Befchl erzeugt dann eine Fehlermeldung, die auch
60982 1/0897
dann-auftritt/ wenn keine zwei Zeilennummern zueinander passen.
Syntax: MERGE {UNIT) [FILE} oder MERGE [pNITJ (FILE)
Beispiel:
MERGE £2
MISCHEN [EINHEIT!
MISCHEN [EINHEIT] (DATEI ) JjLNX1
200, 100 EXEC - Datei 1 der Kassette mit Auswahlkode $2 wird platziert; das gesamte Programm auf dieser Detail wird neu numeriert beginnend bei Zeilennummer 200 (LNX-, ) und wird dann mit dem zur Zeit im Speicher befindlichen Programm kombiniert. Nach dem Wirksamererden des Befehls beginnt die Programmausführung bei Zeilennummer 100 (LNX2).
•Sowohl der Misch- als auch der Lade-Befehl können benutzt werden, um Programme im Lese/Schreib-Register zu stapeln. Der Hauptunterschied zwischen den beiden Befehlen ist folgender: LOAD löscht die vorher im Speicher "befindlichen Zeilenzahlen aus, beginnend beim zugewiesenen LNX ; andererseits hält MERGE alle zuvor im 983OA-Speicher befindlichen Zeilenzahlen fest.
Sowohl beim Lade- als auch beim Misch-Befehl sind LNX1 und LNX2 vorhersagbar. Ohne "Rücksicht auf· die Betriebsart numeriert die Programm-Zeilenzahlen der dem Zugriff ausgesetzten Datei derart neu, daß sie bei LNX1 beginnen; der Abstand zwischen aufeinanderfolgenden Zeilennummern bleibt der gleiche; alle GO TO-Anweisungen usw. werden passend abgeändert, damit sie sich auf die neuen Zeilennummern beziehen; dieses Programm wird dann in den Benutzer-Speicher gelctdcn.,
Im■Programmbetrieb:
Wenn LNX„ gegeben ist, wird die Programmausführung bei LNX_ fortgesetzt.
509821/0897
2. Wenn LNX2 nicht gegeben ist,.wird die Programmaus-. - . führung entweder- bei der nächst höheren Zeilennummer des Originalprogramms' oder bei LNX, fortgesetzt, je nachdem welche zuerst kommt.
Im. .Tastenfeldbetrieb: _. ... . —. ·.
1. Wenn LNX„ gegeben istr beginnt die Programmausführung .bei LNX2. -
2. Wenn LNX2 nicht gegeben ist/ hält der Rechner an, nachdem das Programm hineingeladen ist.
STORE KEY, LOAD KEY (Taste speichern, Taste laden).
Dej; "'Taste speichcrn"~Befehl nimmt alle Benufzer-definierbarcn -Tasten.- (linker-Ob.^..n@-r-Bereich auf--dem -Ta&feeri-f-eM-)7-äie-äef-iri-ier-t'-worden sind und gibt sie auf eine Kassetten-Datei die als eine Tastendatei bezeichnet v/erden kann.
Der"Taste laden11-Befehl nimmt die Benutzer definierbare Information der Kassette und gibt sie so in den Speicher, daß jede Benut2er-definierbare Taste die "gleiche Operation ausführt, die sie vorher ausführte, bevor sie auf dem Band gespeichert war.
Syntax: STORE KEY JüNItJ. (FILE) TASTE SPEICHERN [EINHEIT] (Datei) LOAD KEY (UNIT} (FILE) TASTE LADEN IfIINIIEI$ (Datei)
Zwischen den Worten STORE und KEY sowie den Worten LOAD und KEY kann willkürlich ein Abstand gelassen werden. Im allgemeinen ignoriert die BASIC-Sprache der Aninelderin leero Zwischenräume (ausgenommen natürlich in einem Quotenfeld, wo jedes Zeichen und jeder Abstand verdoppelt ist).
S09821/0897
STORE DATA, LOAD DATA (Daten speichern, Daten laden)
Der "Daten speichern"-Befehl nimmt einen Datenblock, vom
Speicher und gibt ihn auf eine Kassette. Normalerweise können ■bei Benutzung dieses Befehls nur. Felder gespeichert-werden;
wenn jedoch im Befehl kein Feld spezifiziert ist, können alle Daten in der Speicherblockanweisung des Programms gespeichert werden. Der Rechner erlaubt sowohl die Verwendung von einfachen Varablen als auch von Feldern in der Speicherblockanweisung; in der Tat kann die Speicherblockanweisung einfache
Variablen, Peldvariablen, Ganzzahlfelder und -variablen sowie gespaltene Felder und Variablen annehmen-!·}.
+) Die Speicherblockanweisung wirkt wie eine Dimensionsanv.'eisung mit dem zusätzlichen Merkmal, daß die gemeinsamen Daten von Programm zu Programm bewahrt werden.
Der "Daten^laden"-Befehl nimmt die Daten, die zuvor in einer Kassetten-Datei gespeichert waren, und lädt sie in den Hauptspeicher. Wenn ein Feld gespeichert worden ist, muß LOAD DATA ein Feld spezifizieren;wenn LOAD DATA kein Feld spezifiziert, entsteht ein Fehler. Wenn andererseits der gemeinsame Bereich von dem "Daten laden"-Befehl wiedergefunden wird, kann in
diesem Fall in dem Befehl kein spezielles Feld spezifiziert
werden, damit kein Fehler auftritt..
Syntax: STORE DATA [UNIT] (FILE) [ARRAY]·
DATEN SPEICHERN [EINHEIT) (Datei - ) [FELD] LOAD DATA [üNlTj (FILE) (ARRAYj
DATEN LADEN JEINHEIT] (Datei ) [FELL)}
Beispiel:
STORE DATA ^1B KXEC platziert Datei 6 auf die interne
Kassette; dann wird das B-Feld im laufenden Programm in dieser Datei gespeichert. (Eine einfache Variable kann in dieser Weise
509821/UB97
nicht gespeichert werden.)
LOADDATA j6 x B EXEC kann dann das B-Feld wieder auffinden und es in den Speicher laden,· wann immer es benötigt wird; der folgende ..Befehl könnte auch gegeben werden:
LQADDATA _6 Λ C EXEC: dies würde das B-Feld wieder auffinden und es in den Speicher an. den Platz des C-Feldes laden, vorausgesetzt, daß B und C die gleichen Abmessungen haben und vom gleichen Typ sind.
Έ& sei angenommen., daß .die .Speicherblockanweisung in einem Programm folgendermaßen aussieht: 1 COM A(8) , B(5,5), D3,
Drücken von STORE DATA 2 EXEC speichert alle Variablen der
Speichcrblockanweisung in Datei—2-u&-3^iR&e&n<tt^-&er&&&lirb&*t-~°-—«~ -
Sowohl die Feldvari-ablen als auch die einfachen Variablen werden durch Drücken von LOAD DATA _2 EXE_C_ wieder aufgefunden.
Drücken von LOAD D7iTA 2 x A EXEC ist nicht erlaubt und verursacht einen Fehler, da kein spezielles Feld aus einer Datei W'ieder' aufgefunden werden kann, wenn es gerneinseim gespeichert war.
Bei allen "Datenspeichern"- und "Daten laden"--Befehlen muß die .Datei identifiziert werden, zu der Zugriff genommen werden soll, auch wenn es die vernachläßigte Datei ' (Datei 0) ist.
LOAD BIN (Binär laden)
Der "Binär laden"·-.Befehl übergibt binäre Information - Assembler-· Sprachenprogramm - von der Kassette an den Benutzerspeicher. Das Assemblersprachenprogramm-kann eine Systemdiagnostik, eine Eingabe- Ausgabe-Subroutine oder ein simulierter "Wcihlblock" sein, der zur Durchführung einer speziellen Funktion vorgesehen
ist· -5 09821/089 7
„ 23655Λ-2.
-Das AssemblerSprachenprogramm kann nicht aufgelistet oder an-^ gezeigt werden.
Syntax: LOAD BIN [unit] (FILE) BINÄR LÄDEN [eINIIEIt] (DATEI) Zur Beachtung: ■·
Dateien auf Kassetten werden bezeichnet als: Programmdateien, 'Tastendateien'," Datendateien oder binäre Dateien. Wenn ein Versuch gemacht wird, von einer speziellen Datei zu laden und. der Ladebefehl die Dateibezeichnung unrichtig identifiziert, tritt ein Fehler auf; wird zum Beispiel, wenn Datei Ϊ eine Programmdatei ist, LOAD KEY j_ EXEC gedrückt, wird das Erscheinen einer Fehlermeldung bewirkt.
REWIND (Rückspulen) · ' -
'Durch Drücken der Rückspultaste, die auf der rechten Seite des Tastenfeldes angeordnet ist, wird die interne Bandkassette sofort bis zum klaren Vorspannband zurückgespult.
Um eine andere* Kassette zurückzuspulen, muß. R E W _I N D eingetastet v/erden, gefolgt von dem Auswahlkode der speziellen Kassette. (Die interne Kassette kann auch zurückgespult werden, indem R E W _I N-D EXEC eingetastet wird.)'
Tl Έ W I N D muß eingetastet werden, wenn der Befehl .irn Programmbetrieb benutzt werden soll.
Syntax: REWIND [üNIt] RÜCKSPULEN [eINHEIt]
Beispiel:
REWjCND#2 EXEC spult die Kassette, mit dem Auswahlkode// 2 zurück.
509821/0897
FIND (Auffinden) ·
.Der'Auffindebefehl (bereits in Verbindung mit dem Markierungsbefehl erwähnt) wird benutzt,- um eine spezielle Datei zu lokalisieren. Während die Kassette nach der Dateihummer sucht, erscheint auf der Anzeige ein liegendes T. Während dieses " Intervalls sucht die Kassette unter unterbrochener -Steuerung, wodurch die Steuerung des Rechner-Tastenfeldes zum Benutzer zurückkehrt. Dieses Merkmal erlaubt die Ausführung eines Teils eines großen Programms, während ein anderer Teil gerade 'aufgefunden wird. Dadurch wird die Zugriffszeit verbessert.
Wenn die spezifizierte Datei gefunden ist, hält-die Kassette an.
Syntax: FIND jÜNITj (FILE) AUFFINDEN [EINHEIT] (Datei) Beispiel: * -^ ~-~--——.-—- ,—-=*, — .·--
FIND k 3 M 2 EXEC bewirkt, daß die Kassette mit dem Ausv/ahlkode f3 sucht, bis Dateinummer 2 lokalisiert worden ist.
Beginnend mit der derzeitigen Bandstellung liest dieses Programm alle aufeinanderfolgenden Datei Identifizierer und druckt jede Datei betreffende Informationen aus.
Syntax: TLIST UNIT TLIST EINHEIT
Die Information für jede Datei auf der festgelegten Kassette wird auf einer Zeile ausgedruckt. Es .sind keine Spaltenüberschriften zur Identifizierung der Informationen in jeder Zeile •vorgesehen; die angenommenen Überschriften sind:
$09821/0897
Datei. "No. Datei Typ Absolute Tatsächliche Progr.Zeilen No. Gem.Bereic] (Kode No.) Dateigröße Dateigröße (Anfang) (Ende) (in Worte; (in Worten) (in Worten) (LNX1) (LNX0)
Die Dateitypen identifizierenden Kodenumrnern sind folgende:
1 binär ·
2 Daten " " ' "" ~ .' ~
3 Programm (Quelle) ■ .
4 Taste
Zusätzlich erscheint, wenn die Datei . gesichert ist, die Zahl 2 vor der Kodenummer (gilt nur für binäre, Quellen- und Tastendatei) ; erscheint zum Beispiel "24" in der zweiten Spalte, so ist die Detail eine gesicherte Tastendetail.
- Wenn eine Datei eine Datendatei ist, ist LNX-^ überflüssig; ; in diesem Fall bedeuten die Daten in dieser Spalte:
0 volle Genauigkeit
1 gespaltene Genauigkeit
2' Ganzzcihl Genauigkeit
3 gemeinsam
Wenn die Datei keine Programmdatei ist, enthalten die beiden letzten Spalten keine -Information,- - - _.-
NICHT-PROGRAMMIERBARE BEFEHLE SECURE (Sichern)
Dieser Befehl ermöglicht es, Programmzeilcn vor potentiellen Benutzern geheim zu heilten; das bedeutet, daß das Programm jemand anderem gegeben werden kann und daß diese Person es laden und ablaufen lassen kann, jedoch keine Möglichkeit hat, bestimmte Prograuimzcilen zum Zwecke der Hi chtbarmachumj abzurufen, und das Programm nicht auf -irgendeiner anderen Kassetten-Datei
$09821/089 7
speichern kann.
Ein "Versuch, eine gesicherte Programmzeile abzurufen, führt dazu, daß auf der Anzeige die Zeilennummer gefolgt von einem # erscheint; Versuche, das Programm aufzulisten, führt.dazu, daß die Nummern der gesicherten Zeilen erscheinen, gefolgt von
Wenn irgendwelche Zeilen in einem Programm gesichert sind, wird das gesamte Programm als gesichert betrachtet; das.bedeutet, daß, sogar wenn gewisse Programmanweisungen sichtbar sind, nichts von dein Programm auf eine andere Kassetten-Datei reproduziert werden kann.
Syntax: SEC [LNX1 (LNX0Il oder SECURE [lNX, (LNX1T)]
Es ist "daher möglich, spezielle Zeilen innerhalb eines Programms'
zu sichern; zum Beispiel si chert" das -lti-eder drü eic cm—von- - S E Q--3 Q-->· -
80 EXEC gefolgt von STORE 2 EJEC die Zeilen 30 bis 80 des Programms im Speicher und speichert dann sowohl die gesicherten als auch die ungesicherten Teile des Programms in ,Datei 2 der internen Kassette. '
V7enn ein Programm anfänglich gesichert ist, kann es immer noch auf so viele Dateien wie nötig reproduziert werden; sobald jedoch das Programm aus dem Speicher gelöscht worden ist, kann es auf keine Kassette mehr reproduziert werden (obwohl es zurück in den Speicher geladen werden kann).
Wenn Programmzeilen gesichert-sind, arbeitet der gesamte Rechner im gesicherten Betrieb. Daher sollte der Benutzer, nachdem das gesicherte Progrcimm weggespeichert ist, SCRATCH A drücken, bevor .andere Programme eingegeben werden, um Fehler bezüglich gesicherter Programme zu vermeiden.
Benutzer-defiriierbare Tasten (wenn sie nicht als Druckhilfen
509821/08 97 .
benutzt werden) können auch gesichert werden. Es wird einfach FETCH (spezielle Taste) SEC EXEC gedrückt, und die ausgewählte Taste ist gesichert.
Zur Beachtung: . .'
Um'die Information"auf einer bestimmten Kassette zur schützen, wird eine der oben an der Kassette befindlichen Laschen abgebrochen; dadurch wird die .Kassette für weitere Speicherung ungzugänglich. ' ' .
PROGRAMMIERUNG
Die Programmiersprache des Rechners ist mit kleinen Abweichungen BASIC, wie unten beschrieben.
Instruktionen ein den Rechner innerhalb eines Programms werden durch Programnianweisungen (Statements) vorgesehen. Jede Anweisung in B7\SIC hat eine zugeordnete Zeilennummer, die im ganz linken Teil der Anweisung erscheinen muß.Λ-) Anweisungs-Zeilenzahlen erscheinen in ansteigender Ordnung, wobei die größtmögliche Zeilenzahl 9999 ist.
+J Die Länge einer Anweisung, einschließlich Zeilennummer und angemessene Abstände, kann bis zu 80 Zeichen betragen.
Eine Programmanweisung, die richtig eingetastet worden ist, kann im Lese/Schreib-Speicher gespeichert werden, indem die Endzeilentaste END OF LINE (EOL) gedrückt wird. Diese Taste befindet sich in einem Bereich, der der Taste "Wagenrücklauf/ Zeile voll" .auf einer Fernschreib-Tastatur entspricht.
AUTO -j
•Wie bereits erwähnt worden ist, können Anweisungs-Zeilennummern automatisch eingegeben werden. In seiner einfachsten Form -be-
50 9821/0897
wirkt das Niederdrücken von AUTO ft EXEC, daß die Zeilenzahl IO ' unmittelbar auf der Anzeige erscheint und auf eine Programman·- weisung wartet. Die Zeilßnnummern von zusätzlichen Anweisungen haben ansteigende Ordnung mit einem Zwischenraum von zehn zwischen aufeinanderfolgenden Zeilennummern. Die AUTO $ (AUTQ)-...Syntax, .und..die folgenden Beispiele geben, einige &er_ Alternativen bei automatischer Zeilennumerierung an.
Syntax: AUTO £
LNX, ist die automatisch einzugebende Anfangszeilenzahl; der -gewünschte Abstand zwischen den Zeilen kann dann e/uigegeben werden, wenn LNX, gegeben ist. Wenn kein Abstand angegeben wird, wird ein Abstand von 10 angenommen.
Beispiel: AUTO f. 30 EXEC AUTO =£ 40 , 2 EXEC AUTO 4 EXEC
30 4Q-— — - "^" Ίο~ ""'"
40 42 20
50
ι
ι
44
ι
ι
I
30
t
ι
ι
Wenn AUTO ψ gedruckt v/ird, erscheint auf der Anzeige 7UJT0. Zur Beachtung: . .. .
Obwohl die Tasten zum Löschen und zum Herausnehmen von Zeilen (CLEAR und DELETE LINE) bereits diskutiert worden sind, sei noch folgendes angemerkt. Wenn eine Programmzeile, die cjerade eingetastet wird,, als völlig unakzeptabel erkannt wird (nicht Wert, durch Benutzung der Aufbereitungstasten gerettet zu werden), kann sie durch Benutzung der Tasten CLEAR oder DELETE LINE ausgelöscht werden. Wenn jedoch die Programmzeilennummern automatisch eingegeben worden sind, löscht das Drücken von CLEAR nicht nur die gesamte Anzeige, sondern beseitigt auch den AUTO ][-•^-Betrieb, während Drücken von DELETE LINE nur die Programmanwcisung löscht, ohne die Zeilcnnummor selbst anzugreifen.
509821/0897
PROGRAMMSICHTUNG
Es bestehen zwei Möglichkeiten, ein gerade im Speicher befindliches Programm zu sichten: . · .
1. AoflistuTig auf einem Druckgerät.
2. Zeile bei Zeile in die Anzeige geben. LIST (Auflisten) ' ' - ■ ■ - -
Der Auflistbefehl hat zwei spezielle Anwendungen: er kann benutzt werden, um eine vollständige Prograrmnauf listung im Lese-Schreib-Register vorzusehen, oder er kann benutzt werden, um das für Eingaben verfügbare Lese- Schreib-Register anzuzeigen; Beispiel:
LIST EXEC . listet auf dem Standard-Druckgerät des
Benutzers alle im Speicher befindlichen Programmzeilen auf.
.LIST jr-3 EXEC listet auf. dem Peripheriegerät mit dem
Auswahlkode ^3 alle im Speicher befindlichen Programmzeilen auf.
LIST 9999 EXEC bewirkt, daß die Anzahl der im Speicher verfügbaren 16-Bit-Worte angezeigt, wird.
Wenn eine spezielle Programmzeile in der Anzeige ist, wird nach niederdrücken von ·]■■ (Pfeil nach unten) die Programmzelle mit der nächst höheren Nummer angezeigt-)-./; andererseits wird durch niederdrücken von Φ (Pfeil nach oben) die Programmzeile mit der nächst niedrigeren Nummer angezeigt. Wenn gerade eine Programmzeile in
•\j Es ist zu beachten, daß, wenn eine Zeile mehr als 3.2 Zeichen hat, die ersten 32 Zeichen angezeigt worden; durch Drücken von <kann der Rast dar Zeile r-:;'ehtbar gemacht werden, da die Anzeige nach links rollt. Am Zeilenende erscheint f— .
'509821/0897
der Anzeige ist, wird nach niederdrücken von 4- die bezüglich der zuletzt angezeigten Zeile nächst höhere Zeile angezeigt, Während durch T die nächst niedrigere Zeile angezeigt wird,
FETCH (Abrufen) · . · ....
15υsatz lieh zur Sichtuivg eines Prograrrirüs Zelle bei Zeile können bestimmte Programmzeilen unmittelbar zur Anzeige gebracht -werden, indem der Abrufbefehl benutzt wird.
Syntax: FETCH [LNX^ ABRUFEN.
Dabei ist LNX, die spezielle abzurufende Zeilermu~niner,
Beispiel:
.FETCH EXEC zeigt immer die Programmzeile mit der niedrigsten
FETCH 300 EXEC zeigt Zeile 300 an, wenn sie existiert; wenn Zeile 300.nicht verfügbar ist (und andere Zeilen höherer Nummern' vorhanden sind), wird die als nächste über 300 liegende Zeile angezeigt; wenn keine Zeilennummern über 300 vorhanden sind, wird die im Speicher verf.ügbare Zeile mit der höchsten Nummer angezeigt.
PROGRAMMAUFBEKE!TUNG'
Jede angezeigte Programmzeile kann durch Benutzung der Tasten BACK, FORWARD und INSERT (zurück; vor und einfügen) aufbereitet werden.
Die bereits diskutierte Rückruftaste (RECALL) braucht nur kurz erwähnt zu werden. Eine Programmzeile wird eingetastet; wenn auf der Anzeige eine Fehlanmeldung erscheint, wenn EOL gedrückt wird, kann die Programmteil© durch Drücken1 von RECALL wieder sichtbar gemacht werden. Die Programmzeile kann dann in passender Weise
50 9821/08 97
•aufbereitet v/erden. Die vorher eingegebene Zeile kann immer durch drücken von RECALL zurückgerufen werden, egal ob ein Fehler erschienen ist oder nicht.
CLEAR und DELETE LINE sind bereits, eingehend diskutiert worden. Es bestehen jedoch, um es =ζτι wiederholen, rzwel Methoden, um eine gerade im Speicher befindliche Programmzeile zu löschen:
1. Wenn die Zeile sich gerade in der Anzeige befindet, löscht sie das Drücken von DELETE LINE aus dem Speicher.(CLEAR löscht nur die Anzeige).
2. Jedei im Speicher befindliche Zeile kann sofort herausgenommen v;erden, indem die passende Zeilennummer gefolgt von EOL eingetastet wird. .
DELETE (Herausnehmen)
Der Herausnahmebefehl (zu unterscheiden von DELETE LINE) kann Programmzeilen, selektiv herausnehmen.
■Syntax: "DELETE QLXX1 JLNXpi oder DEL [1 J
Dabei ist LNX-, die erste herauszunehmende Zeile und LNXX die letzte herauszunehmende Zeile. ' " " ~ "~ ' " ~
Beispiel: . · .
DELETE EXEC nimmt alle Programmzeilen heraus; DELETE _4Ö EXEC nimmt alle Anweisungen beginnend bei Zeile Nr. heraus;
DELETE 60 x J30 EXEC nimmt alle Zeilen von Nummer 50 bis Nummer heraus.
509821/0897
SCRATCH (Löschen)
Mittels des SCRATCH-Befehls kann eine Vielfalt von Dingen aus dem Speicher "ausradiert" werden. -
Beispiel:
SCRATCH EXEC löscht alle Programmzeilen und Variablen;
SCRATCH A EXEC streicht alles aus dem.Speicher - Pragrammzeilen, Benutzer-definierbare Tasten, Variablen (identisch mit Abschaltung und nachträglicher Einschaltung des Rechners);
SCRATCH K EXEC streicht alle Benutzer-definierbaren Tasten
(Benutzerdefinierbare Tasten werden später diskutiert werden);
SCRATCH V EXEC streicht alle Variablen; streicht
"SCRATCH (spezielle Benutzer—definierbare Taste) faxe
spezielle "gedrückte— ■Bemit"Zcar«äef-iTiare?r'b-a>rei-^P-a-srt:e Drücken von jEXEC'ist in diesem Fall nicht erforderlich.
SCRATCH kann dadurch erreicht- v/erden, daß entweder die sieben Buchstaben eingetastet werden oder daß SCRATCH gedrückt wird.
RENUMBER (Neu numerieren)
Der "Neu numerieren"-Befehl nimmt alle Programmzeilennummern und numeriert sie neu.
Syntax: . RENUMBER ILNX, [SPACING]] oder REN [LNX1
Abstand Abstand
Dabei ist LNX, die neue Zeilennummer der ersten Programmanweisung, während "Abstand" der Abstand zwischen aufeinanderfolgenden Zeilennummern gemeint ist.
Beispiel:
REM EXEC numeriert alle Anweisungen um, indem die erste Anweisung, die Nummer "10" bekommt und zwischen den Anweisungen ein Abstand von 10 hergestellt wird;
509821/0897
RENUMBER 30 EXEC numeriert die erste Anweisung in "30" um, wobei zwischen den Anweisungen ein Abstand von 10 erzeugt
wird;
REN _45 j_ 2Ό EXEC numeriert die erste Anweisung "45" um, wobei zwischen aufeinanderfolgenden Anweisungen ein Abstand von 20 erzeugt wird.
Alle Anweisungen im Programm, die sich auf andere Zeilennummern beziehen, werden durch den "Neu numerieren"-Befehl passend korrigiert; zum Beispiel wird GO-TO 80 so korrigiert, daß es sich auf die Teile bezieht, die an die Stelle von Zeile 80 getreten ist.
PROGRAMMKORREKTUR NORMAL, TRACE (Normal, Verfolgen)
Die Verfolgungsta^ste^ kann benutzt werden, um die Reihenfolge der /Ausführung der Anweisungen für ein Programm zu bestimmen, das gercide läuft. Niederdrücken dieser Taste (TRACE) während der Progrcirnmaus führung bewirkt, daß die Z eilen nummern in der Reihenfolge gedruckt werden, in der zu ihnen Zugriff genommen wird; wird dann NORMAL· gedrückt, kehrt der Rechner in den Normalbetrieb zurück. Dementsprechend sind während eines laufenden Programms sowohl TRACE und NORMAL Tasten für sofortige Ausführung. - -■■-■—■ - - ._..·_ _..-- ._ ...
Wenn kein Programm abläuft, ist es für den Wechsel zwischen Verfolgungs- und Normalbetrieb erforderlich, die passende Taste und dann EXEC zu drücken. Der Verfolgungsbetrieb kann derart eingestellt werden, daß spezielle Zeilennummern verfolgt werden.
Syntax: TRACE
Dabei ist LNX, die erste zu verfolgende Zeilennummer,· und LNX „ ist die letzte zu verfolgende Zeilcnnummer.
509821/089 7
Beispiel:
TRACE 20 EXEC verfolgt, beginnend bei Zeilennummer 20, wenn' das Programm läuft. ·
TRACE J50 M j50 EXEC verfolgt, beginnend bei Zeiliennummer 50 und endend Jbei Zeilennummer 60, jedes MalT wenn diese Zeilennummern im Programm ausgeführt werden.
Der Stopbefehl kann eine Anweisung innerhalb eines Programms sein (wird später diskutiert), und kann als Korrekturwerkzeug benutzt werden.
Als Korrekturwerkzeug ist STOP äußert wertvoll. Ein ablaufendes Programm kann zu jeder Zeit durch Drücken von STOP angehalten werden (die laufende Zeilennummer des Programms wird angezeigt). Wenn dann irgendwelche Programmzeilen aufbereitet werden, muß das Programm noch einmal vom Anfang an ablaufen, wobei die Ahlauftaste RUN benutzt wird. WEinn keine Aufbereitung durchgeführt worden ist, kann das Programm dort fortfahren, wo es unterbrochen worden ist, indem die Fortsetzungstaste CONT gedrückt wird (v/ird später detailliert erklärt) . :
Während ein Programm angehalten ist, können·die-Werte von Variablen geprüft werden, um festzustellen, ob das Programm das tut, was es soll; zum Beispiel bestimmt Drücken von A EXEC den gegenwärtigen Wert der einfachen Variable A.
Während ein Programm angehalten ist, kann STOP-i-j eine andere "Punktion haben. Drücken von STOP läßt auf der Anzeige STOP er-
\) Wenn eine'Taste nicht als Taste für sofortige Ausführung benutzt wird, ist es im allgemeinen gleichgültig, ob die Taste selbst gedrückt wird oder ob die auf ihr stehenden Buchstaben individuell eingetastet werden.
509 8 21/0897
scheinen; werden dann entweder eine Zeilennummcr oder zwei durch ein Komma voneinander getrennte Zeilennummern eingetastet so bedeutet dies, daß der Rechner mit der Programmausführung bei diesen Zeilennummern anhalten soll. Drücken von CX)NT EXEC startet dann die Programmausführung; wird zum Beispiel STOP jK> EXEC und dann CONT EXEC oder' RUN EXEC gedrückt, so bewirkt dies, daß das Programm bei Zeile Nummer 80 anhält. Sobald ein Programm unter diesen Bedingungen abläuft, gibt es einen Weg, zur normalen Programmausführung zurückzukehren: nachdem das Programm angehalten hat, wird _STOP EXEC gedrückt und dann CONT EXEC. Das Programm hält dann nicht mehr bei der gegebenen Zeilennuinrner an. ·
STEP (Schritt)
Nachdem ein Programm durch einen Stopbefehl angehalten worden ist, kann die Ausführung durch Drücken^ von^STEP,wieder fortgesetzt werden. STEP bewirkt immer sofortige Ausführung; es bewirkt, daß das Programm die passende 7mweisung ausführt und dann anhält. Baher kann jede Anweisung nach ihrer Ausführung geprüft werden, um sicherzustellen, daß sie die verlangte Funktion ausgeführt hat. Wenn eine spezielle Funktion als befriedigend betrachtet worden'ist, kann entweder CONT oder £TEP gedrückt werden; CONT führt den Rest des Programms aus, während STEP nur die nächste Prograramanweisung ausführt.
RUN, CONTINUE (Ablaufen, Fortsetzen)
Drücken von RUN EXEC bewirkt, daß ein Programm mit der Ausführung bei der ersten Anweisung beginnt, ohne Rücksicht darauf, ob das Programm zuvor durch einen Stopbefehl angehalten worden ist; wenn das Programm durch einen Stopbefehl angehalten worden ist, wird durch Drücken von CONT EXEC die Programmausführung dort begonnen, wo es zuvor angehalten worden ist.
509821/0897
Wie bereits angemerkt worden ist, wird die Programmausführung, .wenn ein Programm nach anhalten aufbereitet worden ist, bei der ersten Zeile wieder ingang gesetzt, wenn RUN EXEC+J gedrückt wird. Wenn jedoch während des Anhaltens die Werte von Variablen geändert werden, oder wenn andere intern programmierte Bedingungen geändert werden, muß COHT EXEC gedruckt werden, ..um diese. neu eingestellten Bedingungen intakt zu halten. Die folgenden Dinge können beim Programm getan werden, während es angehalten ist, wenn das Programm nach Komplettierung durch Drücken von CONT EXEC ausgeführt wird: .
1. Variablen können geändert v/erden; zum Beispiel wird durch B = 5 EXJi£ die einfache Variable B gleich 5 gesetzt.
2. Winkeleinheiten in trigonometrischen Funktionen können in Bogenmaß, Grad oder Neugrad geändert werden, je nach den •Forderungen des Benutzers; zum Beispiel werden durch PEG EXEC alle Winkel in Grad angenommen.
3. Schreib-, Druck-- und Anzeigeanweisungen können vom Tastenfeld aus eingegeben werden (diese Anweisungen werden später diskutiert).
4. Die Daten-Hinweismarke, die die nächste zu treffende Dateneinheit anzeigt, kann auf den Beginn der Daten zurückgestellt werden, indem RESTORE EXEC gedrückt wird.
5. Das Programm"kann" zu einer speziellen Anweisung gehen und dort für die Ausführung verfügbar sein; zum Beispiel setzt GO TO _80 EXEC den Programmzeilenzähler auf 80 für schrittweise oder kontinuierliche Ausführung. (Wenn bei Zeile Nummer 80 kontinuierliche Ausführung erwünscht ist, kann der "kontinuierlichll-Befehl benutzt werden, der weiter unten diskutiert wird.) IF ... THEN (wenn ... dann) kann auch eine spezielle Zeilennummer zugänglich machen.
6. · Alle Rechncr-Tastenfeld-Anweisungen können au :.·.;ο führt
werden.
+!Der Ingangsetzungsbefehl, der später, diskutiert ■ .rd, ist auch
rechtmäßig.
509821/08 9 7
Ein angehaltenes Programm kann beginnend bei jeder beliebigen Zeilennummer ausgeführt v/erden, wenn der Fortsetzungsbefehl benutzt wird; zum Beispiel wird durch CONT 95 EXEC die Ausführung beginnend bei Zeilennurnmer 95 fortgesetzt.
Ein Progranurikann xaan bei jeder beliebigen Zeilennummer beginnend ablaufen lassen; zum Beispiel beginnt die Programmausführung nach Drücken von RUN 110 EXEC bei Zeile Nummer 110.
Zur Beachtung:
Der Hauptunterschied zwischen FiUlNi und CONT besteht darin, daß RUN alle Variablen im Programm initialisiert und zu allen normalen Programinbctriebsarten zurückkehrt, während .CONT weder irgendwelche Variablen angreift noch irgendwelche laufenden Programmbetriebsarten angreift.
PROGRAMMANWEISUNGEN (STATEMENTS)
Wie in BASIC ist LET A = 6 eine erlaubte Anweisung; es ist jedoch auch die stillschweigende LET-Anweisung erlaubt. Dementsprechend ist A ~ 6 das gleiche wie LET A= 6..
GO TO, GO SUB
Die Anweisungen GO TO und GO SUB sind die gleichen wie in BASIC; jedoch hat jede Anweisung ein zusätzliches Merkmal, genannt'berechnetes GO TO bzw. berechnetes GO SUB. In beiden Fällen wird ein Ausdruck ausgewählt, und der gerundete Ganzzahlwert des Ausdrucks wird bestimmt; die Ganzzahl wirkt dann als Hinweismarke für eine spezielle Zoilonnummer von einer Parameterauflistung in der Anweisung. Einige Beispiele sollen
509821/0897
dieses Merkmal näher erklären:
(In allen Beispielen hat T den gegenwärtigen Wert 2.)
20 GO TO ΤΪ2-3 OF 250, 350, 450 . -· .—.-■ - .—-
Da der Ganzzahlwert des Ausdrucks eins ist, wird zum ersten auf "OP" folgenden Parameter Zugriff genommen (Zeile Nummer 250).
80 GO SUB T-f-2.5 OF 130, 260/ 330, 370, 490
J3er gerundete Ganzzahlwert des Ausdrucks ist 5; daher wird .Zugriff zu der Subroutine genommen, die bei Zeile Nummer 490, dem fünften auf 11OF" folgenden Parameter, genommen. (Dezimalvierte von 0,5 und darüber werden immer auf die nächst höhere •Ganzzahl gerundet.) ;
Jeder erlaubte Ausdruck kann benutzt werden; wenn der gerundete Wert entweder kleiner als eins oder größer als die Zahl der auf "OF" folgenden Parameter ist, wird die Zeilennummer ausgeführt, die der GO TO- oder GO SUB-Anweisung folgt.
PRINT (Drucken)
Der Rechner hat in "der" Druckanweisung "ein Merkmal, das u in BASIC nicht allgemein verfügbar ist. Alphabetische Information in einem Quotenfeld kann entweder in Großbuchstaben oder in Kleinbuchstaben gedruckt werden. Drucken in Kleinbuchstaben ist genau das Gegenteil von dem, was auf einer normalen Schreibmaschiene geschieht; wenn die Umschalt- oder Umschaltfeststelltaste gedrückt wird, werden im Quotenfeld befindliche Buchstaben klein geschrieben (die Anzeige erscheint jedoch immer in Großbuchstaben) . Wenn das "at" Symbol (g) benötigt wird, wird SHIFT RESULT (uimjchaltcn Ergebnis) gedrückt.
509821/0897
Auch Quotenfelder in Format- und Schreibanweisungen haben 'dieses "Kleinbuchstaben" Merkmal verfügbar.
DISPLAY (Anzeige) . ■ *
Die Anzeige-Anweisung vollführt die gleiche Funktion wie die
Druckanweisung; der Unterschied besteht darin, Saß..die "In-
formation nicht auf einem Druckgerät sondern auf der Anzeige erscheint. Dementsprechend sollte die Druckanweisung benutzt werden', wenn eine ständige Aufnahme der Information erwünscht ist. Die benutzte Syntax ist DISP.'
"FOPUdAT, WRITE (Format, Schreiben)
Die Formatanv.'eisung ist eine Einrichtung zur Strukturierung der Programm~/\usdrucke in einer spezifizierten Weise. Die Schreibanweisung definiert die Variablen, Konstanten usw., die auf dem Ausdruck erscheinen^-s.i.e..JLeg.tL^aiic^i.„da^^exäi^,fxi2J:j auf dem gedruckt werden soll und die spezielle Formatanweisung, der gefolgt werden soll. Die folgenden Beispiele sollen die Merkmale in der Format- und der Schreibanweisung entsprechend erklären:
Beispiel:
5 FORMAT FlO. 2 "" "" ~"
6 WRITE (15, 5) .7
ausgedruckt wird ^,-^^0.70, wobei "/J1 einen Leerabstand bezeichnet.
FlO.2 - das "F" bezieht sich auf Festkommaformat; "10" bezieht sich auf die gesamte für- das Ausdrucken reservierte Feldbreite; "2" bezieht sich auf die Zahl ■ der Kiffern rechts vom Dezimalpunkt (Komma). über-
509821/08 9 7
schüssiger Platz rechts vom Dezimalpunkt wird mit Nullen gefüllt; ein Abstand ist reserviert für den Dezimalpunkt; zwei -Abstände sind links vom Dezimalpunkt reserviert, einer für eine dem Dezimalpunkt vorangehende Ziffer und der andere für ein Vorzeichen (es werden jedoch nur Minuszeichen gedruckt).
(15, 5) -in der Schreibanweisung wird die Information innerhalb der runden Klammern benötigt. "15" bezieht sich auf das zu benutzende Druckgerät (Auswahlkode 15 bezieht sich auf den Standarddrucker); "5" bezieht sich auf die Zeilennummer der Formatanweisung, zu der Zugriff genommen werden soll (im vorliegenden Fall Nummer 5) . Die Formatanweisung, zu der Zugriff genommen werden soll, kann an beliebiger Stelle in der Programmauflistung erscheinen.
isjp
.7 - in der Schreibanweisu-ng-<di-e-Äuf-rdie—Eichte-r«ndo ..Klara-·= mer folgende Information . entsprechend den vorgegebenen Formaten zu drucken. Der Wert ist innerhalb seiner Feldbreite immer rechtsbündig. Beispiele:
20A= 62.4 .
1 _2_ __._3 4 5
25 FORMAT E12 . 2, ΊπΤ^,'^χ) 'ΕδΤΓ', /', 260 WRITE (15, 25)
ausgedruckt wird: ,
A/w\2. 31E+O2-61.OOOX-1. 2Ε+0Γ
Ο sv*. /s,w^7 .EIO1,
8 9 10
S09821/0897
Die FormatanWeisung, die Schreibarweisung und das Ausdrucken beziehen sich alle auf individuelle Felder; miteinander verbundene Felder werden durch entsprechende Bezugsnummern dargestellt. . · " *
Sofern sich die Schreibanweisung auf die Formatanweisung Nurnme'r~~25'bez'ieht, 'werden die Werte" in der Schreibahweisung .so formatiert, wie in dieser Formatanweisung spezifiziert ist.
Bezugsnummern ■ . ''."'-'
E12.2 bezeichnet exponentielle (Gleitkomma-) Notierung mit
einer Feldbreite von 12 und zwei Ziffern rechts vom Dezimal • .punkt. Ausgedruckt wird die genaue Form. Es sei daran erin-/nert, daß die Feldbreite großgenug sein muß, um ein Vorzeichen, den Dezimalpunkt und E-XY einzuschließen. Da Aus-
'drucke von der Schreibanweisung rechtsbündig sind und da "231" nur acht der zwölf Zeichen der Feldbreite in Anspruch nimmt, sind die vier Leerzeichen links vom Wert.
Der Wert "-61" in der Schreibanweisung füllt das F7.3~Feld voll aus. Daher ist kein Abstand zwischen diesem Wert und dom zuvor ausgedruckten Wert. Da F7.3 drei Ziffern rechts vom Dezimalpunkt bezeichnet, sind in diesem Falle Nullen hinzugefügt. . ·..
"X'1 bezeichnet einen Abstand zwischen Werten; daher werden die für das F7.3- und das E8.1~Format zugeführten Werte beim Ausdruck um mindestens einen Abstand voneinander getrennt.
Der Wert -12.4 füllt E8.1 voll aus; tatsächlich wird die letzte Ziffer unterdrückt, da bei dieser Feldzuweisung nur eine Ziffer dem Dezimalpunkt folgen kann.
"/." teilt dem Druckgerät mit, daß ein Wagenrücklauf bis zum Beginn der nächsten Zeile übersprungen werden soll.
509821/0897
6. 2P4.O spezifiziert zwei aufeinanderfolgende Festkommaformate von F4.0, die für Werte in der Schreibanweisung zu
• benutzen sind. Das erste Format ist für den Wert yon A, der von Programmnummer 20 62.4 ist; wenn ein Festkomma-
_. format null Ziffern rechts vom Dezimalpunkt spezifiziert,
wird der zugeführte Wert auf eine Ganzzahl gerundet, und der Dezimalpunkt wird unterdrückt — in diesem Fall 62. Da der Wagenrücklauf zuvor spezifiziert worden war, wird der Wert am Beginn der nächsten ausgegebenen Zeile gedruckt.
7. Quotenfelder werden in der Folge gedruckt, in der sie auftreten. Da dieses Quotenfeld in der Schreibanweisung ist, wird es gedruckt, unmittelbar nachdem 62.4 in F4.0-Format gedruckt worden ist. Zu beachten ist der Abstand vor "IS";
ohne diesen Abstand würüe^IS'-stcrtt-irZ -IS^-au-s-gedruckc.-. -
Quotenfelder können in Format- oder in Schreibanvzeisungen auftreten.
8. Der Wert .4 wird auch in F4.0-Format gedruckt. Der gerundete GAnzzahlwert von .4 und damit auch der Ausdruck ist Null.
9. "3X" bedeutet, daß zwischen den für'die Formate F4~.O und E9.0 zugeführten Werte drei Abstände sein sollen.
Ausdrücke können in Schreibanweisungen spezifiziert werden. Der Wert von A+3 ist 65.4; jedoch wird er in diesem Format auf 7.E+01 gerundet. Der Dezimalpunkt wird in Gleitkommanotierung nicht unterdrückt, wenn Null als die Zahl der Ziffern rechts vom Dezimalpunkt spezifiziert ist.
Wenn in der Schreibanweisung mehr Werte" vorhanden sind als Formate in der betreffenden Formatanweisung, werden die Formate
509821/0897
wiederholt. Beispiel:
10 FORMAT F6.2, ElO. 2'
20 VJRITE (15, 10) 18, 21, 19.3, 29.6, .71
ausgedruckt wird:
A19. 30/^2.9 6E-I-Ol " ' .
Nachdem die ersten beiden Vierte entsprechend den spezifizierten Formaten gedruckt Worden sind, wird der Wagenrücklauf des /uis~ gabedruckers ingang gesetzt. Dann werden zwei weitere Werte entsprechend den selben beiden spezifizierten Formaten gedruckt usw.
Beim Festkommaformat Fm.η wird mit m die gesamte Feldbreite und mit η die Anzahl de3: Ziffern rechts vorn Dezimalpunkt festgesetzt. Wenn η größer als 0 ist, ist die minimale er- - laubte Feldbreite m = η -I- 3; zum Beispiel wird bei F4.1 für einen Wert von -.G gedruckt -0.6, was die gesamte Feldbreite von 4 beansprucht. Wenn η = 0 ist, ist die minimale Feldbreite m = 2; bei -F2.0 wird für einen Wert von --7 gedruckt .-7, was dementsprechend die zugewiesene Feldbreite in Anspruch nimmt. .
Im Gleitkommaformat Em.η sind m und η das gleiche wie im Festkommaformat. Jedoch ist die minimale erlaubte Feldbreite immer m = η + 7.
Alles folgende ist in Formatanweisung erlaubt: Fm.η -. Festkommaformate;
Em.η - . Gleitkommaformato (oft auch als exponcntielio oder wisfsenachafbliche Notcition bezeichnet) ;
5098 21/0897
X - , Abstand;
/ - ' Wagenrücklauf (für Druckgerät) ; "****" -- Quotenfeld; .
B - Binärformat (wo die Schreibanweisung eine Oktal zahl haben kann, wird das binäre Äquivalent aus gegeben) . .
Alle obigen Begriffe können beliebig oft vervielfacht werden, indem vor das Symbol die passende Zahl·gesetzt wird.
In Schreibanweisungen ist alles folgende erlaubt: Konstanten, Variablen, Ausdrücke und Quotenfelder. Es ist zu beachten, daß eine Schreibanweisung vom Tastenfeld aus eingegeben werden kann;. das bedeutet, daß sich die Schreibemweisung auf die Zeilennum- mer'einer Formatanweisung im Speicher beziehen kann, ohne daß sie sich selbst im Programm befindet.
Die maximale Breite der Festkomma- uiicT ist 9 999. Jedoch ist der Programmierer effektiv durch die erlaubte Anzahl von Zeichen pro Zeile des Druckgerätes beschränkt.
Die Informationen in der Formatanweisung müssen durch Kommata voneinander getrennt v/erden.
Die Informationen in der Schreibanweisung müssen entweder durch Kommata oder durch Semikolons voneinander getrennt werden; grundsätzlich besteht dabei kein Unterschied. Jedoch besteht ein zusätzliches Merkmal der Schreibanweisung darin, daß sie die identischen Operationen vollführen kann wie die Druckanweisung; der Vorteil besteht in der Möglichkeit mittels der Schreibanweisung das Gerät auszuwählen, auf dem gedruckt werden soll. Um auf einem Lochstreifenlcser mit Auswahlkode 2 zu schreiben, kann die Schreibanweisung in folgender Weise aufgesetzt werden: t _ ' 30 WRITE (2, X) A; B; C, D
509821/0897
Das "#" bedeutet, daß auf keine Formatanwcisung bezug genommen wird; daher wirkt WRITE ähnlich wie eine PRINT-Anweisung: die Daten sind linksbündig, Semikolons packen die Ausgabefelder, Kommata spreizen die Felder auf, usw.
P TAPE (Lochstreifen) -
-Wie in BASIC bewirkt PTAPE, daß der Computer ein Programm von einem Lochstreifenleser einliest. Wenn der Auswahlkode des Lochstreifenlesers 5 ist, dann wird diese Arbeit entweder durch Drücken von PTAPE £!5 oder P_TA 45 ausgeführt, es sei denn, daß kein Lochstreifenleser an den Rechner angeschlossen ist. W.enn kein Lochstreifenleser angeschlossen ist, wartet der Rechner solange, bis einer angeschlossen wird, um dann den Befehl zu vollenden. Während 'dieser.Zeit ist die Anzeige leer.
Während dieser Bef ehl - in Wirkung - g&sc&zk. .^/lxd.,_>r der Zei3.en geprüft, die in den Speicher geladen v/erden; wenn eine Zeile fehlerhaft ist, wird sie zurückgewiesen, so daß nu3: solche Zeilen in den Rechner geladen werden, deren Syntax korrekt ist. Um eine Aufnahme der zurückgewiesenen Zeile zu erhalten, ist es nötig, den Rechner auf "alles drucken"-Betrieb zu schalten, bevor PTA j-_5 gedrückt wird; im "alles drucken"— Betrieb werden alle zurückgewiesenen Zeilen gedruckt.
Zur Beachtung:
Um Information auf Lochstreifen zu übertragen, benutzt man den Auflistbefehl', der weiter oben diskutiert worden ist.
MEHRZETLIGE FUNKTIONEN
Mehrzeilige Funktionen dienen dem gleichen Zweck, wie einzeilige Funktionen, wobei jedoch eine zusätzliche Möglichkeit für die Beschreibung komplizierterer Funktionen vorhanden ist.
509821/0897
Bei einzeiligen Funktionen ist die grundsätzliche Form der definierenden Funktion:
Anweisung-Nummer DEF FN Einzelbuchstabe A bis Z (einfache Variable) -i) = Ausdruck. · .
In vielzelligen Funktionen ist die allgemeine Form seitlich von dem Gleichheitszeichen und dem .Ausdruck die gleiche; in einer vielzelligen Funktion kann sich der Ausdruck über viele Anweisungsnummern erstrecken. Daher kann ein äußerst komplizierter Ausdruck in mehr vereinfachter Form erscheinen; zusätzliche Flexibilität kann- auch dadurch erreicht werden, daß der Viert jeder Variable innerhalb des Ausdruckes für einen gegebenen Wert des Argumentes der Funktion berechnet werden kann; Beispiele:
Wenn dieses Programm abläuft, kehrt D zu einem Wert von 32 zurück. Die Rückkehranv/eisung bringt das Ergebnis von FNA (X) zurück, was in diesem Fall gleich D ist. Zeile 40, die Stopanv/eisung, wird benötigt, um den Rechner daran.zu hindern, eine nochmalige Ausführung der Zeilen bis 90 zu versuchen, nachdem D gedruckt . ist; ohne STOP in Zeile 40, tritt in Zeile 60 ein Fehler auf, da, wenn X Undefiniert ist, beginnend mit Zeile 530 ' ein zweiter Durchlauf gemacht würde.
Jede in dem Ausdruck ausgewertete Variable kann durch die Rückkehranweisung zurückgeholt werden, und mehrfache Rückkehranweisungen sind erlaubt;
λ) Die einfache Variable ist eine Schcinvariable, die anzeigt, wo das tatsächliche Argument der Funktion im definierenden Ausdruck benutzt wird.
.5 09821/0897
10 W = .5
20 Y = 2
30 PRINT FNA (3)
40 STOP
50 DEF FNA (X)
60 Z = Χ'ΐ2 + ΥΦ2
70 Q = Z + 3
80 D = Q/W
90 RETURN D ■
100 STOP
• X = 3 ' 100 23655.42 RETURN Z
10 . INPUT Y 110 Q = Z-t2
20 WRITE (15,900) FNG (Y)- 120 IF' Q 6z 100 THEN 150
30 END · · 130 PRINT "Q ="
40 DEF FNG (Y) . ' 140 RETURN Q
50 Y = Y + 1 ■ 150 PRINT "Z IS"
60 Z = ΥΪ2#Χ 160 RETURN Z--
70 IF Z £ 100 THEN 110 900 . FORMAT F12.1
80 PRINT "Z=" 1000 END
90
In diesem Beispiel kann eine Variable von drei verschiedenen Zeilen (100, 140, 160) zurückgeholt werden, abhängig von dem Anfangswert von Y; Z kann von den Zeilen 100 und 160 zurückgeholt werden, wenn der Wert von Y bestimmte Kriterien erfüllt.
Bei der Platzierung der Anweisung, die die Funktion ruft (in beiden Beispielen Anweisung 30), muß vorsichtig vorgegangen v/erden, und es ist im -allgemeinen- rst-saray--^iiimJrttret>^r'^ii.-iHrei!~'-dieser Anweisung eine Stcpanv/eisung zu setzen (wie in Zeile in beiden Beispielen); anderenfalls kann sich eine unerwünschte Schleife entwickeln.
Wenn richtig eingegeben, kann die Funktion einer Funktion aus gewertet werden.
STOP, END (Stop, Ende)' . . . ·
STOP wurde bereits diskutiert, wobei das Schwergewicht auf seinen Möglichkeiten zur Programmkorrektur gelegt wurde. Nun wird es als Programmanweisung diskutiert, wobei das Schwergewicht auf die Unterschiede zwischen ihm und der Endanweisung gelegt wird. .
509821/0897
Wenn· das Programm auf eine Stopanweisung trifft, halt es an und v/artet; wenn dann CONT EXEC gedrückt wird, läuft das Programm weiter, und zwar.bei der Anweisung, die auf STOP folgt. Dies ist nicht so, wenn auf eine Endanweisung gestossen "wird; das Programm hält an, aber wenn CONT EXEC gedrückt wird, kehrt der Rechner zu der Anweisung mit der niedrigsten Nummer, im
Speicher zurück. Daher sollte die Stopanweisung zwischen ge~
staffelten Programmen benutzt werden, die nacheinander ablaufen sollen. V7enn STOP in dieser Weise benutzt wird, können die Werte von einfachen Variablen von Programm zu Programm durchgelassen werden.
"Bin Programm sollte entweder durch STOP oder durch END abgeschlossen werden. Die Programmanweisung mit der höchsten Nummer.'braucht keine Endanweisung zu sein.
DATENEINGABE .
Programmdaten können ciuf drei Weisen eingegeben v/erden: die Eingabeanweisung, die Lese- und Datenanweisungen und den Initialisierungsbefehl. Die Eingäbeanweisung und die Lese- und Datenanweisungen werden weiter unten eingehend diskutiert.
INITIALIZE (Initialisieren) .
Die Initialisierungstaste ordnet, wenn sie gedrückt wird, Feld-Variablen Speicherraum zu. Nachdem die benötigten Daten eingetastet sind, kann das Programm durch Drücken von CONT EXEC aus- -geführt v/erden; zur Erninnerung: RUN EXEC löscht die Werte aller Variablen, so daß,es nötig ist, alle Variablen im Programm selbst zu definieren.
Einfache Variablen können immer im Tastenfeldbetrieb eingegeben werden, ohne daß die Initialisierungsta«te benutzt wird, solange CONT EXEC gedrückt int, um das Programm ablaufen zu lassen. Da
• 509821/0897
Peldvariablen im Tastenfeldbetrieb eingegeben werden können, indem .der Initialisierungsbefehl benutzt wird, ist es nicht erforderlich, irgendwelche Variablen im Programm selbst zu definieren. Es ist jedoch noch nötig, Felder entweder in einer Dimensions- oder in einer gemeinsamen Anweisung zu identifizieren, , -_ - . .
BENUTZER-DEFINIERBARE TASTEN
Es gibt zehn Benutzer-definierbare Tasten (UDK) im oberen linken Block des Tastenfeldes. Effektiv sind jedoch 20 zxigängliche UDKs vorhanden, da jede Taste normal oder mit niedergedrückter Umschalttaste benutzt werden kann.
Um in den UDK-Betrieb einzutreten, wird FETCH (spezielle ODK) gedrückt; auf der Anzeige ist dann zu lesen "KEY" (Taste) mit Angabe der Betriebsart. Um den UDK-Betrieb wieder zu verlassen, wird CLEAR END EXEC gedrückt; der Löschbefehl (SCRATCH),kann auch benutzt werden, um den UDK-Betrieb zu verlassen. Selbstverständlich löscht dieser Befehl gewisse Informationen in der Verarbeitung. UDK-Betrieb wird automatisch ausgeführt, wenn bestimmten Folgen gefolgt wird; dieser Fall wird später diskutiert.
Die Benutzer-definierbaren Tasten können effektiv auf drei Weisen benutzt werden:
1. Um Text darzustellen (wobei der Text als Schreibhilfe benutzt werden kann); ■
2. Um.Funktionen darzustellen (wobei verschiedene Werte zu der Funktion durchgelassen werden können);
3. Um Programme darzustellen.
509821/0897
DARSTELLUNG VON TEXT
Wenn eine Taste Text darstellt, wird nach einfachem Drücken einer Taste unmittelbar der Text angezeigt, ohne daß etwas gelöscht wird, was sich vorher auf der Anzeige befand. So können gewöhnlich benutzte Worte und Phrasen auf Tasten gegeben v/erden, um Schreibhilfen zu erhalten. Text kann in folgender Weise auf eine Taste gegeben werden.
Zunächst verschafft man sich Zugang zu einer Taste durch Drücken ' von FETCH (spezielle UDK). Dann wird » gedrückt, gefolgt von einem Zeichen-String+) und schließlich EOL. Abgesehen von der Eingabe des Zeichen-string nimmt das Drücken von EC)L in dieser Folge den Benutzer aus dem UDK-Betrieh heraus. Jedesmal wenn der Programmierer ein Zeichen-string zu benutzen wünscht, muß er die Taste drücken, in die das gewünschte Zeichen-string eingegeben worden war. Wenn zum Beispiel durch FETCPI (spezielle UDK) Zugang zu einer Taste genommen wurde, wurde £ FORMAT F30. 2_,_X,E10.1 EOL eingegeben. Wenn darauf folgend Programmzeile Nummer 6O dieses Format benötigte, gibt Drücken von J50 (spezielle UDK) EOL Zeile Nummer 60 in den Speicher mit dem benötigten Format. Eine Schreibhilfe-Taste kann als sofort auszuführender Befehl benutzt werden, wenn sowohl vor als auch hinter dem Text ein * gesetzt wird. Beispiel:
FETCH (UDK) y LOADDATA M, 6, B Z< EOL
Dieser Befehl wird sofort ausgeführt, wann immer die UDK gedrückt wird.
Um eine Taste mit Text zu benutzen, wird diese Taste lediglich gedrückt. Drücken von FETCH (spezielle UDK) läßt das vi? mit dem Text zur Anzeige kommen; jedoch kann der Text aufbereitet werden, wenn der Abrufbefehl benutzt wird. Drücken von FETCH und anschJJ es-
+) Die maximale Länge für das Zeichen-string (einschließlich V.\) beträgt 80 Zeichen.
50982 1/0897
send· 3ξ löscht das alte Zeichen-string und läßt den Rechner auf den neuen einzugebenden Text warten.
DARSTELLUNG VON FUNKTIONEN
Eine'"Benutzer-definierbare Taste kann benutzt werden,-um Funktionen darzustellen, sowohl einzeilige als auch mehrzellige. In beiden Fällen muß, nachdem Zugang zu der Taste hergestellt ist, der Funktion eine Zeilennummer vorangehen (Eingabe entweder manuell oder automatisch),
Nachdem Zugang zu einer Taste hergestellt ist, Tcönnte die folgende Funktion eingegeben v/erden: 10 DEF FNA (X) = 7 *'X -3 JEOL Wann immer ein Wert nach X (dem Argument der Funktion) durchgelassen werden soll, wird zunächst die passende Taste gedrückt; auf der Wiedergabe ist FNÄ zu.lesen. Dann wird der passende"Wert des Argumentes eingetastet, ■der"^ntwcrdeT"e"±iye~KoTTS'irci«te:'->"O"deT~"ein"· Ausdruck (zum Beispiel 20) sein kann, und EXEC wird gedrückt; der Wert der Funktion v/ird dann angezeigt, (im vorliegenden Fäll 137) . Das gleicthe Ergebnis hätte durch Benutzung des Abrufbefehls erreicht v/erden können; jedoch wäre FNA nicht automatisch auf der Anzeige erschienen; es hätte in"Reihe mit dem Argument .eingetastet werden müssen; zum Beispiel FETCH (UDK) FNA _20 EXEC würde auch zur Wiedergabe 137 führen.
Wenn eine mehrzellige Funktion, DEF FNB (Z), eingegeben worden ist, bewirkt das Drücken der passenden UDK, daß FNB angezeigt wird; wie vorher wird durch Hrndurchlasseii eines Wertes izxsia Argument Z und durch anschließendes Drücken von EXEC der Wert der Funktion berechnet und angezeigt.
Funktionen im Hauptspeicher und in einer UDK können gerufen werden, ohne Rücksicht auf die laufende Betiriebsart.
6098 21/0897
Wenn, eine Funktion im Rechner an mehr als einer Stelle definiert ist, wird zu der ersten Funktion mit dem zugeordneten Namen Zugriff genommen. Wenn der Benutzer im UDK-Betrieb ist, sucht der.Rechner in folgender Reihenfolge nach der Funktion: -
1. Das laufende UDK-Programm v/ird geprüft. "2. Die erste 1ZeIIe jeder Taste {in der definierten ^Reihenfolge)
wird geprüft.
3. Der Hauptspeicher wird geprüft.
Wenn der Benutzer nicht im UDK Betrieb ist, wird die Suche in der Reihenfolge 3. und 2. durchgeführt.
DARSTELLUNG VON PROGRAMi-IEN
'Eine UDK kann benutzt v/erden, um ein vollständiges Programm darzustellen. Die Programmierregeln im UDK-Betrieb stimmen mit den oben diskutierten überein. Es gibt jedoch eine Einschränkung; wenn eine gemeinsame Anweisung benutzt wird, muß ihre Größe kleiner als oder so groß wie die Größe der gemeinsamen Anweisung im Hauptprogramm sein, da nur ein gemeinsamer Bereich dem Speicher zugewiesen ist.
Um ein Programm ablaufen zu lassen, das in einer UDK dargestellt ist, ist es ratsam, RUN (spezielle UDK) oder FETCH (UDK) und dann INIT (spezielle UDK) zu drücken. Das Programm kann fortgesetzt werden, indem lediglich die (spezielle UDK) gedrückt wird; wenn jedoch Feldvariablen im Progriiram vorhanden sind, bewirkt das Drücken lediglich dieser Taste, daß diese Variablen Undefiniert werden (in dieser Hinsicht ähnlich dem Fortsetzungsbefehl, der weder die alte-Symboltabelle zerstört noch eine neue aufbaut). Nachdem das Programm ausgeführt ist, verläßt der Rechner den UDK-Betrieb wieder.
509821/0897
Auf einer UDK dargestellten Programme benutzen im allgemeinen nur einfache Variable wegen der offensichtlich leichteren Handhabung..
Um Programmzeilen auf einer speziellen UDK aufzulisten, wird ■-gedrückt: '
LIST (spezielle UDK);
■Drücken von LIST EXEC,im UDK-Betrieb listet die Programmzeilen auf die Taste auf, zu der gerade Zugang besteht. Um spezielle Zeilen selektiv auf die UDK aufzulisten/ ist es zunächst notwendig, eine Taste, abzurufen (FETCH) ; danach wird der Auflistbefehl benutzt, wie weiter unten diskutiert wird.
Um ein Programm von einer Kassetten-Datei auf eine spezielle Taste zu laden, wird die Taste zunächst abgerufen (FETCH), und dann wird der Ladebefehl gefolgt von EXEC gegeben. Programm-Zeilen auf einer speziellen Tas^te Jcönnen in gleicher Weise auf der Kassette gespeichert v/erden; Text (zum Beispiel Schreibhilfe) kann jedoch nicht in dieser Weise gespeichert werden.
Die Speichertaste (STORE) und die Ladetaste (LOAD) können für .jede UDK benutzt werden, ohne Rücksicht auf die Information auf der Taste. Die Benutzung dieser Taste/1 wird weiter unten diskutiert.
509821/0897
ANWEISUNGSNUMMERN
Jede BASIC-Änweisung beginnt mit einer Anweisungsnummer (statement number), im vorliegenden Beispiel 20:
_. 20 LET S *= (A+B+C+D+E)/5 _ _
Bemerkungen
Die Zahl wird.Anweisungsnummer oder Zeilennummer genannt.
Die Anweisungsnummer wird vom Programmierer ausgewählt. Es ' kann jede Ganzzahl von 1 bis einschließlich 9999 sein.
Jede Anweisung hat eine eindeutige Anweisungsnummer. Der Computer benutzt die Nummern, um die Anweisungen in Ordnung zu halten. " ' * ~ " ""** ■——-- **»■■- ■· **"■ - ·
Anweisungen können in beliebiger Reihenfolge eingegeben werdenι sie werden üblicherweise in Fünfer- oder Zehnerschritten numeriert, so daß zusätzliche Anweisungen leicht eingefügt v/erden können. Der Computer bringt sie in numerische Reihenfolge, wie sie eingegeben worden sind.Wecden. z.B. Anweisungen in der .Reihenfolge 30, 10, 20 eingegeben, bringt der Computer sie in die Reihenfolge 10, 20, 30.
. EIN PROGRAMM '
Die Folge von auf den vorherigen 10 INPUT A,B,C,D,E
Seiten gegebenen BASIC-Anweisungen 20 LET S= (A+B-KM-D+E)/5
wird ein Programm genannt. , 30 PRINT S
509821 /0897
J3IN PROGRAMM (FORTSETZUNG)
Die letzte Anweisung in einem 40 GO TO 10 Programm ist, wie hier gezeigt ist, 50 END eine END-Anweisung.
Bemerkungen . ·
Die""letzte Anweisung (mit der höchsten Nummer) in einem Programm muß eine END-Anweisung sein. . .
Die END-Anweisung informiert den Computer, daß das Programm beendet ist.
PREIFORMAT-SPRACHE
BASIC ist eine "Freifor'mat"~Sprache. Der Computer ignoriert zusätzliche Leerfelder in einer Anweisung. Zum Beispiel sind folgende drei Anweisungen äquivalent:
30 PRINT S
30 PRINT S
30PRINTS
Bemerkungen ' ' .
Wenn möglich, läßt man in einer Anweisung einen Abstand zwischen Worten und Zahlen. Dadurch .wird das Programm füiandere Leute leichter lesbar. · . .
VERGLEICHSOPERJvTOREN
Symbole: == ·# <> > < >=*
. 609821/0897
FREIFORMAT-SPRACHE (FORTSETZUNG) 2365542
Beispiele: IpO IF A=B THEN SOO • ' 110 IF A+B >C THEN
120 IP Ä+B < C+E THEN 130 IF O=D*E THEN 930-• 140' IF C9<= G*H THEN 940" 150 IF P2/PC9 THEN 160 IE J O K- THEN
Zweck
Festlegung der logischen Beziehung zwischen zwei Ausdrücken in folgender Weise;
gleich: = ·
• . ungleich; # oder <■>
größer als: > ' . ·
kleiner als : <
größer gleich: > = ■
ARITHMETISCHE OPERATOREN
Symbole: +"*/ + -
•Beispiele: 40 LET Nl = X-5
50 LET C2 = N+3 60 LET A .= (B-C) /4 70 LET X = ((P+2)-(Y*X))/N+Q
Zweck
Darstellung einer arithmetischen Operation wie;
potenzieren: f
multiplizieren : ■#
dividieren : /
addieren : +
subtrcilu aron : -
509821/0897
ARITHMETISCHE OPERATOREN, FORTSETZUNG
Die Symbole + und - werden auch benutzt, um.monadisches Plus und monadisches Minus zu bezeichnen. Zum Beispiel können in einer Anweisung negative Zahlen ohne Benutzung von,Klammern ausgedrückt werden: · . ■
10 LET Al = -B
20 LET C2 = D ++E
30 LET B5 = B —C
Siehe "Rangordnung" zum Beispiel in diesem Abschnitt oder wie monadisches + und monadisches -Zeichen interpretiert werden.
DER UND- (AND-) OPERATOR
Symbol: AND IF A9<B1 AND C4 5 THEN 100
Beispiele : 60 if" "T7irT~ "AND J=Tf" "Then"
70 IF Pl AND R>1 AND N AND V2 THEN 10
80
90 PRINT X AND Y
Zweck
Bildung einer logischen Konjunktion zwischen zwei Ausdrücken. Wenn beide "wahr" sind, ist die Konjunktion "wahr"; wenn einer oder beide "falsch" sind·, ist die Konjunktion "falsch".
Zur Beachtung: Es ist für den Neuling nicht notwendig, zu verstehen, wie dieser Operator arbeitet. Die folgenden Bemerkungen wenden sich an den erfahrenen Programmierer.
Bemerkungen
Der numerische Wert von "wahr" ist 1 und von "falsch"
50382 1/08 97
DER UND-OPERATOR (FORTSETZUNG) ' ___„_._
Alle Werte, die nicht O sind, sind "wahr". Zum Beispiel druckt die Anweisung 90 entweder eine 0 oder eine 1 (den logischen Wert des Ausdrucks X AND Y) an Stelle der tatsächlichen numerischen Werte von X und Y.
'Die Steuerung wird in einer AND benutzenden IF-Anweisung nur transferiert, wenn alle Teile der AND-Konjunktion "wahr"
■sind. Zum Beispiel benötigt die Anweisung 80 im obigen Bel·
spiel vier "wahre" Bedingungen, bevor die Steuerung zur Anweisung 10 transferiert wird.
Eine eingehendere Beschreibung der logischen Auswertung findet sich in Abschnitt V "Logische Operationen".
·* . · ' DER ODER-(OR-) OPERATOR
Symbol: OR
Beispiele: .100.IE A>l-OH..B4Sjrmm~
110 PRINT O OR D
120 LET D = X OR Y
130 IF (X AND Y) OR (P AND Q) THEN 600
Zweck
Bildung der logischen Disjunktion von zwei Ausdrücken. Wenn einer oder beide der Ausdrücke "wahr" sind, ist die OR-Disjunktion "wahr"; wenn beide Ausdrücke "falsch" sind, ist die OR-Disjunktion "falsch".
Zur Beachtung für den Neuling ist es nicht notwendig, zu verstehen, wie dieser Operator arbeitet. Die folgenden Bemerkungen wenden sich an den erfahrenen Programmierer.
503821/0897
DER ODER-OPERATOR (FORTSETZUNG)
Bemerkungen ·
Die numerischen Werte sind: "wahr"gleich lf "falsch" gleich O,
Alle Werte, die nicht O sind, sind "wahr";'alle Werte, die sind, sind "falsch". ■ · ' ' ' '·'.
Die Steuerung wird in einer OR benutzenden IF-Anweisung trans-· feriert, wenn einer oder beide der zwei Ausdrücke"als "wahr" ausgewertet werden. . .
Eine eingehendere Beschreibung der logischen Auswertung findet sich in Abschnitt V "Logische Operationen".
DER NICHT-(NOT-) OPERJiTOR
Symbol:__ _
Beispiele: 30 LET-X = Y = 0
35 IF NOT A THEN 300
45 IF (NOT C) AND A THEN 400
55 LET B5 = NOT P
65 PRINT NOT (X AND Y)
70 IF NOT (A=B) THEN 500
Zweck
Logische Auswertung des Komplements eine gegebenen Ausdrucks,
Zur Beachtung: Es ist für den Neuling nicht erforderlich, zu
verstehen, wie dieser Operator arbeitet. Die
folgenden Bemerkungen wenden sich an den erfahrenen Programmierer. "
508821/0897
DER NICHT-OPERATOR (FORTSETZUNG)
Bemerkungen
• Wenn A = O ist, dann ist NOT A = If wenn der Wert von A nicht D ist, ist NOT A = Ο» . . · . .
Die numerischen Werte sind; "wahr" = 1, "falsch" = Oj zum Beispiel druckt die obige Anweisung 65 "1", wenn der Ausdruck iiOT (X AND Y) "wahr" ist»
Es ist zu beachten, daß die logischen Spezifikationen eines Ausdruckes durch Bildung des Komplements geändert werden können. In der obigen Anweisung 35 ist die Auswertung "wahr" (1) , wenn "A" gleich O ist; v/enn A einen numerischen Wert O hat, hat es einen logischen Wert "falsch", wodurch NOT A "wahr" wird.
Eine eingehendere Beschreibung der logischen Auswertung findet sich in Abschnitt V "logische Operationen".
RANGORDNUNG
Die Reihenfolge für die Durchführung von Operationen ist föl gende:
f ' höchster Rang
NOT monadisch + monadisch -
Vergleichsoperatoren
. AND .
OR ■ niedrigster Rang
Bemerkungen
Wenn sich zwei Operationen auf der gleichen Ranghöhe -befinden, ist die Reihenfolge der Ausführung von links nach rechts.
Beispiel:
5+6*7- wird ausgewertet als 5 + (6x7) 7/14·« 2/5 wird ausgewertet als (7/14)x2
509821/089 7 5
• - · RANGORDNUNG (FORTSETZUNG) «Ti ** " " ■ Runde Klammern heben die Rangordnung in allen Fällen auf. Beispiel:
5 + (6x3) wird ausgewertet als 5+18 und ' · '
' 3 + (6+(2<-2)) wird ausgewertet als 3 + (6+4).
Monadisches + und - können benutzt v/erden; BASIC nimmt dabei
runde Klammern an. -Beispiel:' ■ -■■- — —
A + + B wird interpretiert als A + (+B) C - + D -5 wird interpretiert als C - (+D)-5
Vorangehende monadische +-Vorzeichen werden von BASIC aus der Ausgabe entfernt, verbleiben jedoch in Programmauflistungen,
DIE LET-ANWEISUNG
Beispiele: 10 LET A = 5.02
~- "~~~ '"TTtTEElT1 "X:'= VT ^""Z" ^o~
30 LET B9 = 5^ (X 2)
40 LET D = (3*C2*N)/(A*(N/2))
Allgemeine Form:
Anweisungsnumnier LET Variable ·= Zahl oder Ausdruck oder Variable.
Zweck
Wertzuweisung oder -Spezifizierung einer Variablen. Der Wert kann ein Ausdruck, eine Zahl oder, eine Variable sein.
Bemerkungen
Die Er_^gibt-Anweisung muß enthalten:
1. eine Anweisungsnummer,
2. wahlweise LET,
3. die Variable, der ein Wert zugewiesen werden soll (z.B. B9 in der obigen Anweisung 30),
4. den Ej-__gibt-Operator, ein Gleichheitszeichen,
5. die Zahl, den Ausdruck oder die Variable, die der
5 09821/0897
DIE LET-ANWEISONG (FORTSETZUNG)
Variablen zugewiesen werden soll (z.B. 5^(X^2) in der obigen Anweisung 30) .
Anweisung 20 im obigen Beispiel zeigt die Benutzung einer 'Zuweisung des Ergebniswertes 0 zu verschiedenen Variablen. Dies ist ein nützliches Merkmal zur Initialisierung von Variablen beim Programmanfang. · .
REM
Beispiele: 10 REM— dies "ist ein Beispiel
20 REM: von REM-Anweisungen 30 KEM-—/////*****« Hi!
40 REM Anweisungen werden von BASIC
nicht ausgeführt
Allgemeine Form: Anweisungsnummer REM beliebige Bemerkung oder
Zeichenserie
Zweck
Einfügung.einer Zeile mit Bemerkungen oder Kommentar in der Auflistung eines Programms. '
Bemerkungen
Eine Zeilennummer muß vorangehen. REM können beliebige Zeichenserien folgen.
REM-Zeilen sind Teil eines BASIC— Programms und werden gedruckt, wenn das Programm aufgelistet oder gelocht wird; bei der Programmausführung werden sie jedoch ignoriert.
50 9821/0897
TJHDCKM r5
Dieses Abtastprograrnm zeigt verschiedene Beispiele der . PRINT-Anweisung. Die Ergebnisse sind unten gezeigt.
10 LET A=B=C=IO . .
20 LET Dl=E9=2O . ·
30 PRINT A,B,C,Dl,E9 . .
40 PRINT A/B,B/C/D1+E9 —- · ■
50 PRINT "BEACHTE DIE POTENZ ZUR AUSWERTUNG EINES AUSDRUCKES UND DRUCKE DEN".
60 PRINT "WERT IN DERSELBEN ANWEISUNG". . " ■ "
70 PRINT
80 PRINT
~9Ό ΉΕΜ* 11PRINT" OHNE OPERAND BEWIRKT, DASS DER DRÜCKER 'EINE ZEILE ÜBERSPRINGT.
PRINT "1A1 GETEILT DURCH !E9f =";A/E9 PRINT "Hill", "22222", "33333" , "44444", "55555", "666C6" PRINT "Hill"; "22222"; "33333"; "44444"; "55555"; "66666" END "~ ~ ~"~ .-.-„_.-__--„ ,«—«■»»-« —
-ERGEBNISSE
10 10 10 20 20 1 20.05
BEACHTE DIE POTENZ ZUR AUSWERTUNG EINES AUSDRUCKES UND DRÜCKE DEN WERT IN DER SELBEN ANWEISUNG.
1A1 GETEILT DURCH Έ9' = .5
Hill 22222 '33333 44444 55555 66666
111112222233333444445555566666
Zur Beachtung: Das"," und das";", die in den Anweisungen 110
und 120 benutzt werden, haben sehr verschiedene Wirkungen auf das Format.
609821/0897
• —· DRÜCKEN (PRINT) , FORTSETZUNG
Allgemeine Form;
Anwei sung snummer PRINT Ausdruck ± Ausdruck '^ ..#
oder
Anwei sung snummer PRINT "beliebiger Text" j_ Ausdruck j_ . . .
oder
Anweisungsnummer PRINT "Text" j_ Ausdruck j_ "Text" j_ "Text" ^ . .
oder . ·
Anweisungsnummer PRINT beliebige Kombination von Text und/oder
Ausdrücken
oder
Anweisungsnummer PRINT
■ ' ' Zweck . ' ;
Ausgabe von Ausdrücken oder "Text" an den Drucker. Bewirkt, ■ . daß der Drucker eine Zeile überspringt, wenn es ohne Operand benutzt wird.
Bemerkungen
Zu beachten sind die Wirkungen von t und ; auf die Ausgabe des Abtastprogramms. Wenn ein Komma benutzt wird, um PRINT-Operanden 2U trennen, werden pro Druckerzeile fünf Felder gedruckt. Wenn ein ; benutzt wird, werden pro Druckerz ei Ie (7.2_ Zeichen) zwölf "gepackte" numerische Felder ausgegeben.
Text in Anführungszeichen wird wörtlich gedruckt.
Zur Beachtung: Ein Variablen-Name wird von BASIC als einfacher
Ausdruck betrachtet. Zum Beispiel kann eine Anweisung für die.oben gezeigte erste allgemeine Form folgendermaßen aussehen:
100 PRINT Al, B2, C3
oder
110 PRINT A, Z, X, T9
509821/0897
DRUCKEN (PRINT) ,' PORTSETZUNG wobei die Variablen numerische Ausdrücke darstellen.
Es sei daran erinnert, daß Variablenwerte in einer.Zuordnung, INPUT-(Eingabe-), READ-(Lese-) oder FOR-Anweisung definiert v/erden müssen, bevor sie in einer PRINT-Anweisung benutzt v/erden.
Endet eine PRINT-Anweisung mit'einem Semikolon, so bewirkt dies, daß die Ausgabe eher auf derselben Zeile gedruckt wird, als daß zurück Zeilevoll nach Ausführung der Anweisung erzeugt wird. Beispiel: Die Folge
20 LET X=I
30 PRINT X; "
40 LET X=X+1
50 GO TO 30
erzeugt eine Ausgabe in folgendem Format:
1 2 3 4 5 6 7 8 . 9 10 11 12
13 14 15 IG 17 18 19 20 21 22 23 24
In ähnlicher Weise wird, wenn eine PRINT-Anweisung mit einem
Komma endet, bewirkt, daß die Ausgabe alle fünf Felder auf einer
Zeile ausfüllt, bevor sie zur nächsten Zeile übergeht. Das End-Komma in Anweisung 30 in der Folge:
20 LET X=I 30 PRINT X, 40 LET X=X+1 50 GO TO 30
erzeugt eine Ausgabe in folgendem Format;
.5 09821/0897 ·
,DRUCKEN (PRINT) , FORTSETZUNG 2365542
ι .' ' 2 3 4 5
6 7 8 9 IO
11 12 13 14 15
Eine PRINT-Anweisung ohne Operand (Anweisungen 70 und 80 in 'dem AbtastprograBim) erzeugt ein zurück Zeile voll.
GO TO UND GO TO FÜR MEHRFACHE VERZWEIGUNG Beispiele: 10 LET X = 20
40 GO TO X+Y OF 410,420,430
50 GOTO 100
80 GOTO 10
90 GO TO N OF 100,150,180,190
Allgemeine Form:
Anweisungsnummer GO TO Anweisungsnummer Anweisuηg.snummer GO TO Ausdruck OF Folge von Anweisungsnummorn
Zweck
GO TO überführt die Steuerung zu der spezifizierten Anweisung.
GO TO Ausdruck . . . rundet den Ausdruck zu einer Ganzzahl η und überführt die Steuerung zur nten OF folgenden Anweisungsnummer.
Bemerkungen
GO TO kann geschrieben werden als GOTO oder GO TO.
* ι
Es muß gefolgt sein von der Anweisungsnummer, zu der die Steuerung transferiert wird, oder von Ausdruck OF und einer Folge von Anweisungsnummern. . '
509821/0897
365542
["SETZUNGf
236
GO TO UND GO TO FÜR MEHRFACHE VERZWEIGUNG (FORTSE
GO TO geht·der normalen Ausführungsfolge von Anweisungen-in. einem Programm vor.
Wenn keine Anweisungsnummer vorhanden ist/ die den Wert des Ausdrucks entspricht, wird GO TO ignoriert.
Es ist nützlich, wenn eine Arbeit unbegrenzt wiederholt v/erden soll oder wenn zu einem anderen Teil eines" Programms "gesprungen" werden soll, wenn bestimmte Bedingungen erfüllt sind.
GO TO darf nicht benutzt werden, um in FOR-NEXT-Schleifen einzutreten; dies könnte zu unvorhersehbaren Ergebnissen oder fatalen Fehlern führen.
GOSUB...RETURN (ZUR SUBROUTINE GEHEN UND ZURÜCK)
Beispiel: 50 READ A2
60"1ΐ·'712^Τ0υ
70 GOSUB 400
380 STOP (STOP geht häufig der ersten Anweisung einer Subroutine voran, um ungewolltes Eintreten zu verhindern.)
390 .REM--DIESE SUBROUTINE. FIlAGT. NACH.EINER I-ODER 0-ANTWORT.
400 PRINT "A2 IS>100"
410 PRINT "WILLST DU FORTFAHREN"; 420 INPUT N
430 IF N #0 THEN 450
440 LET A2 = 0
450 RETURN
600 END
509821/0897
GOSUB...RETURN (FORTSETZUNG)
Allgemeine Form: Anweisungsnummer GOSUB Anweisungsnummer des
Starts der Subroutine
Anweisungsnummer RETURN
Zweck
GOSUB läßt die Steuerung zu der spezifizierten Anweistmgsnummer übergehen. ■
RETURN gibt die Steuerung wieder an die" Anweisung zurück, die der die Steuerung transferierenden G0SUB~7\nweisung .folgt. ·
GOSUB... RETURN eliminiert die Notwendigkeit, häufig benutzte Gruppen von Anweisungen in einem Programm zu wiederholen.
GOSUB FÜR MEHRFACHE"VERZWEIGUNG
Beispiele: 20 GOSUB 3'0F 100,200,300,400,500
60 GOSUB N+l OF 200,210,220 70 GOSUB N OF 80,180,280,380,480,580
Allgemeine Form:. . _ . . ... .. ....
Anweisungsnummer GOSUB Ausdruck OF Folge von Anweisungsnummern- . .
Zweck
GOSUB Ausdruck rundet den Ausdruck zu einer Ganzzahl η und übergibt die Steuerung zur nten Anweisungsnummer, die auf OF folgt.
Bemerkungen
Subroutinen sollten nur mit einer RETURN-Anweisung enden.
Der Ausdruck zeigt an, welche der· spezifizierten Subroutinen ausgeführt wird-, Zum Beispiel transferiert die obige Anweisung
509821/0897
23655A2
GOSUB.FÜR MEHRFACHE VERZWEIGUNG (FORTSETZUNG)
20 die Steuerung zur Subroutine, die mit Anweisung 300 beginnt. Der Ausdruck spezifiziert, welche Anweisungen in der Folge von fünf Anweisungen als Startanweisung in der Subroutine benutzt wird. .
Der Ausdruck wird als Ganzzahl ausgewertet. Nicht ganzzahlige Werte v/erden auf die nächste Ganzzahl gerundet. .
Wenn die Auswertung des Ausdrucks zu einer Zahl führt, die größer als die Zahl der spezifizierten Anweisungen ist oder die. kleiner als 1 ist, wird- GOSUB ignoriert.
Anweisungsnummern in der auf OF folgenden Folge müssen durch Kommata voneinander getrennt werden.
IF...THEN (WENN...DANN)
Abtastprogramm: 10 LET N = 10
20 READ X
30 IF X <=N THEN 60 40 PRINT' "X IST DARÜBER" ,-Ν 50 GO TO 100
60 PRINT "11X 1ST KLEINER ALS ODER GLEICH" ; N 70.G0 TO 20
'80 STOP
Allgemeine Form:
Anweisungsnummer IF Ausdruck Vergleichsoperand Ausdruck THEN
Anwci su ηg snummer
Zweck
übergabe der Steuerung an eine spezifizierte Anweisung, wenn eine spezifizierte Bedingung vorhanden ist.
509821/0897
IF...THEN (FORTSETZUNG)
Bemerkungen
Wird manchmal als bedingter Transfer beschrieben; "GO TO" wird von IF...THEN eingeschlossen, wenn die Bedingung zutrifft. Im obigen Beispiel wird, wenn X<=1O ist, die Meldung in Anweisung =60 gedruckt (Anweisung 60 wird ausgeführt)-.
Da Zahlen im Rechner nicht immer genau dargestellt sind, sollte der ^-Operator in IF...THEN-Anweisungen mit Vorsicht benutzt werden. Wenn eben möglich,, sollten lieber Begrenzungen wie<=, >~ usw. in einem IF-Ausdruck benutzt v/erden als das =.
Wenn" die spezifizierte Bedingung für einen Transfer nicht zutrifft, wird die Ausführung des Programms in der Folge fortgesetzt. Ist im obigen Beispiel X>10, wird die Meldung in Anweisung t 40'gedruckt. . . -._■'.
Der Vergleichsoperator ist in logischen Auswertungen wahlweise.
FOR...NEXT
Beispiele: 100 FOR Pl = 1 TO 5
110 FOR Ql = N TO X 120 FOR R2 = N TO X STEP 2.5 130 FOR S = 1 TO X STEP Y ' ■ * 140 NEXT S
• 150 NEXT R2 - -
160 NEXT Ql. ■ ·
170 NEXT Pl
Abtastprogramm ~ Variable Schleifenzahl
40 PRINT "WIE OFT SOLL DIE SCHLEIFE DURCHLAUFEN WERDEN"; 50 INPUT A '
60 FOR J = 1 TO Λ
■ 70 PRINT "DIES IST SCHLEIFE";,!
509821/0897
FOR...NEXT (FORTSETZUNG)
80 READ Nl, N2, N3
90 PRINT "DIESE DATENPOSTEN WÜRDEN GELESEN:" Nl; N2; N3 · 100 PRINT "SUMME="; (N1+N2+N3) · 110 NEXT J " . - . ·
120 DATA 5, 6, 7, 8, 9, ΙΟ, 11, 12 -
130 DATA 13, 14, 15, 16, 17, 18, 19, 20,"2I
140 DATA 22, 23, 24, 25, 26, 27, 28, 29,_.3O ....
150 DATA 31, 32, 33, 34
160 END
Allgemeine Form: ....
Anwei sungsnummer FOR einfache Variable j= Anfangsv/ert TO Endv.-ert
oder
Anweisungsnummer FOR einfache Variable = Anfang sv/ert TO End v; crt STEP Schrittv/eite .
Anweisungsnummor NEXT einfache Variable
Zur Beachtung: Sowohl in der FOR- als auch in der NEXT-Anv/eicung
einer Schleife muß dieselbe einfache Variable benutzt werden.
Zweck
Kontrollierte Wiederholungen einer Gruppe von Anweisungen innerhalb eines Programms.
Bemerkungen
Anfangswert, Endwert und Sehrittweite können beliebige Ausdrücke sein.
STEP und Schrittweite sind wahlweise; wenn keine Schrittweite spezifiziert wird, nimmt der Rechner automatisch einen Zuwachs von 1 an, so oft er die Schleife ausführt.
Arbeitsweise der Schleife: 509821/0 8 97
Die einfache Variable wird dem Wert des ^\^13Η5ίί?ϊΐίΐίΙ zugeordnet;
• . . FOR...NEXT '(FORTSETZUNG) ·
der Wert der einfachen Variablen wird um 1 (oder um die Schrittweite) angehoben, jedesmal wenn die Schleife ausgeführt wird. Wenn der Wert.der einfachen Variable den Endwert passiert, wird die Steuerung an die Anweisung übergeben, die der "NEXT"-■ Anweisung folgt. ' · .
Anfangswert, Endwert und Schrittweite werden alle nach Eintritt in die Schleife ausgewertet und bleiben nach Eintritt unverändert. Zum Beispiel, geht .
FOR I = 1 TO I + 5
von 1 bis 6; das bedeutet, daß der Endwert sich nicht "bewegt" , sofern I mit jedem Schleifendurchlauf ansteigt.
Weitere Details betreffend STEP siehe unter "FOR...NEXT mit STEP"' in.Abschnitt III. . · ■ ' .
Wenn man nicht sicher ist, was passiert, wenn FOR...NEXT-Schleifen
in einem Programm benutzt~v/'eriie'K"~vgr^u^hT;"'man "^sr'-Abt:a5tpr-O'=·-
gramm ablaufen zu lassen.
Im selben Programm können verschiedene FOR...NEXT-Schleifen benutzt werden; sie können auch verschachtelt (ineinander angeordnet) v/erden. Es gibt zwei wichtige Merkmale von FOR...NEXT-Schleifen. '
READ, DATA UND RESTORE (LESEN, DATEN' UND ZURÜCKSTELLEN)
Abtastprogramm, das READ und DATA benutzt
15 FOR I=I TO 5
20 READ A
40 LET X=At2
45 PRINT A;" SQUARED=";X 50 NEXT I
55 DATA 5.24,6.75,30.8,72.65,89.72 ' . . 60 END,
509821/089 7
^V " ?3655Λ2
READy DATA UND RESTORE (FORTSETZUNG) *■ u w u w n
Jeder Datenposten kann in diesem Programm nur einmal gelesen werden. Der Rechner hält die Datenspur mit einer "Hinweisinarke". Wenn auf die erste READ-Anweisung getroffen wird, zeigt die "Hinweismarke" an, daß der erste Posten in der ersten DAT/v-Anweisung zu lesen ist; die Hinweismarke wird dann zum zweiten Datenposten- bewegt usw.... . ■ ■ ..
In diesem Befepiel verbleibt die Hinweismarke am Ende der Datenliste, nachdem die Schleife fünfmal ausgeführt worden ist. Om die Daten erneut zu lesen, ist es notwendig, die Hinweismarke zurückzusetzen. Eine RESTORE-Anweisung bewegt die Hinweismarke zurück zum ersten Datenposten.
Abtastprogramm, das READ, DATA und RESTORE benutzt.
20 FOR I=I TO 5
30 READ A
40 LET X=Af2 '
~~" 50 PRINfA Γ"" ZUM'QUAD RAT*""= u 7~X ™" *~ " 60 NEXT I
80 RESTORE
100 FOR J=I TO 5 .
110 READ B
120 LET Y=B-H
130 PRINT B;"HOCH VIER =";Y
140 NEXT J - .-~ -- - * ;- - —■ ■■- ■-- "■·
.150 DATA 5.24,6.75,30.8,72.65,89.72 160 END
Allgemeine Yorm:
Anweir.ungsnummer READ Variable j_ Variable j_ ... An we i. sun g s nummer DATA Zahl oder String j_ Zahl oder String j_ . , Anweisungsnummer -RESTORE Anwei agsnummer RESTORE Anwei sung snummer
Zweck
Die READ-Anwcinung weist don Rechner an, einen Posten aus
509821/0897
READ1 DATA AND- RESTORE (FORTSETZUNG)
einer DATA-Anweisung zu lesen.
Die DATA-Anweisung wird benutzt, um in einem Programm Daten zu spezifizieren. Die Daten werden von der ersten bis* zur ■ letzten DATA-Anweisung aufeinanderfolgend und innerhalb der DATA-Anweisung von links nach rechts gelesen.
Die RESTORE-Anweisung setzt die Hinweismarke auf den ersten Datenposten zurück, wodurch ermöglicht wird, die Daten erneut zu lesen. ·
RESTORE gefolgt von einer Anweisungsnummer setzt die Hinweismarke auf den ersten Datenposten" zurück, beginnend an der •spezifizierten Anweisung. ■ · ·
Bemerkungen
READ-Anweisungen benötigen mindestens^e'ine" selben Programm.
Posten in einer DATA-Anweisung müssen durch Kommata voneinander getrennt werden. String- und numerische Daten können miteinander gemischt werden.
DATA-Anweisungen können an beliebiger Stelle in ein Programm gesetzt'werden. Die Datenposten werden nacheinander geibsen, wie sie benötigt werden.
DATA-Anweisungen führen zu keiner Ausführung; sie spezifizieren lediglich Daten.
Der RUN-Befehl setzt die Hinweismarke automatisch auf den ersten Datenposten.
5 0 9 8 21/0 8 9 7
WAIT (WARTEN)
Beispiel: 900 WAIT (1000)
. · 990 WAIT (3000)
■Allgemeine Form: Anweisungsnummer WAIT (Ausdruck max. Wert
von 32767) " ■
ZWeck
Einführung von Verzögerungen in ein Programm. WAIT bewirkt, daß das Programm für die spezifizierte Anzahl von Millisekunden (maximal 3 2767 Millisekunden) wartet, bevor die Ausführung fortgesetzt wird. ·
Bemerkungen
Die durch WAIT erzeugte Zeitverzögerung ist nicht genau die spezifizierte Anzahl von Millisekunden, da nicht dafür gesorgt ist, daß die während der Rechnung oder \j'ahr(.-nd~d£r K~oitoünl-~ " kation mit einem Terminal-Computex" verbrauchte Zeit berechnet wird.
DER BEGRIFF DER FUNKTION
Die Funktion ist in BASIC als die mathematische Beziehung
zwischen zwei Variablen (z;B. X und Y) definiert, derart, daß für jeden Wert von X ein und nur ein Wert von Y vorhanden ist.
Bemerkungen
Die unabhängige'Variable in einer Funktion wird Argument genanntι die abhängige Variable i'st der Funktionswert. Ist 2um Beispiel X das Argument, der Funktionswert die Quadratwurzel von Xj dann nimmt Y den Funktionswert an.
509821/089?'
TOR. . ,!NEXT MIT STEP
Beispiele: 20 FOR 15 = 1 TO 20 STEP 2
. ' . 40 FOR N2 * O TO -10 STEP -2
80 FOR P = 1 TO N STEP X5 . . " 90 FOR X = N TO W STEP (N4 2^-V)
Allgemeine Form:
Anweisungsnurnmer FOR einfache Variable = Ausdruck TO Ausdruck STEP ^ Ausdruck
Zweck ' . ;.
Ermöglicht es dem Benutzer, die Größe des Zuwachses der FOR-Variablen zu spezifizieren. . i
- Bemerkungen- , _—~™-_-—^- ^—^^ ^- — ——„„
Die Schrittv;eite braucht keine Ganzzahl zu sein. Zum Beispiel ist
100 FOR N = 1 TO 2 STEP .01
eine gültige Anweisung, die annähernd 100 Schleifenausführungen erzeugt, wobei N jedesmal um 0,01 angehoben wird.
Eine Schrittweite von 1 wird angenommen, "wenn STEP" aus einer FOR-Anweisung v/eggelassen wird.
Wie in der obigen Anweisung 40 gezeigt ist, kann eine negative Schrittweite benutzt werden.
ALLGEMEINE MATHEMATISCHE FUNKTIONEN
Beispiele: 642 PRINT. EXP(N); ABS(N)
'" 652 IF RND ■'((>)> = . 5 THEN 9ÖO
'50982170897
ALLGEMEINE MATHEMATISCHE FUNKTIONEN (FORTSETZUNG)
·' . 662 IF INT (R) # 5 THEN 672 PRINT SQR (X); LOG (X)
Allgemeine Form: Die allgemeinen mathematischen Funktionen
können als Ausdrücke oder als Teile eines Ausdrucks benutzt werden. . .
Zweck
Erleichterung der Benutzung von gewöhnlichen mathematischen Funktionen, indem sie vordefiniert v/erden als: ■ABS(Ausdruck) Absolutwert des Ausdrucks;
EXP(Ausdruck) die e-Funktion des Ausdrucks (in der obigen Anweisung 642 etN);
INT (Ausdruck) die größte Ganzzahl <. dem Ausdruck; -^0P(Ausdruck) der natürliche Logarithmus des positiv gewerteten
RND (Ausdruck) eine zufällige Zahl zwischen 1 und 0; der Ausdruck
ist ein Formalparameter (Scheinargument); SQR(Ausdruck) die Quadratwurzel des positiv gewerteten Ausdrucks.
Bemerkung en
Die RND-Funktion kann erneut gestartet werden; die Folge von Zufallszahlen, die durch Benutzung von RND entsteht., ist jedesmal identisch, sooft ein Programm abläuft.
TRIGONOMETRISCHE FUNKTIONEN
Beispiele: 500 PRINT SIN(X): COS(Y)"
510 PRINT 3*SIN(B); TAN (C2) 520 PRINT ATN (22.3) . 530 IF SIN (Λ2) <1 TUEN 800
540 IF SIN (B3) = 1 AND SIN(X) <1 TUEN
509821/0.8 97
TRIGONOMETRISCHE FUNKTIONEN (FORTSETZUNG) .Zweck
Erleichterung der Benutzung gewöhnlicher.trigonometrischer Funktionen/ indem sie folgendermaßen vordefiniert wer"den:
SIN ,(Ausdruck) Sinus des Ausdrucks
COS (Ausdruck) Cosinus des Ausdrucks
TAN (Ausdruck) Tangens des Ausdrucks
ATN (Ausdruck) Arcustangens des Ausdrucks
Bemerkungen
Die Funktion ist die des Viertes des Ausdrucks (des Wertes in runden Klammern, auch Argument genannt).
Die trigonometrischen Funktionen können als Ausdrücke oder Teile eines Ausdrucks benutzt werden.
Der Winkel der trigonometrischen Funktionen kann in Bogenmaß, Grad oder Neugrad spezifiziert v/erden, indem eine RAD-, DEG- oder GRAD-Anweisung ausgeführt wird. In Ermangelung einer Spezifizierung nimmt der Rechner Bogenmaß an.
DIE FUNKTIONEN TAB UND SGN
Beispiele: 500 IF SGN (X) # Q THEN 800 '.
510 LET Y = SGN(X)
520 PRINT TAB-(S); Λ2; TAB (2O)11TEXT" 530 PRINT TAB (N),X,Y,Z2 540 PRINT TAB (X+2) "HEADING"; R5
Allgemeine Form: TZvB und SGN können als Ausdrücke oder Teile
eines Ausdrucks benutzt werden. Die Funktionsformen sind:
TAB (Ausdruck, der die Anzahl der zu verschiebenden Leerfolder
$09821/0897
■DIE FUNKTIONEN TAB UND SGN (FORTSETZUNG)
SGN j; Ausdruck ]_ ·
Zweck
TAB (Ausdrück) wird nur in einer PRINT-Anweisung benutzt ""'■und"'bewirkt", daß das" abschließende Schriftbild'um die Zahl von Abständen bewegt wird, die durch den Ausdruck. (O bis 71) spezifiziert ist. Der Ausdruck Wert hinter TAB wird auf die nächste Ganzzahl gerundet. Ausdruck-Werte größer als 71 bewirken, daß ein zurück Zeile voll erzeugt wird.
SGN (Ausdruck) bringt eine 1 zurück, wenn der Ausdruck größer als O ist, bringt eine O zurück, wenn der Ausdruck gleich O ist und bringt eine -1 zurück, wenn der Ausdruck'kleiner als O ist.
. DIM
Beispiele: 110 DIM A (50), B(20,20)
120 DIM Z (5,20)
130 DIM S '(5,25)
140 DIM R (4,4)
Allgemeine Form:
Anweisungsnummer DIM Ma tr ix-Variable J_ Ganzzahl j_ ...
oder . .
Anweisungsnummer DIM Ma tr ix-Variable J/ Ganzzahl j_ Ganzzahl )_ . .
Zweck
Reservierung von Arbeitsraum im Speicher für eine Matrix. Der größte Ganzzahl-Wert (Matrix-Grenze) ist 255.
50 9 821/0897 ..
DIM (FORTSETZUNG) ." . '
• ■
Bemerkungen
Die .Ganzzahlen beziehen sich auf die Anzahl der Matrix-Elemente, wenn nur eine Dimension zugeführt wird, oder auf die Zahl von Reihen bzw. Spalten, wenn zwei Dimensionen gegeben sind.
Eine Matrix-(Feld-) Variable ist jeder Einzelbuchstabe, von A bis Z.
Bei in einer DIM-Anweisung nicht erwähnten Feldern wird angenommen, daß sie IO Elemente haben, wenn^eindimensional sind, oder, daß sie 10 Reihen und Spalten haben, wenn sie zweidimensional sind.
Die Arbeitsgröße einer M£itrix kann kleiner als ihre physikalische Größe sein. Zum Beispiel kann ein in einer DIM-Anweisung als 9x9 deklariertes Feld"benutz't'
mente zu speichern; die DIM-Anweisung setzt nur eine Obergrenze. für die Zahl der Elemente fest.
Das absolute Maximum der Matrixgröße hängt von der Speicherkapazität des Rechners ab.
Zusätzliche Matrix-Anweisungen sind verfügbar, wenn ein einsteckbarer Nur-Lese-Speichermodul im Rechner eingesetzt ist. Die -zusätzlichen Anweisungen werden weiter unten detailliert beschrieben. . - -
509821/0897

Claims (5)

  1. Hewlett-Packard Comp. 19. Dez. 1974
    Case 747/ Tr.A. II
    Patentansprüche
    Elektronischer Rechner mit einem Eingabe-Tastenfeld für die Eingabe von Zeilen aus alpha-numerischen Zeichen, mit einem Hauptspeicher/ mit einem mit dem Eingabe-Tastenfeld und dem Hauptspeicher verbundenen Pufferspeicher, mit. einer Verarbeitungseinheit, sowie mit einer an den Pufferspeicher angeschlossenen und dessen Inhalt wiedergebenden Anzeigeeinheit, dadurch gekennzeichnet, daß er einen Festwertspeicher (80) mit Routinen und Subroutinen für die Erkennung spezieller eingegebener Zeichenfolgen als Befehle enthält, wobei die Verarbeitungseinheit (48) die Routinen und Subroutinen selektiv durchführt und die dabei erkannten Befehle ausführt.
  2. 2. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß das Eingabe-Tastenfeld (12) eine oder mehrere Zusatztasten enthält, die jeweils eine feste Zeichenfolge mit der Bedeutung eines Befehls darstellen.
  3. 3. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß das Eingabe-Tastenfeld (12) eine Vielzahl von definierbaren Tasten enthält, denen.jeweils eine Gruppe von alpha-numerischen Zeichen zugeordnet werden kann, und daß eine mit dem Eingabe-Tastenfeld, dem Hauptspeicher (78) und dem Pufferspeicher (84) verbundene logische Schaltung vorgesehen ist, die bei Betätigung einer Steuertaste, einer ausgewählten definierbaren Taste und ausgewählten alphanumerischen Tasten die durch letztere eingegebene Zeichenfolge der definierbaren Taste zuordnet und sie in den Hauptspeicher eingibt, und daß die logische Schaltung bei späterer Betätigung der ausgewählten definierbaren Taste die zuge-
    5 09821/0897
    ordnete Zeichenfolge aus dem Hauptspeicher in den Pufferspeicher eingibt.
  4. 4. Rechner nach Anspruch 3, dadurch gekennzeichnet, daß das Eingabe-Tastenfeld (12) eine Taste für die Eingabe eines Zeilenabschlußzeichens enthält, daß das Zeilenabschlußzeichen der ausgewählten definierbaren Taste zugeordnet werden kann und daß die logische Schaltung bei Betätigung einer definierbaren Taste, deren zugeordnete Zeichenfolge das Zeilenabschlußzeichen enthält, diese Zeichenfolge als abgeschlossene Zeile behandelt.
  5. 5. Rechner nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß durch die einer definierbaren Taste zugeordnete Zeichenfolge ein ausführbarer Befehl darstellbar ist und daß die logische Schaltung bei Betätigung einer solchen definierbaren Taste den betreffenden Befehl sofort ausführt.
    509821/0897
    Leerseite
DE2365542*A 1972-07-07 1973-07-04 Elektronischer rechner Pending DE2365542A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US26989972A 1972-07-07 1972-07-07

Publications (1)

Publication Number Publication Date
DE2365542A1 true DE2365542A1 (de) 1975-05-22

Family

ID=23029094

Family Applications (7)

Application Number Title Priority Date Filing Date
DE2365542*A Pending DE2365542A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365543*A Pending DE2365543A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365567*A Pending DE2365567A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365570*A Pending DE2365570A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE19732333908 Pending DE2333908A1 (de) 1972-07-07 1973-07-04 Programmierbarer rechner
DE2365569*A Pending DE2365569A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365568*A Pending DE2365568A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner

Family Applications After (6)

Application Number Title Priority Date Filing Date
DE2365543*A Pending DE2365543A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365567*A Pending DE2365567A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365570*A Pending DE2365570A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE19732333908 Pending DE2333908A1 (de) 1972-07-07 1973-07-04 Programmierbarer rechner
DE2365569*A Pending DE2365569A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner
DE2365568*A Pending DE2365568A1 (de) 1972-07-07 1973-07-04 Elektronischer rechner

Country Status (9)

Country Link
JP (1) JPS5545943B2 (de)
CA (1) CA1046644A (de)
CH (1) CH597649A5 (de)
DE (7) DE2365542A1 (de)
FR (1) FR2192338B1 (de)
GB (9) GB1444143A (de)
HK (3) HK68078A (de)
IT (1) IT990351B (de)
ZA (1) ZA734414B (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526502B2 (de) * 1974-06-06 1980-07-14
JPS5416160A (en) * 1977-07-07 1979-02-06 Fuji Electric Co Ltd Waveform shaping circuit
JPS5576451A (en) * 1978-12-04 1980-06-09 Casio Comput Co Ltd Program checking system
DE2929545A1 (de) * 1979-07-20 1981-01-29 Heidenhain Gmbh Dr Johannes Verfahren und schaltungsanordnung zur programmerstellung und/oder programmaenderung bei numerisch gesteuerten maschinen
IT1188909B (it) * 1980-02-26 1988-01-28 Alessandro Mascioli Macchina per scrivere miniaturizzata con memorizzazione elettronica di piu' pagine di scrittura e trasferiemento per lettura su riga di display e/o stampante collegata
DE3028850A1 (de) * 1980-07-30 1982-03-04 Robert Bosch Gmbh, 7000 Stuttgart Pruefgeraet, insbesondere fuer kraftfahrzeuge, und kassette hierfuer
JPS5781656A (en) * 1980-11-07 1982-05-21 Canon Inc Program computer
JPS57100562A (en) * 1980-12-15 1982-06-22 Sony Corp Word processor
JPS58195251A (ja) * 1982-05-07 1983-11-14 Sony Corp コマンド拡張装置
DE3325153A1 (de) * 1982-07-12 1984-01-12 Sharp K.K., Osaka Programmierbarer elektronischer rechner
GB2129175B (en) * 1982-10-26 1986-04-30 Atomic Energy Authority Uk Draughting machine
JPS59218534A (ja) * 1983-03-24 1984-12-08 Fanuc Ltd 外部機器の接続制御方式
JPS5927364A (ja) * 1983-06-30 1984-02-13 Brother Ind Ltd 演算機能付き電子タイプライタ
JPS59103165A (ja) * 1983-09-27 1984-06-14 Sharp Corp プログラム付電子式計算機
US5112626A (en) * 1990-12-31 1992-05-12 The Pillsbury Company Aerated frozen dessert compositions and products
US5175013A (en) * 1990-12-31 1992-12-29 The Pillsbury Company Frozen dessert compositions and products
US6379736B1 (en) 1999-10-05 2002-04-30 The Pillsbury Company Gelato composition

Also Published As

Publication number Publication date
GB1444143A (en) 1976-07-28
IT990351B (it) 1975-06-20
GB1444148A (en) 1976-07-28
GB1444142A (en) 1976-07-28
FR2192338A1 (de) 1974-02-08
DE2365569A1 (de) 1975-06-12
GB1444149A (en) 1976-07-28
GB1444145A (en) 1976-07-28
DE2365570A1 (de) 1975-05-22
FR2192338B1 (de) 1975-02-07
DE2333908A1 (de) 1974-01-24
GB1444144A (en) 1976-07-28
CA1046644A (en) 1979-01-16
JPS4948257A (de) 1974-05-10
DE2365568A1 (de) 1975-07-17
DE2365567A1 (de) 1975-06-12
GB1444141A (en) 1976-07-28
HK68078A (en) 1978-12-01
JPS5545943B2 (de) 1980-11-20
CH597649A5 (de) 1978-04-14
HK68178A (en) 1978-12-01
DE2365543A1 (de) 1975-04-30
GB1444147A (en) 1976-07-28
GB1444146A (en) 1976-07-28
ZA734414B (en) 1975-02-26
HK68278A (en) 1978-12-01

Similar Documents

Publication Publication Date Title
DE2365542A1 (de) Elektronischer rechner
DE2504627C2 (de) Autonomes Datenverarbeitungsgerät
EP0144361B1 (de) Vorrichtung und verfahren zum handhaben und wiederauffinden von belegen und daten
DE69122975T2 (de) Verfahren und Vorrichtung zum Anzeigen und Editieren von mathematischen Ausdrücken in Textformat
DE4334524C2 (de) Dokumentverarbeitungsvorrichtung
DE2228742A1 (de) Programmierbare Rechenmaschine
DE2264896A1 (de) Elektronischer rechner
DE2907185C2 (de) Elektronische Anzeigevorrichtung
DE2501887A1 (de) Tragbares datensammelgeraet bzw. elektronisches notizbuch fuer ein datenerfassungs-, formatier- und uebertragungssystem
DE3789601T2 (de) Elektronische Datenverarbeitungsanlage zur Manipulation von algebraischen Formeln.
DE2655241A1 (de) Programmierbarer rechner
DE2713253A1 (de) Programmlader fuer ein steuergeraet
DE2548719A1 (de) Drucker mit pufferspeicher
DE3005376C2 (de)
DE2014325A1 (de) Elektronische Rechenmaschine
DE1799012C3 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschritten in einem elektronischen Rechner
DE1549420A1 (de) Programmvorrichtung fuer einen elektronischen Rechner
DE2641971A1 (de) Digitale tisch-buchungs- und -rechenmaschine
DE1214906B (de) Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten
DE2849519A1 (de) Vorrichtung zum elektronischen speichern von daten
DE2840904C2 (de)
DE3110297A1 (de) Anzeigevorrichtung
DE3017469A1 (de) Mehrfachausdruck-dateneingabeeinrichtung
DE2950296A1 (de) Sichtanzeigevorrichtung
DE3686203T2 (de) Wortprozessor mit faehigkeit zur automatischen titelgeneration.

Legal Events

Date Code Title Description
OHN Withdrawal