Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

28. March 2024, 22:09:20

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,655
  • Total Topics: 1,329
  • Online today: 113
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 2
Guests: 103
Total: 105

103 Guests, 2 Users
Doc schneider, xesrjb

Indexregister

Started by oobdoo, 20. February 2015, 20:04:16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oobdoo

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.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

almasys

Welche Routinen welche Register beeinflussen ist z.B. im Schneider CPC Systembuch beschreiben. Da werden auch mal die Indexregister beeinflusst.

Schönes Wochenende,
AMSi

TFM

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

TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

oobdoo

Quote from: almasys on 20. February 2015, 21:51:01
Welche Routinen welche Register beeinflussen ist z.B. im Schneider CPC Systembuch 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.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

oobdoo

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.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

TFM

#5
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 :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

oobdoo

Achso, die undokumentierten. Ja dann ist mir das auch klar. ;D
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088