167 4 9MB
German Pages 111 [144] Year 1967
Programmierung von Datenverarbeitungsanlagen von Dr. H. J. Schneider und Dipl.-Math. D . Jurksch
Mit 8 Tabellen und 11 Abbildungen
Sammlung Göschen Band 1225/1225a
Walter de Gruyter & Co • Berlin 1967 vormals G. J. Göschen'sche Verlagshandlung • J. Guttentag, Verlagsbuchhandlung • Georg Keimer • Karl J. Trübner • Veit & Comp.
© Copyright 1967 by Walter de Gruyter & Co., vormals G. J. Göschen'sche Verlagshandlung — J. Gattentag, Verlagsbuchhandlung — Georg Eeimer — Karl J . Trübner — Veit AR Bringe negativen Speicherinhalt BPK i + s M AR Bringe positive Konstante
Befehlsliste BNK TPS TNS TPI TNI
i i i i i
+ + + + +
15
s — M -»• AR Bringe negative Konstante s -»• M 1 Transportiere positiven (negati s — -> M J AR-Inhalt nach Speicher 0 ->• i \ Transportiere positiven (negati 0 — -> i J AR-Inhalt nach Indexregister
Die arithmetischen Befehle, die es in einer Festkomma- und einer Gleitkommaversion geben muß, können in Gruppen eingeteilt werden. Zur Addition und Subtraktion dienen: APS i + s + - » AR Addiere positiv Pestkommawort ANS i + s — -> AR Addiere negativ Pestkommawort APK i + s + M -> AR Addiere positive Konstante ANK i + s — M -> AR Addiere negative Konstante APG i + s + -> AR Addiere positiv Gleitkommazahl ANG i + s + ->• AR Addiere negativ Gleitkommazahl Genau analog dienen zur Multiplikation: MPS, MNS, MPK, MNK, MPG, MNG und zur Division: DPS, DNS, DPK, DNK, DPG, DNG. Die Division bei Festkommazahlen ist so zu verstehen wie der ALGOL-Operator -f- (s. 2.2.3). Bei diesen Operationen können nur je zwei Festkommazahlen oder je zwei Gleitkommazahlen miteinander verknüpft werden, und das Ergebnis ist von der gleichen Art. Aus diesem Grunde werden noch benötigt: RFG 0 + 0 -> AR AR-Inhalt umwandeln F K -> GK RGF 0 + 0 - » AR AR-Inhalt umwandeln GK - » F K Nützlich ist außerdem noch der Befehl RIC 0 + 0 — -> AR AR-Inhalt komplementieren Die Konstantenbefehle gibt es nur in einer Festkommaversion. Das gleiche gilt für die Zählbefehle: BPZ i + s + s -> i Bringe positive Zählkonstante BNZ i + s — s -> i Bringe negative Zählkonstante APZ i + s + s i Addiere positive Zählkonstante ANZ i + s — s -> i Addiere negative Zählkonstante
16
Grundbegriffe und Programmvorbereitung
Die Sprungbefehle unterbrechen den normalen Programm ablauf und veranlassen, daß an der Stelle M fortgefahren wird: SOB i + s Springe ohne Bedingung nach M, d. h. M BZ SGN i + s Springe, falls gleich 0, nach M SUN i + s Springe, falls ungleich 0, nach M SPR i + s Springe bei positivem AR-Inhalt nach M SNR i + s Springe bei negativem AR-Inhalt nach M Der Unterprogrammsprung SUP i + s Springe nach Unterprogramm bewirkt einen Sprung nach M + 1 und notiert gleichzeitig die normale Fortsetzung in M als unbedingten Sprungbefehl SOB 0 + . Dadurch ist es möglich, nach den Befehlen aus M + 1, M + 2, M + 3, . . . durch SOB 0 + M die unterbrochene Folge wieder aufzunehmen. Schließlich wird noch ein StopbefrM benötigt: STP i + s Stop! Bei erneutem Start Sprung nach M. Ferner werden Befehle für die logischen Operationen, für Ein- und Ausgabe sowie Schiebebefehle benötigt. Diese und meist umfangreichere Befehlslisten finden sich in den Handbüchern der Herstellerfirmen. Der Leser wird dort auch die hier angegebenen Befehle wiedererkennen. Unser Beispiel aus Nr. 1.1, in dem angegebenen Befehlscode geschrieben, ist in Tab. 2 wiedergegeben. Die Adressen sind relativ zu verstehen, d. h. zu jedem s ist noch die endgültige Anfangsadresse des Programms (hier 0) zu addieren. 1.5 Flußdiagramme Die Befehlsliste einer programmgesteuerten Rechenanlage hängt v o n speziellen technischen Eigenarten der Maschine ab. Bei den verschiedenen Anlagen unterscheiden sich daher die Befehlslisten im U m f a n g und auch in der Art vieler Operationen, so daß die für einen Rechner angefertigten Programme i n der Regel an keinem anderen verwendbar sind. E s ist daher vorteilhaft, ein gegebenes Problem zunächst in einer Form zu notieren, die einerseits v o n einem speziellen Befehlscode unabhängig ist, andererseits aber den Programmablauf bis in alle Einzelheiten wiedergibt.
Flußdiagramme
17
Tab. 2 Lfd. Nr. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Erklärung
Befehl BPS MPG TPS BPS MPG ANG SGN TPS BPS MNG TPS BPS MPG APG DPG TPS BPS MPG TNS BPS MPG APG DPG TPS STP
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ + + + + + + + + + + + + + + + + + + + + + + +
26 27 32 25 28 32 24 31 26 30 32 28 29 32 31 33 27 29 32 25 30 32 31 34
b -> AR b c - > AR bc -»- 32 a AR ad AR ad—bc AR ad—bc = 0 ? ad—bc 31 b ^ AR - b f -ä- AR - b f - » 32 d -> AR d e - » AR de-bf AR (de—bf)/(ad—bc) AR (de—bf)/(ad—bc) -*• 33 c -»• AR ce -s- AR — ce 32 a -»• AR af -»- AR af—ce AR (af—ce)/(ad—bc) — AR 34 (af—ce)/(ad—bc) Stop a b c d e f Hilfsspeicher Hilfsspeicher Xl X2
Hierzu eignen sich besonders die von Goldstine und v. Neumann eingeführten Flußdiagramme. Die Grundelemente, die an dieser Stelle eingeführt werden sollen,
18
Grundbegriffe und Programm Vorbereitung
sind die allgemeine Anweisung, die Verzweigung und die Anschlußstelle. Für die allgemeinen Anweisungen (insbesondere die arithmetischen Anweisungen) sind rechteckige Kästchen vorgesehen mit einem Eingangspfeil und einer Ausgangslinie (Abb. 2a). Dabei bedeutet