Assembler-Schulefür den Commodore 64 |
INPUT64 3-8/1987 |
Der hier mit freundlicher Genehmigung des Autors Hajo Schulz und des Verlags Heinz Heise wiedergegebene Assemblerkurs (Copyright Verlag Heinz Heise) erschien 1987 im Magazin INPUT64. Es handelt sich um eine umfassende und flüssig geschriebene Einführung in die Maschinensprache des C64 für Anfänger - der beste Text dieser Art, den ich kenne. Die Wiedergabe ist als Service für alte und neue Benutzer des C64 gedacht, die ein deutschsprachiges Tutorial im Internet bisher vergeblich suchten.
Bei der Aufbereitung bin ich den einfachsten Weg gegangen, nämlich die Seiten als Bilddatei wiederzugeben. Ein HTML-Text wäre mir lieber gewesen, aber Versuche mit Texterkennungsprogrammen lieferten eine so erschreckend hohe Fehlerrate, daß ich mich vor dem großen Bearbeitungsaufwand drückte. Die 33 Seiten des Kurses liegen nun also als 33 JPG-Dateien mit einer Größe von durchschnittlich 90 KB vor. Eine Möglichkeit, den ganzen Kurs in einem Stück herunterzuladen, ist nicht vorgesehen. Allerdings gibt es praktische Tools, um eine Webseite samt Linkstruktur und Bilder komplett zu kopieren, z.B. HTTrack Website Copier - Offline Browser .
NEU! | Jens Syckor hat den kompletten Kurs in ein PDF-File konvertiert: input64.pdf. |
Die den Originalausgaben von INPUT64 beiliegenden Disks sind zum Verständnis des Kurses nicht nötig, können jedoch hier heruntergeladen werden: http://vic-20.de/x1541/input64/
Der Text ist nicht lexikalisch, sondern als fortlaufender Kurs aufgebaut. Für Einsteiger ist es daher sicher empfehlenswert, mit Seite 1 anzufangen.
Seite 1 | Teil 1 | Einführung |
Seite 2 | Zahlensysteme, Prozessorregister | |
Seite 3 | Hardware Funktionsprinzip, Akku-Register laden | |
Seite 4 | Addieren und Carry Flag, Akku-Register speichern | |
Seite 5 | Subtrahieren und Carry-Flag | |
Seite 6 | Teil 2 | Befehlslänge und Addressierungsart |
Seite 7 | negative Zahlen, Zweierkomplement | |
Seite 8 | Prozessor-Status, Flags, bedingter Sprung | |
Seite 9 | bedingter Sprung, X- und Y-Register, Registertransfer, Inkrementieren und Dekrementieren | |
Seite 10 | Subroutinen, Vergleichsoperation mit Akku | |
Seite 11 | Teil 3 | Prozessor-Stack, Subroutinen |
Seite 12 | Schiebe- und Rotationsbefehle | |
Seite 13 | Logische Operationen, Sprungbefehl | |
Seite 14 | Beispielprogramm | |
Seite 15 | Dezimal-Modus, BCD-Format | |
Seite 16 | Beispielprogramm | |
Seite 17 | Teil 4 | Zero-Page |
Seite 18 | absulut indizierte Adressierung | |
Seite 19 | Beispielprogramm | |
Seite 20 | indizierte Adressierung in der Zero-Page, indirekt indizierte Adressierung | |
Seite 21 | indirekt indizierte Adressierung, Beispielprogramm | |
Seite 22 | Beispielprogramm | |
Seite 23 | Teil 5 | Bits testen, div. Befehle |
Seite 24 | Stack als Zwischenspeicher | |
Seite 25 | Interrupts: IRQ, NMI | |
Seite 26 | Interrupts: IRQ verhindern | |
Seite 27 | Interrupts: Priorität, Vektoren | |
Seite 28 | Tabelle der Befehle und Adressierungsarten | |
Seite 29 | Teil 6 | Einbindung in Basic: SYS |
Seite 30 | USR | |
Seite 31 | Beispielprogramm Joystickabfrage | |
Seite 32 | Beispielprogramm Hex-Umrechnung | |
Seite 33 | Ende |
Die folgende alphabetische Befehlsübersicht erleichtert das Auffinden der Erklärungen und Beschreibungen zu den einzelnen Befehlen. Seite 28 enthält darüberhinaus eine Tabelle aller Befehle, ihrer möglichen Adressierungsarten und ihrer Flag-Implikationen.
|
|
|
|
Anleitungen:
Fab's Commodore page | C64 Bedienungshandbuch, deutsch |
assembler | C64 Assember-Einführung, in Entwicklung |
Dokumente allgemein:
Project Commodore/Project 64 | umfangreiche Dokumentensammlung |
iDOC= | viele Dokumente, mehrsprachig |
Progammierhilfen speziell (alle in Englisch):
mapc6411.zip (171KB) | Speicherbelegung des C64, unverzichtbar |
c64usg10.zip (98,473 bytes) | C64 User´s Guide, handbuchartig |
ml4c64.zip | Maschinensprache für den C64, gutes Tutorial |
C= Hacking Net-Magzine | Beiträge zu vielen Spezialthemen, hochinteressant |
c64dis10.zip (64,508 bytes) | ROM-Listing, mager kommentiert |
All_About_Your_64-Online-Help Version 0.60 | u.a. interaktives ROM-Listing |
Assembler / FTP-Sites:
Commodore Languages List | Programmiersprachen und Tools (Übersicht) |
Assembler auf utopia.hacktic.nl | Assembler - u. v. m. |
Assembler auf c64.rulez.org | |
asm auf ftp.elysium.pl | |
ftp.funet.fi:/pub/cbm/c64/programming/ |
Berichtigungen, Fragen, Kommentare, Rückmeldungen bitte an:
Franz Kottira kottira@webnet.at