Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Programmierung => Topic started by: LambdaMikel on 26. January 2022, 06:59:39

Title: 16 Bit Test auf 0?
Post by: LambdaMikel on 26. January 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)
Title: Re: 16 Bit Test auf 0?
Post by: HAL6128 on 26. January 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
Title: Re: 16 Bit Test auf 0?
Post by: LambdaMikel on 26. January 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?