Hallo, guten Tag.
Ich habe hier eine Schleife mit Tastenabfrage um Buchstaben zu steuern mit Q/W/E/S/A.
Wenn die Sprünge über 127 gehen , geht es nicht mehr.
Wie kann man den Rücksprung dann bitte machen wenn er größer wie 127 ist.
Möchte einen anderen Sprungbefehl einsetzen.
Es kommt nicht auf Geschwindigkeit an.
Es kommen noch mehr abfragen dazu mit Rücksprung.
Danke.
------------------
anfang:
schleife:
call H_ALLET
jr z,schleife
ld (hl),a
cp "q"
jr nz,weiter1
ld a,(VARX)
dec a
ld (VARX),a
ld (TXT+4),a
call posxy
jr anfang
weiter1:
ld (hl),a
cp "e"
jr nz,weiter2
ld a,(VARX)
inc a
ld (VARX),a
ld (TXT+4),a
call posxy
jr anfang
weiter2:
ld (hl),a
cp "w"
jr nz,weiter3
ld a,(VARY)
dec a
ld (VARY),a
ld (TXT+3),a
call posxy
jr anfang
weiter3:
ld (hl),a
cp "s"
jr nz,weiter4
ld a,(VARY)
inc a
ld (VARY),a
ld (TXT+3),a
call posxy
jr anfang
weiter4:
ld (hl),a
cp "a"
jr nz,anfang
call ende
----------------------
Wenn der Assembler bei JR meckert, dann nimm einfach den JP.
Der JP braucht zwar 1 Byte und 1 us mehr, aber das ist meist zum verschmerzen.
Danke für die Hilfe.
Immer gerne! :winke0002: