Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Programmierung => Topic started by: oobdoo on 21. July 2017, 14:57:06

Title: Frage zu undokummentierten Befehlen
Post by: oobdoo on 21. July 2017, 14:57:06
Wie funktioniert SET 7,(IX+d),A?

Bit 7 wird gesetzt, aber wo? Welches Register und welcher Parameter macht wann was genau?
Title: Re: Frage zu undokummentierten Befehlen
Post by: TFM on 21. July 2017, 15:42:25
Quote from: oobdoo on 21. July 2017, 14:57:06
Wie funktioniert SET 7,(IX+d),A?

Bit 7 wird gesetzt, aber wo? Welches Register und welcher Parameter macht wann was genau?

- Zuerst wird das Bit 7 im RAM gesetzt, die RAM-Adresse ist durch IX+d gegeben
- Anschließend wird das Byte vom RAM ins Register A geladen

Title: Re: Frage zu undokummentierten Befehlen
Post by: oobdoo on 21. July 2017, 16:30:01
Quote from: TFM on 21. July 2017, 15:42:25
Quote from: oobdoo on 21. July 2017, 14:57:06
Wie funktioniert SET 7,(IX+d),A?

Bit 7 wird gesetzt, aber wo? Welches Register und welcher Parameter macht wann was genau?

- Zuerst wird das Bit 7 im RAM gesetzt, die RAM-Adresse ist durch IX+d gegeben
- Anschließend wird das Byte vom RAM ins Register A geladen
Danke.

Das klingt für mich, als könnte man den Befehl durchaus mal gebrauchen.
Title: Re: Frage zu undokummentierten Befehlen
Post by: TFM on 21. July 2017, 17:21:24
Ja, ab und zu schon. Von den Illegals / Undokumentierten nehm ich am meisten die her, die:

- IX und IY als je zwei 8-Bit Register nutzen, also zur schnellen Speicherung von 8 Bit Werten
- den OUT (C),0 ab und zu (spaart 1 ys)
- den IN F,(C) um den Frame-Flyback schneller zu testen
- Den SLL für Mathematik

Die anderen sind ab und zu auch brauchbar, aber wohl nicht die ganze Zeit.  :)