ebook img

Assembler II: Ein Lernprogramm PDF

162 Pages·1974·6.289 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Assembler II: Ein Lernprogramm

Heidelberger Taschenblicher Band 141 R. Alletsee · G. Umhauer Assembler II EinLennprogrannna Mit einem Geleitwort von Prof. Dr.-Ing. E. h. Konrad Zuse Mit tiber 250 Abbildungen und Formularen und 83 Aufgaben Springer-Verlag Berlin· Heidelberg· New York 1974 RAINER ALLETSEE GERD F. UMHAUER Siemens Aktiengesellschaft, Bereich Datentechnik, Schule ffu Datenverarbeitung, Miinchen ISBN-13; 978-3-540-06515-9 e-ISBN-13: 978-3-642-96182-3 DOl: 10.1007/978-3-642-96182-3 Das Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbe sondere die der Ubersetzung, des Nachdruckes, der Entnabme von Abbildungen, der Funksendung, der Wiedergabe auf photomecbanischem oder iilmlichem Wege und der Speicherung in DatenverarbeitungsanIagen bleiben, auch bei nur auszugsweiser Verwertung, vorbehaiten. Bei Vervielfliltigungen fUr gewerbliche Zwecke ist gemaS § 54 UrhG eine Vergiitung an den Verlag zu zahlen, deren Hohe mit dem Verlag zu vereinbaren ist. © by Springer-Verlag Berlin, Heidelberg 1974 Softcover reprint of the hardcover i st edition Die Wiedergabe von Gebraucllsnamen, Handeisnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daB solche Namen im Sinne der Warenzeichen-und Markenschutz-Geselzgebung aIs frei zu betrachten waren und daber von jederrnann benutzt werden diirften. Gesamtherste\lung: Offsetdruckerei Julius Beltz oHG. Geleitwort Als die Computer nach ihren ersten Pionierjahren etwa zwischen 1950 und 1960 in die Praxis Eingang fanden, lieS sich kaum voraussehen, welche Bedeutung einmal der organisatorische Teil einschlieBlich der Programmierung erlangen wtirde. Heute wissen wir, daB beim Compu tereinsatz die sogenannte »Software« mindestens so wichtig ist, wie die eigentliche »Hardware«. Auch dabei haben wir ein weites Feld, welches von strengen Theorien bis zu praxisbezogenen Arbeiten reicht. Das vorliegende Buch dient nun voU und ganz dem praktischen Einsatz der Computer. Es gibt ein gutes Bild davon, welche ungeheure Kleinar be it zu leisten ist, urn die moderne elektronische Datenverarbeitung in Gang zu setzen und in Betrieb zu haIten. Das zwingt zu einer neuen Gei steshaltung und zu einer strengen Disziplin in der Verwendung von Ideen und Mitteln. Jedes Zeichen, jede Aktion, jede Anweisung muB gut durchdacht sein, und es ist kein Platz ftir Schwiirmerei mit unausgegore nen Ideen. So konnte sich die Datenverarbeitung auch tiber ihr eigenes Arbeitsge biet hinaus positiv auswirken und in einer in vieler Hinsicht verworrenen Zeit formend und bildend ftir die ganze GeseUschaft wirken, indem ihr Geist tiber eigentliche Fachkreise hinaus wirksam wird. Htinfeld, im August 1973 Konrad Zuse v Vorwort AIle Bereiche aus Wirtschaft, Wissenschaft, Technik und Verwaltung be dienen sich in der Praxis in zunehmendem MaBe der modernen elektroni schen Datenverarbeitung. Dabei erweist es sich in vielen Anwendungsfallen als besonders effek tiv, wenn die technischen Moglichkeiten dieser Anlagen auch wirklich genutzt werden, d. h. in moglichst maschinennaher Sprache - speicher platz- oder zeitoptimal - programmiert werden kann. Das aber setzt fachlich fundierte Sachkenntnis voraus. Der Bedarf an qualifizierten Fachleuten wlichst heute schon schneller, als er von den offentlichen, den privaten oder den Schulen der Hersteller von Datenverarbeitungsanlagen befriedigt werden kann. Es ist das Ziel des vorliegenden dreiteiligen Lernprogramms »Assembler«, hier eine Brucke zwischen Theorie und Praxis zu schlagen. Das Buch ist - neben seinem Wert fur den (Anfangs-)Programmie rer - insbesondere gedacht fur die sekundlir mit dem Assembler befaBten Berufe, wie Operateure, Wartungstechniker, Organisatoren, Systembera ter und Vertriebsbeauftragte, zugleich jedoch auch - und dies erweist sich in den heutigen Bildungs-und Ausbildungskonzepten -fur Informanden, SchUler, Studenten oder Lehrer weiterfuhrender Schulen. Die Assembler sprache vermittelt dabei einen auBergewohnlich engen Kontakt zur prak tischen Datenverarbeitung. Durch die Konzeption als Lernprogramm konnte die abstnikte Definition der Assemblersprache obendrein so aufbe reitet werden, daB die Basis fUr das Verstlindnis auch eines der strengen algorithmischen Denkweise ungewohnten Lesers geschaffen wurde. Einer seits wurde das Assembler-Reglement zwar hinreichend exakt erhalten, andererseits aber wurden die formalen Regeln aus didaktischen Grunden so groBzugig ausgelegt, daB sie dem sich einarbeitenden Leser stets ver standlich bleiben. Der Stoffumfang der drei Teile ist bei alIer bewuBten Beschrankung so gewahlt, daB er etwa dem in den meist zweiwochigen Grundlehrgangen vermittelten Wissen entspricht. Die behandelten Sprachelemente und -re geln sind, obwohl die Assemblersprache zu den anlagenabhangigen Spra chen zlihlt, auf der Basis des Siemens-Systems 4004 und der IBM-Systeme 360/370 weitestgehend identisch. VI Das Lernziel von Teil II ist die selbstiindige Programmierung eines ab lauffiihigen Assemhlerprogramms. Hierzu wird das Befehlsspektrum gegeniiber Teil I betriichtlich erweitert und die erforderliche Kenntnis der Intern- und EinlAusgabeverarbeitung erworben. Der AnstoB zur Entwicklung des vorliegenden Lernprogramms »As sembler« kam aus dem Hause Siemens, insbesondere aus der dorti gen Schule fur Datenverarbeitung. Durch die wertvollen Anregungen und Hinweise zahlreicher Mitarbeiter und die vielen uns zur Verfugung ge stellten Erfahrungen konnte das Gesamtvorhaben in relativ kurzer Zeit erstellt und zugleich zur letzten Auspragung gebracht werden. Dem Springer-Verlag gilt unser besonderer Dank fur die druck- und satztechnische Beratung, das Eingehen und Entgegenkommen bei Auf machung und Ausstattung sowie die freundliche Betreuung des Vorha bens in allen Phasen seiner Entstehung. Munchen, im Januar 1974 R. Alletsee G. Umhauer VII Hinweise fiir Tell II Lernziel Nach Durcharbeiten von Teil II kann ein ablauffahiges Assemblerpro gramm mit Intern- und Ein/A usgabeverarbeitung programmiert werden, wie es von Seite 77 an ersichtlich ist. Voraussetzungen Urn diesen Teil II mit Erfolg zu bearbeiten, sollten die Grundkenntnisse der Assemblersprache vorhanden sein, wie sie in Teil I dieses Lern programms vermittelt wurden. Handhabung Die in vorliegendem Buch angewandte Lernmethode umfaBt einen Lern teil (Kapitel 1 bis 4), einen Losungsteil (Kapitel 5) und einen Anhang (Kapitel 6). Durch die Beantwortung der Fragen im Lernteil konnen Verstandnis und Wissen iiberpriift werden. Die Losungen der jeweiligen Aufgaben sind im Losungsteil aufgefiihrt. Der Anhang dient vornehmlich als Nachschlagewerk, in dem eine Zu sammenfassung aller behandelten Befehle und Anweisungen enthalten ist, und sollte vor aHem dann benutzt werden, wenn verschiedene Sach gehalte im Lernteil selbstandig aufzusuchen sind. VIII Inhaltsverzeichnis 1. Relative Adressierung .......... 1 1.1. Bedeutung der relativen Adressierung 1 1.2. Laden von Registern, BALR 5 1.3. Die Assembleranweisung USING 7 1.4. Sternadressen .......... 12 2. Die Programmierung der Ein/Ausgabe 14 2.1. Die Ein/Ausgabe von Daten 14 2.2. Makroaufrufe zur Dateibehandlung 15 2.2.1. Die DateierkHirung, DTFSR 16 2.2.2. Der Makroaufruf DTFEN 24 2.2.3. OPEN und CLOSE 24 2.3. Der Makroaufruf CNTRL 25 3. Einfiihrung in die Befehlsliste . 28 3.1. Die Befehle MVC, MVI 28 3.2. Die Konstantentypen X und B 31 3.3. Vergleichsoperationen, CLC, CLI 32 3.4. Sprungbefehle .......... 34 3.4.1. Pseudobefehle ...... 36 3.4.2. Sprungbefehle fiir Unterprogrammroutinen, BAL, BCR 36 3.5. Dezimalarithmetische Befehle . . . . . . . . 41 3.5.1. Der Befehl PACK .......... 41 3.5.2. Addition und Multiplikation, AP, MP 44 3.5.3. Die P-Konstante ....... 46 3.5.4. Anwendungen .......... 47 3.5.5. Die Befehle UNPK und MVZ .. 52 3.5.6. Division und Subtraktion, DP, SP 54 Obungen zu den Kapiteln 1 bis 3 57 4. Anwendungsfall am Beispiel eines Lohnabrechnungsprogramms 60 4.1. Aufgabenstellung 60 4.2. Programmablaufplan ...... . 62 4.3. Codierung ...... . 64 4.4. Assemblierung und Programmlauf 73 4.5. PRINT, TITLE, ORG ...... . 81 Ausblick 84 5. Losungen 85 A1 IX 6. Anhang .......... 106 A22 6.1. Die Assemblersprache 107 A23 6.2. Befehle . . . . . . . . 109 A25 6.2.1. Move Characters, MVC 110 A26 6.2.2. Move Immediate, MVI 111 A27 6.2.3. Move Zones, MVZ .. 112 A28 6.2.4. Compare Logical Characters, CLC 113 A29 6.2.5. Compare Logical Immediate, CLI 114 A30 6.2.6. Pack, PACK. . . . . . . 115 A31 6.2.7. Unpack, UNPK . . . . . . . 116 A32 6.2.8. Add Decimal Packed, AP . . 117 A33 6.2.9. Subtract Decimal Packed, SP 118 A34 6.2.10. Multiply Decimal Packed, MP 119 A35 6.2.11. Divide Decimal Packed, DP 120 A36 6.2.12. Branch And Link, BAL 121 A37 6.2.13. Branch And Link Register, BALR 122 A38 6.2.14. Branch on Condition, BC . . . . . 123 A39 6.2.15. Pseudobefehle . . . . . . . . . . . 124 A40 6.2.16. Branch on Condition Register, BCR 125 A41 6.3. Assembleranweisungen ......... 126 A42 6.3.1. Programmanfang, START 126 A42 6.3.2. Programmidentifikation, TITLE .. 127 A43 6.3.3. Steuerung der Protokollierung, PRINT 127 A43 6.3.4. Die USING-Anweisung 128 A44 6.3.5. Define Storage, DS 129 A45 6.3.6. Define Constant, DC 131 A47 6.3.7. Die ORG-Anweisung 133 A49 6.3.8. Die END-Anweisung 134 A50 6.4. Makroaufrufe ........ 135 A51 6.4.1. DateierkHirung flir ein Geriit mit seriellem Zugriff, DTFSR . . . . . . . . . . . . . . . . . . . . . 135 A51 6.4.2. Ende der Dateierkliirungen, DTFEN 137 A53 6.4.3. Eroffnen Datei, OPEN .. 138 A54 6.4.4. AbschlieBen Datei, CLOSE . 138 A54 6.4.5. Lesen eines Satzes, GET 139 ASS 6.4.6. Ausgeben eines Satzes, PUT. 139 A55 6.4.7. Steuern eines Geriits, CNTRL 140 A56 6.4.8. Programmende, EO] .. 140 A56 6.5. EBCDI-Code-Tabelle . . . . . . . . . 141 A57 6.6. Rechnerinterne Datendarstellung ... 143 A59 6.7. Umwandlungstabelle Sedezimal-Dezimal 144 A60 6.8. Verzeichnis einiger symbolischer Geriitenamen 145 A61 Literaturverzeichnis 146 Sachverzeichnis . . . 147 x Inhaltsiibersicht Teil I 1. Grundlagentest, einfiihrende Dberlegungen und MVC-Befehl 2. Konstanten-und Speicherbereichsdefinitionen, Assembleranweisungen 3. Befehlsformat, AdreBpegel und AdreBbuch 4. Dbersetzungsvorgang, Modul-Phase 5. Ein/Ausgabe mit den Makroaufrufen GET und PUT 6. Vergleichs-und Sprungbefehle 7. Losungen und Erlauterungen zu den zahlreichen Fragen, Aufgaben und Programmiibungen 8. Anhang in Form einer knappen Zusammenfassung aller behandeIten Befehle und Anweisungen, jeweils mit Beispielen Inhaltsiibersicht Teil III 1. Dualarithmetik mit Registerbefehlen 2. Dualarithmetik mit RX-Befehlen, sowie die Programmierung einer Tabellen verarbeitung als Anwendung der Indexadressierung 3. Adressenrechnung 4. Druckaufbereitung mit dem EDIT-Befehl an einer Vielzahl von moglichen Aufgabenstellungen 5. Code-Umsetzung mit dem Translate-Befehl 6. Programmunterteilung und -verkniipfung, Modultechnik und Segmentierung 7. Spezielle Obungen und Programme zum gesamten Stoffumfang aller drei Teile 8. Losungen und Erlauterungen der Fragen, Aufgaben und Programme 9. Anhang mit Zusammenstellung aller behandelten Befehle und Anweisungen XI

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.