Assembler-Beispiel 2C - BIT $hhll (1).asm
Aus C64-Wiki
Zur Navigation springenZur Suche springen
; Diese Programm ist eine einfache Joystick-Abfrage des Controlports 2. ; Joystick auf/ab = Rahmenfarbe +/- ; Joystick links/rechts = Hintergrundfarbe +/- ; Feuerknopf = Ende ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms start lda $02 cmp $dc00 ; Port auf CIA1, Port A beq start ; bleibe solange in Schleife bis sich Joystick-Register ändert. abfrage lda $dc00 ; neuen Wert in Speicherzelle 2 zwischenspeichern. sta $02 lda #%00000001 ; Joystick-Bewegung "auf" maskieren bit $dc00 ; bitweise UND-Verknüpfung der Adresse 56320, aktiv wenn Bit = 0 bne weiter1 ; wenn Bewegung nicht nach oben --> keine Erhöhung der Rahmenfarbe inc $d020 ; Rahmenfarbe + 1 weiter1 lda #%00000010 ; Joystick-Bewegung "ab" maskieren bit $dc00 ; bitweise UND-Verknüpfung der Adresse 56320, aktiv wenn Bit = 0 bne weiter2 ; wenn Bewegung nicht nach unten --> keine Verminderung der Rahmenfarbe dec $d020 ; Rahmenfarbe - 1 weiter2 lda #%00000100 ; Joystick-Bewegung "links" maskieren bit $dc00 ; bitweise UND-Verknüpfung der Adresse 56320, aktiv wenn Bit = 0 bne weiter3 ; wenn Bewegung nicht nach links --> keine Erhöhung der Hintergrundfarbe inc $d021 ; Hintergrundfarbe + 1 weiter3 lda #%00001000 ; Joystick-Bewegung "rechts" maskieren bit $dc00 ; bitweise UND-Verknüpfung der Adresse 56320, aktiv wenn Bit = 0 bne weiter4 ; wenn Bewegung nicht nach rechts --> keine Verminderung der Hintergrundfarbe dec $d021 ; Hintergrundfarbe - 1 weiter4 lda #%00010000 ; Feuerknopf-Bit maskieren bit $dc00 ; bitweise UND-Verknüpfung der Adresse 56320, aktiv wenn Bit = 0 bne start ; wenn Feuerknopf nicht gedrückt --> verzweige zum Start rts ; Rücksprung ins BASIC