Schneider / Amstrad CPC Forum
Amstrad / Schneider CPC => Programmierung => Topic started by: oobdoo on 20. February 2015, 20:04:16
Seh ich das eigendlich richtig, das die Indexregisterr IX/IY von den Firmware-Routinen nie verändert werden?
Auf jeden Fall sind sie schonmal praktisch.
Welche Routinen welche Register beeinflussen ist z.B. im Schneider CPC Systembuch (http://little-bat.de/cpc) beschreiben. Da werden auch mal die Indexregister beeinflusst.
Schönes Wochenende,
AMSi
Praktisch ja, aber auch langsam(er) als normale Register.
Am besten verwendet man die um 8 Bit Werte zu speichern, geht schneller als in RAM zu legen.
Beispiel:
DB &DD : LD H,B kopiert Register B in Register IX high
Quote from: almasys on 20. February 2015, 21:51:01
Welche Routinen welche Register beeinflussen ist z.B. im Schneider CPC Systembuch (http://little-bat.de/cpc) beschreiben. Da werden auch mal die Indexregister beeinflusst.
Interessant. Hab jetzt ja das Systembuch analog hier liegen. Da wird extra auch auf die Indexregister eingegangen, in meinem deutschen Firmwaremanual nicht.
Quote from: TFM on 20. February 2015, 22:14:29
Praktisch ja, aber auch langsam(er) als normale Register.
Am besten verwendet man die um 8 Bit Werte zu speichern, geht schneller als in RAM zu legen.
Beispiel:
DB &DD : LD H,B kopiert Register B in Register IX high
Du meinst,H bekommt den Wert von B.
Nein das High-Byte von IX, denn das Byte &DD schaltet auf IX
Wenn Du mit IY arbeiten willst, dann nimm &FD
Beispiel:
DB &FD
LD C,L
Läd / kopiert den Wert von Index Register IY - low Byte in das Register C
Das sind undokumentierte Befehle, sie sind aber in allen Z80 vorhanden. :)
Siehe Anhang :)
Achso, die undokumentierten. Ja dann ist mir das auch klar. ;D