Das Maschinensprache Buch für Fortgeschrittene zum Commodore 64

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Das Maschinensprache Buch für Fortgeschrittene zum Commodore 64
Cover/Buchdeckel
Sprache deutsch
Autor(en) Lothar Englisch
Verlag Data Becker GmbH
Jahr 1984
ISBN ISBN 3-89011-022-3
Neupreis DM 39.-
Datenträger
Seitenzahl 206 + nicht nummerierte Werbeseiten
letzte Auflage 2. Auflage
Genre Programmieren für Fortgeschrittene, BASIC-Erweiterungen
Information




Buchrückseite[Bearbeiten | Quelltext bearbeiten]

DAS STEHT DRIN

In diesem Buch wird von der Problemanalyse bis zum Maschinensprachealgorithmus in die Grundlagen der professionellen Maschinenspracheprogrammierung eingeführt.

Aus dem Inhalt:

  • Fließkommaarithmetik
Programmierung von Fließkommafunktionen
  • Interruptprogrammierung
mögliche Interruptquellen
CIA: Timer, Echtzeituhr
VIC: Rasterinterrupt
  • Programmierung von BASIC-Erweiterungen
z.B. REPEAT UNTIL
Eingabe von Hex- und Binärzahlen

UND GESCHRIEBEN HAT DIESES BUCH

Lothar Englisch ist Systemprogrammierer in der DATA BECKER Entwicklungsabteilung. Vor allem aber ist er Bestsellerautor (Das Maschinensprachebuch, 64 TIPS & TRICKS, 64 INTERN) und seine Bücher anerkannte Standardwerke.


Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

Einführung .................................... 1
Zahlendarstellung auf dem Commodore 64 ........ 3
Umwandlung ins Fließkommaformat ............... 22
Umwandlung ins INTEGER-Format ................. 28
Die Rechenroutinen des BASIC-Interpreters ..... 29
Fließkommafunktionen des BASIC-Interpreters ... 44
Interruptprogrammierung ....................... 70
Die CIA 6526 .................................. 74
Die Benutzung des Systeminterrupts ............ 80
Interrupts durch den Videocontroller .......... 102
Interrupts durch die CIA 6526 ................. 110
Die Benutzung der Timer ....................... 116
Betriebssystem- und BASIC-Erweiterungen ....... 130
Die BASIC-Vektoren ............................ 133
Strukturierte Programmierung .................. 146
Die Verwendung neuer Schlüsselworte ........... 159
Die Vektoren des Betriebssystems .............. 179
Druckerspooling ............................... 194
Tabelle der Schlüsselworte und ihrer Tokens ... 205

Leseprobe[Bearbeiten | Quelltext bearbeiten]

(Seite 110; Interrupt durch die CIA 6526)

Nachdem wir einige Möglichkeiten der Interruptauslösung durch den Videocontroller kennengelernt haben, wollen wir uns jetztmit der CIA 6526 beschäftigen, die sehr vielseitige Interruptquellen hat.

Die CIA 6526 ist ein universeller Ein-Ausgabe-Baustein, der zwei parallele 8-Bit-Ports, zwei 16-Bit-Timer, eine Echtzeituhr sowie mehrere Handshakeleitungen hat.

Die beiden parallelen 8-Bit-Ports dienen zur Ein- und Ausgabe von Daten. Von den insgesamt 4 Ports, die in den zwei CIAs enthalten sind, werden drei vom Betriebssystem benutzt; die beiden Ports der CIA1 zur Abfrage der Tastaturmatrix sowie der Joysticks. Port A der CIA2 liefert zum einen die 16K-Adressauswahl für den Videocontroller(Bit0 und 1); Bit2 ist frei, während die Bits 3bis7 für den seriellen Bus benutzt werden. Port B steht als Userport ganz dem Benutzer zur Verfügung, falls Sie nicht eine RS-232-Cartrigde zur seriellen Datenübertragung auf den Userport gesteckt haben.

Die Timer werden vom Betriebssystem folgendermaßen genutzt:

CIA1   Timer A  60Hz Systeminterrupt
       Timer B  serieller Bus (Timeout)
                Datasette lesen & schreiben

CIA2   Timer A  RS232 senden
       Timer B  RS232 empfangen

Wollen Sie die Timer für eigene Zwecke benutzen, so können Sie die CIA2 benutzen. CIA2 liefert jedoch keinen IRQ, sondern einen NMI. Wenn Sie jedoch während Ihrer Routine nicht gleichzeitig den seriellen Bus benutzen wollen, können Sie Timer B von CIA 1 benutzen und damit auch einen IRQ auslösen. In speziellen Fällen kann man sogar auf den Systeminterrupt verzichten und Timer A mit benutzen.

Die Echtzeituhr wird vom Betriebssystem nicht genutzt; es stehen Ihnen also zwei davon zur Verfügung. Mit der Alarmzeit können Sie also wahlweise einen IRQ (CIA1)oder einen NMI (CIA2) auslösen.

Auch die seriellen Schieberegister können Sie frei benutzen. Die Leitung FLAG, die als Handshakeeingang dient, setzt mit einer fallenden Flanke das entsprechende Bit im Interrupt Control Register der CIA2.

Die Ein-Ausgabe- sowie die Handshakeleitungen dienen in erster Linie zum Anschluss eigener Peripheriegeräte, ein Thema, das in dem Buch 'Der Commodore 64 und der Rest der Welt' ausführlich dargestellt ist. Dabei kommt auch die Interruptprogrammierung ausgiebig zum Einsatz. Wir werden später exemplarisch den Anschluss eines Druckers an den Userport beschreiben; das Hauptaugenmerk soll bei uns jedoch auf der Einbindung der Routinen ins Betriebssystem liegen, sodass wird die Geräte weiterhin mit den üblichen BASIC-Befehlen OPEN,PRINT# usw. ansprechen können.

Meinung[Bearbeiten | Quelltext bearbeiten]

Werner: "Die stärken dieses Buches liegen in der Kernal- und Interruptprogrammierung."

Blubarju: "Das Buch liefert außerdem eine gute Einführung der Fließkommazahlen und deren Darstellung in binärer Schreibweise auf dem C64. Ansonsten gilt was Werner bereits geschrieben hat. Ein gutes Buch!"

Weblinks[Bearbeiten | Quelltext bearbeiten]

Katalog der Deutschen Nationalbibliothek: 3-89011-022-3