Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => FutureOS => Topic started by: cpcman on 07. February 2024, 20:00:21

Title: Sprünge über 127 gehen nicht , wie umgehen?
Post by: cpcman on 07. February 2024, 20:00:21
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
----------------------
Title: Re: Sprünge über 127 gehen nicht , wie umgehen?
Post by: TFM on 07. February 2024, 20:23:49
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.
Title: Re: Sprünge über 127 gehen nicht , wie umgehen?
Post by: cpcman on 07. February 2024, 20:57:49
Danke für die Hilfe.
Title: Re: Sprünge über 127 gehen nicht , wie umgehen?
Post by: TFM on 08. February 2024, 11:48:27
Immer gerne!  :winke0002: