Difference between revisions of "Z80 Maschinensprachekurs für den Schneider CPC 464/664/6128"
From CPCWiki - THE Amstrad CPC encyclopedia!
(→Information: year) |
(contents) |
||
Line 1: | Line 1: | ||
[[Image:Z80 Maschinen-Sprachekurs.jpg|right|thumb|250px|Frontpage]] | [[Image:Z80 Maschinen-Sprachekurs.jpg|right|thumb|250px|Frontpage]] | ||
− | |||
− | |||
== Information == | == Information == | ||
Line 21: | Line 19: | ||
== Contents == | == Contents == | ||
+ | <pre> | ||
+ | Inhalt Vorwort9 | ||
+ | 1 Lohnt sich Maschinensprache überhaupt? 11 | ||
+ | Drei POKEs legen den Computer lahm 12 | ||
+ | Was ist eine Z80A-CPU? 13 | ||
+ | 2 Die „Gehirnzellen" des Computers 15 | ||
+ | Speicher, Register, Flaggen 15 | ||
+ | Bytes als Schalter und Zähler 17 | ||
+ | Zahlen im Dualsystem 17 | ||
+ | 3 Maschinensprache und Assembler 20 | ||
+ | Das Hexadezimalsystem 20 | ||
+ | Assembler-Sprache 21 | ||
+ | Was ist ein „Assembler"? 22 | ||
+ | Low-Bytes, High-Bytes und Dezimalzahlen 23 | ||
+ | 4 Die Speichereinteilung des CPC 24 | ||
+ | ROM, RAM und „Speicheretagen" 24 | ||
+ | BASIC-Lader für Maschinenprogramme 25 | ||
+ | 5 Daten werden transportiert 27 | ||
+ | Das erste Maschinenprogramm 27 | ||
+ | Low-High-Regel bei Operanden 28 | ||
+ | 6 Adreßangaben beim Datentraiisport: Direkt oder um die Ecke 30 | ||
+ | Unmittelbare und absolute Adressierung 30 | ||
+ | Indirekte Adressierung 31 | ||
+ | 7 Wir programmieren eine Schleife 33 | ||
+ | Register als Zeiger und Zähler 33 | ||
+ | 8 Die erste Flagge 36 | ||
+ | Schleifen mit Doppelregistem 36 | ||
+ | Die Z-Flagge reagiert nicht immer 37 | ||
+ | 9 Ein Graphikzeichen erscheint auf dem Bildschirm | ||
+ | Der Bildschirmaufbau 39 | ||
+ | Erster Kontakt mit dem IX-Register 41 | ||
+ | 10 Wir lernen die Carry-Flagge kennen | ||
+ | und kürzen das Zeichensetzprogramm 43 | ||
+ | Die Carry-Flagge 43 | ||
+ | Bedingte Sprünge mit Carry 44 | ||
+ | 11 Wir rufen Unterprogramme auf und lernen | ||
+ | den Stapelspeicher kennen 46 | ||
+ | Ein „Bildschirmfüir'programm" 46 | ||
+ | Der Stapelspeicher 48 | ||
+ | Stapeln mit PUSH und POP 48 | ||
+ | 12 Wir zerlegen Bytes und setzen große Zeichen 54 | ||
+ | Rotations- und Schiebebefehle 54 | ||
+ | Ein Programm für große Zeichen 56 | ||
+ | 13 Das sanfte Gleiten61 | ||
+ | Soft-scrolling 61 | ||
+ | Der CP-Befehl 62 | ||
+ | Das Hauptprogramm 63 | ||
+ | Die Verschieberoutine 64 | ||
+ | Die indizierte Adressierung 65 | ||
+ | 14 Datentransport „en gros" und kurze Sprünge 67 | ||
+ | Verschiebung von Speicherblöcken 67 | ||
+ | Relative Sprünge 70 | ||
+ | 15 Masken für die Bytes 74 | ||
+ | AND - OR - XOR 74 | ||
+ | Programmbeispiel: Unterdrückung der Kleinschreibung | ||
+ | Bytes werden maskiert 76 | ||
+ | 16 Wir setzen einen Punkt 80 | ||
+ | Die Bildschirmorganisation 80 | ||
+ | Das Plot-Programm 83 | ||
+ | Rechnen mit Tricks 84 | ||
+ | Der Programmablauf 84 | ||
+ | 17 Speicherbereiche lesen und schreiben 89 | ||
+ | Ein DUMP-Programm zeigt den Speicherinhalt 89 | ||
+ | Der RLD-Befehl hilft beim DUMPen 91 | ||
+ | Hex-Zahlen: von der Taste in den Speicher 92 | ||
+ | 18 Der Z80 als Rechner 94 | ||
+ | Rechnen: mangelhaft94Rechnen mit 8 Bits 95 | ||
+ | Rechnen mit doppelter Genauigkeit 96 | ||
+ | Die Stärke des Z80:16-Bit-Befehle 98 | ||
+ | 19 Negative Zahlen sind die „Größten" 100 | ||
+ | Das Vorzeichenbit 100 | ||
+ | Rechnen mit positiven und negativen Zahlen 102 | ||
+ | Die Overflow-Flagge 103 | ||
+ | 16-Bit-Zahlen mit Vorzeichen 104 | ||
+ | 20 Die letzten Flaggen und das Rechnen im Dezimalsystem | ||
+ | Dezimalarithmetik mit DAA 109 | ||
+ | Genaueres über DAA 111 | ||
+ | Flaggen steuern die Dezimalkorrektur 112 | ||
+ | 21 Im CPC steckt Musik 115 | ||
+ | Datenaustausch mit Peripheriegeräten 115 | ||
+ | Die Register des Tongenerators 116 | ||
+ | Programmierung des Tongenerators | ||
+ | Ein Tonleiterprogramm 120 | ||
+ | 22 Zugriff aufs ROM 124 | ||
+ | Das Gate-Array organisiert den CPC 124 | ||
+ | Das Zeichen-ROM wird ausgelesen 125 | ||
+ | Die RST-Befehle 127 | ||
+ | 23 Was ist ein Interrupt? 130 | ||
+ | Die Anwendung von UnterbrechungenUnterbrechungen verhindern 132 | ||
+ | Eine interruptgesteuerte Digitaluhr 132 | ||
+ | Wie die Uhr tickt 136 | ||
+ | 24 Weitere Informationen über Interrupts 140 | ||
+ | Interruptmodi des Z80 140 | ||
+ | NMI und BUSRQ 141 | ||
+ | Die EX-Befehle 141 | ||
+ | 25 Die Benutzung der ROM-Routinen 143 | ||
+ | Die Betriebssystemsroutinen 143 | ||
+ | Nochmals: Die Uhr 145 | ||
+ | So tickt die neue Uhr 148 | ||
+ | 26 Anhang 149 | ||
+ | Erläuterung zu den Programmlisten A 149 | ||
+ | Programmliste des Direktassemblers B 151 | ||
+ | Eingabe und Bedienung des Direktassemblers C | ||
+ | Z80-Befehlsliste D 159 | ||
+ | Flaggenbeeinflussung der Befehle E 175 | ||
+ | Dez-Hex-Dual-Tabelle F 176 | ||
+ | Lösung der Übungsaufgaben G 178 | ||
+ | Literatur I 186 | ||
+ | Stichwortverzeichnis J 187 | ||
+ | </pre> | ||
[[Category:Books]] [[Category:Book cover]] | [[Category:Books]] [[Category:Book cover]] |
Revision as of 08:36, 1 April 2015
Information
Title: | Z80 Maschinen - Sprachekurs für den Schneider CPC 464/664/6128 |
Authors: | Peter Heiß |
Publiser: | Heise |
Year: | 1986 |
Pages: | 176 |
ISBN: | 3-922705-28-6 |
Contents
Inhalt Vorwort9 1 Lohnt sich Maschinensprache überhaupt? 11 Drei POKEs legen den Computer lahm 12 Was ist eine Z80A-CPU? 13 2 Die „Gehirnzellen" des Computers 15 Speicher, Register, Flaggen 15 Bytes als Schalter und Zähler 17 Zahlen im Dualsystem 17 3 Maschinensprache und Assembler 20 Das Hexadezimalsystem 20 Assembler-Sprache 21 Was ist ein „Assembler"? 22 Low-Bytes, High-Bytes und Dezimalzahlen 23 4 Die Speichereinteilung des CPC 24 ROM, RAM und „Speicheretagen" 24 BASIC-Lader für Maschinenprogramme 25 5 Daten werden transportiert 27 Das erste Maschinenprogramm 27 Low-High-Regel bei Operanden 28 6 Adreßangaben beim Datentraiisport: Direkt oder um die Ecke 30 Unmittelbare und absolute Adressierung 30 Indirekte Adressierung 31 7 Wir programmieren eine Schleife 33 Register als Zeiger und Zähler 33 8 Die erste Flagge 36 Schleifen mit Doppelregistem 36 Die Z-Flagge reagiert nicht immer 37 9 Ein Graphikzeichen erscheint auf dem Bildschirm Der Bildschirmaufbau 39 Erster Kontakt mit dem IX-Register 41 10 Wir lernen die Carry-Flagge kennen und kürzen das Zeichensetzprogramm 43 Die Carry-Flagge 43 Bedingte Sprünge mit Carry 44 11 Wir rufen Unterprogramme auf und lernen den Stapelspeicher kennen 46 Ein „Bildschirmfüir'programm" 46 Der Stapelspeicher 48 Stapeln mit PUSH und POP 48 12 Wir zerlegen Bytes und setzen große Zeichen 54 Rotations- und Schiebebefehle 54 Ein Programm für große Zeichen 56 13 Das sanfte Gleiten61 Soft-scrolling 61 Der CP-Befehl 62 Das Hauptprogramm 63 Die Verschieberoutine 64 Die indizierte Adressierung 65 14 Datentransport „en gros" und kurze Sprünge 67 Verschiebung von Speicherblöcken 67 Relative Sprünge 70 15 Masken für die Bytes 74 AND - OR - XOR 74 Programmbeispiel: Unterdrückung der Kleinschreibung Bytes werden maskiert 76 16 Wir setzen einen Punkt 80 Die Bildschirmorganisation 80 Das Plot-Programm 83 Rechnen mit Tricks 84 Der Programmablauf 84 17 Speicherbereiche lesen und schreiben 89 Ein DUMP-Programm zeigt den Speicherinhalt 89 Der RLD-Befehl hilft beim DUMPen 91 Hex-Zahlen: von der Taste in den Speicher 92 18 Der Z80 als Rechner 94 Rechnen: mangelhaft94Rechnen mit 8 Bits 95 Rechnen mit doppelter Genauigkeit 96 Die Stärke des Z80:16-Bit-Befehle 98 19 Negative Zahlen sind die „Größten" 100 Das Vorzeichenbit 100 Rechnen mit positiven und negativen Zahlen 102 Die Overflow-Flagge 103 16-Bit-Zahlen mit Vorzeichen 104 20 Die letzten Flaggen und das Rechnen im Dezimalsystem Dezimalarithmetik mit DAA 109 Genaueres über DAA 111 Flaggen steuern die Dezimalkorrektur 112 21 Im CPC steckt Musik 115 Datenaustausch mit Peripheriegeräten 115 Die Register des Tongenerators 116 Programmierung des Tongenerators Ein Tonleiterprogramm 120 22 Zugriff aufs ROM 124 Das Gate-Array organisiert den CPC 124 Das Zeichen-ROM wird ausgelesen 125 Die RST-Befehle 127 23 Was ist ein Interrupt? 130 Die Anwendung von UnterbrechungenUnterbrechungen verhindern 132 Eine interruptgesteuerte Digitaluhr 132 Wie die Uhr tickt 136 24 Weitere Informationen über Interrupts 140 Interruptmodi des Z80 140 NMI und BUSRQ 141 Die EX-Befehle 141 25 Die Benutzung der ROM-Routinen 143 Die Betriebssystemsroutinen 143 Nochmals: Die Uhr 145 So tickt die neue Uhr 148 26 Anhang 149 Erläuterung zu den Programmlisten A 149 Programmliste des Direktassemblers B 151 Eingabe und Bedienung des Direktassemblers C Z80-Befehlsliste D 159 Flaggenbeeinflussung der Befehle E 175 Dez-Hex-Dual-Tabelle F 176 Lösung der Übungsaufgaben G 178 Literatur I 186 Stichwortverzeichnis J 187