Assembler-Beispiel 4A - LSR.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 ; Zwischenspeicher in Zeropage cmp $dc00 beq start ; bleibe solange in Schleife bis sich Joystick-Register ändert. lda $dc00 ; Lade Akku mit Statusbyte des "Control Port 2" sta $02 ; Speichere Wert in Speicherzelle 2 lsr ; "Joystick oben"-Bit ins Carry-Flag schieben bcs weiter1 ; wenn Bewegung nicht nach oben --> keine Erhöhung der Rahmenfarbe inc $d020 ; Rahmenfarbe + 1 weiter1 lsr ; "Joystick unten"-Bit ins Carry-Flag schieben bcs weiter2 ; wenn Bewegung nicht nach unten --> keine Verminderung der Rahmenfarbe dec $d020 ; Rahmenfarbe - 1 weiter2 lsr ; "Joystick links"-Bit ins Carry-Flag schieben bcs weiter3 ; wenn Bewegung nicht nach links --> keine Erhöhung der Hintergrundfarbe inc $d021 ; Hintergrundfarbe + 1 weiter3 lsr ; "Joystick rechts"-Bit ins Carry-Flag schieben bcs weiter4 ; wenn Bewegung nicht nach rechts --> keine Verminderung der Hintergrundfarbe dec $d021 ; Hintergrundfarbe - 1 weiter4 lsr ; Feuerknopf-Bit ins Carry-Flag schieben bcs start ; wenn Feuerknopf nicht gedrückt --> verzweige zum Start rts ; Rücksprung ins BASIC