Forum: Mikrocontroller und Digitale Elektronik Hä? Wie geht indirekte Adressierung mit Displacement


von UBoot-Stocki (Gast)


Lesenswert?

Hallo,

seit mehreren Tagen kämpfe ich nun mit folgendem Problem:

Ich möchte im RAM acht 8-BIT Werte ablegen und diese nacheinander z.B. 
an Port D ausgeben. mit der LDD-Anweisung kann theoretisch nacheinander 
(Erhöhung des Z-Register) auf das RAM zugegriffen werden. Nun zu meinem 
Problem:
Wie kann das RAM mit Werten vorbelegt werden (STD-Anweisung ?!)  und 
insbesondere wie wird der Bereich vor dem Überschreiben (z.B. durch den 
Stack) geschützt ??? Braucht man da die Assembler-Direktiven CSEG unf 
DSEG ???
Am Besten wäre ein Beispiel wie sowas gemacht wird!!


Ich gehe jetzt erstmal frustriert ins Bett ...


Gruß

UBoot-Stocki

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Das RAM musst du nach dem Reset erst füllen bevor du was auslesen 
kannst! "Vorbelegen" geht nicht, nach dem Reset ist der RAM-Inhalte 
undefiniert.

Gruß
Andreas

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Vor Überschreiben durch den Stack kannst du den Speicher nicht schützen, 
du musst dich selber darum kümmern dass der Stack nicht zu lang wird.

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.