Forum: Mikrocontroller und Digitale Elektronik Pointerregister-Frage


von Markus (Gast)


Lesenswert?

Hallo Community,


Ich habe eine Verständisfrage zu den X Y Z Registern.

Ich habe gelernt, mit dem Z-Pointer umzugehen, um fertige Datensätze aus 
dem CSeg auszulesen. Ich möchte nun mit einem Pointer Daten in den DSeg 
schreiben und wieder auslesen.
Im Tutorial steht, das Z-Register wäre dafür geeignet. Aber nach meinem 
Verständnis ist das Z-Register ausschließlich im Cseg unterwegs?

Welche Funktion haben die X und Y Pointer dann? Anscheinend nicht Dseg 
und Eseg Pointen?

Gruß

Markus

von (prx) A. K. (prx)


Lesenswert?

Wie wärs denn damit, uns die Lust am raten zu ersparen, wovon überhaupt 
die Rede ist? Sowohl was die Architektur angeht, als auch was Cseg, Dseg 
und Eseg sind.

Wenn AVR gemeint sein sollte: Die Interpretation des Inhalts der Pointer 
als ROM- und RAM-Adressen entsteht nicht durch die Register, sondern 
über die Lade/Speicher-Befehle, die sie verwenden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Markus schrieb:
> Anscheinend nicht Dseg und Eseg Pointen?
Wie bitte?

> Welche Funktion haben die X und Y Pointer dann?
Was steht denn im Datenblatt des unbekannten uCs?

Vermutlich gibt es da wie z.B. beim AVR spezielle Befehle, bei deren 
Verwendung diese Zeiger irgendwo hin zeigen können, und es kommt dann 
darauf an, was du daraus machst...

von Markus (Gast)


Lesenswert?

Der unbekannte µC ist ein Atmega644P.

Also es gibt keinen Unterschied zwischen diesen Pointern?
Adresse im Z-Register + lpm = cseg,
Adresse im Z-Register + lds = dseg?

Ob mans glaubt oder nicht. Das ist ne Frage die mich wirklich bewegt, 
und eine eideutige Antwort habe ich leider nicht gefunden.

Welche Funktion haben dann Y und X Register in der Praxis?

von spess53 (Gast)


Lesenswert?

Hi

>Adresse im Z-Register + lds = dseg?

Nein. Sieh dir die Beschreibungen der Befehle st/std/ld/ldd an.

MfG Spess

von (prx) A. K. (prx)


Lesenswert?

Markus schrieb:
> Welche Funktion haben dann Y und X Register in der Praxis?

Adressierung von Daten, deren Adresse nicht feststeht. Ein C Compiler 
wird ggf. einen dieser Pointer für die Adressierung lokaler Daten 
verwenden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.