Hallo,
Ich schreib gerade ein kleines Programm, mit dem man durch Druck auf p/P oder o/O den Bildinhalt nach links oder rechts schieben kann. Dazu werden Subroutinen aufgerufen, in denen der bildschirmspeicherinhalt links oder rechts rotiert wird.
Irgend einen doofen Fehler habe ich aber gemacht, denn das Programm hängt nach dem ersten Tastendruck und tut nicht, was es soll:
Code
org &4000
LD HL,&C000
.loop
call input
halt
halt
jp loop
.input
PUSH HL
call &BB1B ; Tastaturabfrage
POP HL
ret nc
cp 'O'
jp z,links
cp 'o'
jp z,links
cp 'P'
jp z,rechts
cp 'p'
jp z,rechts
ret
.links
L1:
RL (HL)
INC H
JR NZ,L1
INC L
JR NZ,L1
ret
.rechts
L2:
RR (HL)
INC H
JR NZ,L2
INC L
JR NZ,L2
ret
Alles anzeigen
Kann mir jemand weiterhelfen?