Forum: Mikrocontroller und Digitale Elektronik Frage zur SRAM Speicherung


von Derda (Gast)


Lesenswert?

Hallo,
Ich möchte den Z-pointer um einen bzw mehrere erhöhen oder veringern, 
dabei aber nichts laden oder abrufen (aus dem SRAM). Wie kann ich das in 
Assembler machen?

von Ben _. (burning_silicon)


Lesenswert?

Keine Ahnung wie das beim 68000er geht...

von Karl H. (kbuchegg)


Lesenswert?

Derda schrieb:
> Hallo,
> Ich möchte den Z-pointer um einen bzw mehrere erhöhen oder veringern,
> dabei aber nichts laden oder abrufen (aus dem SRAM). Wie kann ich das in
> Assembler machen?

Auch der Z-Pointer ist ein mehr oder weniger normales Register 
(Registerpärchen R30, R31), auf das ein add angewendet werden kann.
in deinem Fall dann eben ein addw

von Julian R. (tuefftler)


Lesenswert?

Welchen Prozessor hast du denn?
Falls es ein Mega8 ist, musst du nur "SUBI" oder "ADWI" verwenden.
Eigentlich kannst du den 16bit Pointer in zwei 8bit Register aufteilen:
also:
ADIW  ZL,  23 ;Nur von 0 bis 63!

oder:

SUBI  ZL,  LOW(533)
SUCI  ZH,  HIGH(533)  ;Bin mir nicht ganz sicher

julian

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der AVR-Befehlssatz ist in der DOC0856.PDF erklärt
http://www.atmel.com/atmel/acrobat/doc0856.pdf

adiw ZH:ZL,63 ; Add 63 to the Z-pointer(r31:r30)
sbiw YH:YL,63 ; Subtract 63 from the Y-pointer(r29:r28)

von Derda (Gast)


Lesenswert?

Danke für eure schnellen Antworten, damit hat sich das Problem gelöst 
(-:

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.