Autor Thema: 16 Bit Test auf 0?  (Gelesen 204 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline LambdaMikel

16 Bit Test auf 0?
« am: 26. Januar 2022, 06:59:39 »
Hallo Z80-Profis, was ist denn der schnellste Weg um z.B IX auf &0000 zu prüfen.
Vorschlag:

org &4000
ld ix,0000
push ix
pop hl
ld a, h
or a, l
ret nz
ld a, 66
call &bb5d
ret

...
;;; hier ist 0000

Gibt's was Besseres?
(Auf Registerpaar IX kann man wohl nur als "IX", aber nicht als "X" zugreifen)

Offline HAL6128

Re: 16 Bit Test auf 0?
« Antwort #1 am: 26. Januar 2022, 07:44:11 »
Laut http://www.z80.info/z80undoc.htm könnte man auch auf das Registerpaar einzeln zugreifen...

  #DD #7C      LD   A,IXH     
  #DD #7D      LD   A,IXL

Offline LambdaMikel

Re: 16 Bit Test auf 0?
« Antwort #2 am: 26. Januar 2022, 07:59:37 »
Super, in der Tat... Z80-BZD Fehler! Dankeschön, das kompiliert mit WinAPE:

org &4000
ld ix,0000
ld a, ixh
or a, ixl
ret nz

Geht's noch besser?