Assembler-Schule

für den Commodore 64

INPUT64 3-8/1987


Start

Übersicht

Index

Links


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/

nach oben


Übersicht

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

nach oben


Index

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.

ADC Seite 4
AND Seite 13
ASL Seite 12
BCC Seite 8, Seite 9
BCS Seite 8, Seite 9
BEQ Seite 8, Seite 9
BIT Seite 23
BMI Seite 8, Seite 9
BNE Seite 8, Seite 9
BPL Seite 8, Seite 9
BRK Seite 5
BVC Seite 8, Seite 9
BVS Seite 8, Seite 9
CLC Seite 4
CLD Seite 15
CLI Seite 25, Seite 26
CLV Seite 8
CMP Seite 10
CPX Seite 20
CPY Seite 20
DEC Seite 23
DEX Seite 9
DEY Seite 9
EOR Seite 13
INC Seite 23
INX Seite 9
INY Seite 9
JMP Seite 13
JSR Seite 10, Seite 11
LDA Seite 3
LDX Seite 9
LDY Seite 9
LSR Seite 12
NOP Seite 23
ORA Seite 13
PHA Seite 24
PHP Seite 24
PLA Seite 24
PLP Seite 24
ROL Seite 12, Seite 13
ROR Seite 12, Seite 13
RTI Seite 25 - Seite 27
RTS Seite 11
SBC Seite 5
SEC Seite 5
SED Seite 15
SEI Seite 25, Seite 26
STA Seite 4
STX Seite 12
STY Seite 12
TAX Seite 9
TAY Seite 9
TSX Seite 24
TXA Seite 9
TXS Seite 24
TYA Seite 9

nach oben


Links

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/

nach oben


Berichtigungen, Fragen, Kommentare, Rückmeldungen bitte an:

Franz Kottira kottira@chello.at

Frankie´s C64 Seite: http://members.chello.at/wiener.freiheit/c64.htm