Skip to main content
main-content

Inhaltsverzeichnis

Frontmatter

1. Runden und Erweitern von Rechenergebnissen

Zusammenfassung
Ein Weg, Produkte zu runden, ist bereits im Teil II des Lernprogramms gezeigt worden. Da in der Dezimalarithmetik mit „gedachtem“ Komma gerechnet wird, mußten die Kommata vor der Verarbeitung der Zahlen in den Rechenfeldern eliminiert werden. Nach dem Runden wurden die „nicht mehr benötigten“ Rechenstellen vor der Verarbeitung mit Nullen aufgefüllt. Durch die Anwendung des Befehls SRP (Shift and Round Packed) wird dieser recht umständliche und nicht allgemein gangbare Lösungsweg sehr vereinfacht.
Hasso Kramer

2. Druckaufbereitung

Zusammenfassung
Das Aufbereiten von Rechenergebnissen in eine druckgerechte Form wird mit dem Befehl ED durchgeführt. Bei der Gestaltung des Druckbildes kann aber die Forderung so aussehen, daß beispielsweise das Währungssymbol $ (Dollar) unmittelbar vor der ersten Ziffer einer Zahl stehen soll: $123.45 oder $0.36. Die Adresse des Währungssymbols (im Ausgabebereich) hängt also von der Stellenzahl der Dezimalzahl ab. Die Adresse könnte man ermitteln, indem man Byte für Byte für das Füllzeichen prüft und bei Ungleichheit die Adresse der ersten Dezimalziffer findet.
Hasso Kramer

3. Ein- und Ausgabe von Daten

Zusammenfassung
Die Ein- oder Ausgabe von Daten (Hauptspeicher) kann in einfacher Weise mit den Makroaufrufen RDATA bzw. WROUT und WRLST (vgl. Teile II + III) durchgeführt werden. Diese Makroaufrufe wenden sich an das Executive (Ablaufteilsoftware) des Betriebssystems.
Hasso Kramer

4. Unterprogrammtechnik

Zusammenfassung
Eine Befehlsfolge, die in einem Programm ein einziges Mal vorhanden ist, jedoch mehrfach durchlaufen und von unterschiedlichen Programmpunkten angesprungen wird, nennt man Unterprogrammroutine oder Subroutine. Routinen dieser Art sind ein Hilfsmittel zur Rationalisierung der Programmierarbeit. Dies wurde bereits am Beispiel einer mehrfach zu durchlaufenden Löschroutine für einen Ausgabebereich gezeigt. Dabei handelt es sich um eine einstufige Verzweigung, d.h. es wird vom Hauptprogramm zur Subroutine und von dort wieder zurück ins Hauptprogramm verzweigt. Bei mehrstufigen Verzweigungen, also Verzweigungen über mehrere Subroutinenstufen, müssen entsprechend viele Rücksprungadressen sichergestellt werden. Damit dem Programmierer alle MZR verfügbar bleiben, empfiehlt es sich, die Rücksprungadressen gegebenenfalls im Hauptspeicher sicherzustellen und vor dem Rücksprung in ein vorgeordnetes Programm wieder zu laden.
Hasso Kramer

5. Verschiebebefehle

Zusammenfassung
Mit Verschiebebefehlen können Bitfolgen in einem Register oder Registerpaar (Doppelregister) um eine Anzahl Stellen nach links oder rechts verschoben werden. Beim arithmetischen Verschieben wird das für die Bitfolge gültige Vorzeichen beibehalten, die Vorzeichenstelle (Bitposition 0) wird nicht mitverschoben. Beim logischen Verschieben wird kein Vorzeichenbit interpretiert. Das arithmetische Verschieben (Shift) von Registerinhalten, die Festpunktzahlen darstellen, ersetzt manchmal die Anwendung von Multiplikations- oder Divisionsbefehlen.
Hasso Kramer

6. Tabellenverarbeitung

Zusammenfassung
Bei der Tabellenverarbeitung tritt neben der Indizierung der Sendefeld-adressen das Abarbeiten der Tabellenwerte in einer Programmschleife auf (vgl. Teil III.). Mit wenig Codieraufwand können solche Aufgaben mit den Befehlen BCT, BCTR, BXLE und BXH gelöst werden.
Hasso Kramer

7. Logische Verknüpfung

Zusammenfassung
Logische Verknüpfungen sind die Grundlage aller Steuerungsvorgänge in der Hardware einer Datenverarbeitungsanlage. Sie stellen eine Schaltfunktion dar, in der zwei oder mehrere binäre Signale (Impulse) ein Ergebnissignal erzeugen. Schaltfunktionen mit zwei Variablen, den Zuständen „wahr“ (ausgedrückt durch die Ziffer 1) und „unwahr“ (Ziffer 0) gemäß der Booleschen Algebra, sind besonders interessant. Drei logische Verknüpfungen können durch Befehle vorteilhaft in Programmen benutzt werden:
  • das „logische UND“ (Konjunktion,
  • das „logische ODER“ (Disjunktion,
  • das „logische ausschließende ODER“ (Antivalenz).
Hasso Kramer

8. Umsetzen und Testen von Datenfeldern

Zusammenfassung
Dieser Befehl ist in seinen Funktionen ein erweiterter TR-Befehl (vgl. Teil III, 4.3). Anwendungsmöglichkeiten für den TRT-Befehl ergeben sich beim Prüfen von Feldinhalten auf numerischen Inhalt oder Ermitteln von variablen Feldlängen.
Hasso Kramer

9. Modifiziertes Ausführen von Befehlen — der EX-Befehl

Zusammenfassung
Das Beispiel von 8.2.2 zeigt die Verarbeitung von variabel langen Feldern. Die Modifikation der Übertragungslänge wird dort durch den STC-Befehl bewirkt. Man erkennt jedoch leicht, daß der Befehl STC z. B. für die Modifikation der Längenangaben in einem AP-Befehl nicht mehr geeignet ist, da L1 und L2 in einem Halbbyte stehen und nur ganze Bytes adressiert werden können. Dieselbe Überlegung gilt auch für Befehle anderer Strukturen, z.B. für den Befehl AR |3,4. Wendet man den Befehl EX (Execute) an, der zu Befehlstyp RX gehört, umgeht man diese Schwierigkeiten.
Hasso Kramer

10. Fehlersuche im Programm mit Hilfe eines Hauptspeicherabzuges

Zusammenfassung
Bei Ereignissen, die zu einer Programmunterbrechung führen, wird zwischen programm- und systembezogenen unterschieden. Zu den systembezogenen Unterbrechungen gehört die Koordinierung von Ein-/Ausgabeoperationen, die es erst gestattet, einen Mehrprogrammbetrieb ablaufen zu lassen. Zu den Programmunterbrechungsursachen, die im allgemeinen zur Programmbeendigung führen, gehören fehlerhafte Daten bei arithmetischen Operationen oder falsche Befehlsverschlüsselungen in Anwenderprogrammen. Mittels Dialogtesthilfen (Interactive Debugging) oder eines Hauptspeicherabzugs (Benutzer-Dump) kann der Fehler ermittelt werden, der zum Programmabbruch führte. Die interaktive Fehlersuche erlaubt dem Benutzer, sein Programm schrittweise während des Ablaufes am Bildschirm zu testen und ggf. sofort zu korrigieren.
Hasso Kramer

11. Codier-Praktikum

Zusammenfassung
Es werden zwei Aufgaben gestellt, die nach dem Durcharbeiten des gesamten Lernprogramms gelöst werden können. Die Musterlösungen sollen zum Vergleichen erst dann herangezogen werden, wenn eigene Lösungen vorliegen. Folgen Sie dabei auch — soweit bekannt — den Regeln für die Erstellung gut strukturierter Programme.
Hasso Kramer

12. Anhang

Zusammenfassung
Nachfolgend wird eine zusammenfassende Darstellung der neu hinzugekommenen Befehle, Anweisungen und Makro-Aufrufe gegeben und damit der in Teil III des Lernprogramms beschrieben Umfang der Assemblersprache erweitert. Einige Befehle, die sich nicht in ihren Funktionen, sondern nur durch den Befehlstyp unterscheiden, sind an dieser Stelle zusätzlich aufgeführt und dem Eigenstudium anheimgestellt. Weitergehende, über die Lernziele dieses Lernprogramms hinausgehende Informationen sind den herstellerspezifischen Druckschriften und Handbüchern zu entnehmen.
Hasso Kramer

Backmatter

Weitere Informationen