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

29. March 2024, 13:54:38

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: 188
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 142
Total: 143

142 Guests, 1 User
xesrjb

Register sichern für Betriebssystem-Aufrufe

Started by LambdaMikel, 04. August 2019, 19:10:29

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

LambdaMikel

Frage an die Z80-CPC-Experten - was ist die effizienteste Methode, um Register "zu retten" vor destruktiven Betriebssystem Calls?
Z.B. call &bb5d - TXT WR CHAR - macht alles kaputt, ausser IX und IY. Wie soll ich am Besten meine Programm-Variablen "retten"?

- auf den Stack - PUSH BC, PUSH DE ....
- IX und IY verwenden (ich dachte, die Verwendung dieser ist im CPC stark eingeschränkt?)
- in den Speicher schreiben - ld hl,speicher, ld (hl),register
- und und und???


oobdoo

Nur das mit PUSH/POP retten welches nach BB5D mit weiter benötigten Werten arbeiten soll. Oder BB5A nehmen, das verändert gar keine Register.
IX und IY können ganz normal verwendet werden, da gibt es keine Einschränkungen, nur bei einigen IN/OUT.

Ich empfehle Dir https://cpcwiki.de/forum/index.php/topic,282.0.html runter zu laden. Da steht alles wichtige drin.
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

PUSH / POP sind am schnellsten. Bei einzelnen 8 Bit Registern kann man auch unbenutzte nehmen.

Die AF' und BC' Register (also 2ter Registersatz) müssen intakt bleiben. Auch sollte man die nur einblenden wenn man zuvor mit DI die Interrupts ausgeschalten hat.

Unter FutureOS hat der Programmierer volle Freiheit und kann immer alles nutzen. Also ist es da einfacher zum testen.
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)