Assembler-Beispielprogramme
Aus C64-Wiki
Zur Navigation springenZur Suche springenDie Beispielprogramme sind auf diesem Disketten-Image zusammengefasst, abgesehen von den mit "(*)" markierten Beispielen.
BASIC[Bearbeiten | Quelltext bearbeiten]
- basic_erweiterung.asm: Eine einfache BASIC-Erweiterung mit zwei Befehlen.
Bildschirmausgabe[Bearbeiten | Quelltext bearbeiten]
- Bildschirm löschen und Text auf einer definierten Position ausgeben
- Invertiert den gesamt Bildschirm
- Dezimalzahl anzeigen (und Division)
Cursor[Bearbeiten | Quelltext bearbeiten]
Datei-Operationen[Bearbeiten | Quelltext bearbeiten]
- Disketten-Inhaltsverzeichnis verlustfrei anzeigen
- Laden eines Programms an eine gewünschte Adresse
- Speichern eines gewünschten Programmbereiches
Farb-Manipulationen[Bearbeiten | Quelltext bearbeiten]
- Flimmern des Bildschirmrahmens
- Rahmen und Hintergrund weiß färben
- Rahmenfarbe an Hintergrundfarbe angleichen
- Schriftfarbe auf Weiß ändern
- Schräge schwarz-weiß-Balken die sich am Bildschirm bewegen
Grafik[Bearbeiten | Quelltext bearbeiten]
- Grafikmodus einschalten und ausschalten
- sternenhimmel.asm: Animierter Sternenhimmel als Sprite-Multiplexer
- Sprite-Multiplexer
- Grafikbitmap auf doppelte Breite bringen (*)
Interrupt-Programmierung[Bearbeiten | Quelltext bearbeiten]
- "Interrupt Service Routine" erweitern Beispiel 1
- "Interrupt Service Routine" erweitern Beispiel 2
- Registerrettung bei einer "Interrupt Service Routine" (*)
Joystickabfragen[Bearbeiten | Quelltext bearbeiten]
Maussteuerung[Bearbeiten | Quelltext bearbeiten]
- 1351.asm: Maussteuerung im 1351-Proportionalmodus
- NEOS-Maus-Treiber (*)
Musik[Bearbeiten | Quelltext bearbeiten]
Parameterübergabe[Bearbeiten | Quelltext bearbeiten]
- SYS mit Parameterübergabe: Rahmen- und Hintergrundfarbe mittels
SYS 49152,Rahmenfarbe,Hintergrundfarbe
setzen. - BASIC-Erweiterung mit Parameterübergabe
- Inline-Parameter bei JSR-Unterprogrammaufrufen (*)
Rechenoperationen[Bearbeiten | Quelltext bearbeiten]
- Addition zweier 16-Bit-Zahlen
- Subtraktion zweier 16-Bit-Zahlen
- Subtraktion durch implizite Negation (*)
- Arithmetisches Rechtsschieben: vorzeichenbehaftete Division durch 2 (*)
- 16-Bit-Zahl verdoppeln (*)
- 16-Bit-Vergleich (*)
Scrolling[Bearbeiten | Quelltext bearbeiten]
- scrolling.asm: Gesamten Bildschirm horizontal scrollen
Speicherbereiche manipulieren[Bearbeiten | Quelltext bearbeiten]
- 256 Bytes kopieren
- 1024 Bytes mit Leerzeichen beschreiben (Bildschirmspeicher $0400-$07ff mit Leerzeichen $20 beschreiben)
- Kleinen Speicherbereich (Kassettenpuffer) an fixer Adresse füllen
Tastatur[Bearbeiten | Quelltext bearbeiten]
- Eingabe-Routine mit Längenbegrenzung, Korrekturfunktion und Filter
- Warten bis Taste "S" gedrückt (direkte Abfrage der 8x8-Matrix-Tastatur)
- Warten auf Tastendruck mit Registersicherung (A,X und Y)
- Tastaturabfrage abschalten