Forum: Mikrocontroller und Digitale Elektronik Zeiger setzen asm


von makro (Gast)


Lesenswert?

Hallo
Wahrscheinlich schon etwas zu einfach:
Ich möchte einen Zeiger auf die aktuelle Position eines zweiten Zeigers 
bringen. Wie geht das?

Was ich meine:
ldi XL, $(YL)     oder so
ldi XL, low(Y)

von Sven P. (Gast)


Lesenswert?

Kopiert Y nach X:
1
mov XL, YL
2
mov XH, YH

Zeiger sind auch nur Register :-)

von makro (Gast)


Lesenswert?

Vielen Dank
Ich muss halt noch viel lernen.

von Spess53 (Gast)


Lesenswert?

Hi

Noch einfacher:  Z.B. movw r17:16,r1:r0.

MfG Spess

von Jochen M. (taschenbuch)


Lesenswert?

mit MOVW geht das sogar in einem Abwasch...

Jochen Müller

von Sven P. (Gast)


Lesenswert?

Haben alle AVR "movw"? Ich meinte mich zu entsinnen, dass nur die Megas 
sowas haben...?

von Spess53 (Gast)


Lesenswert?

Hi

'This instruction is not available in all devices. Refer to the device 
specific instruction set summary.'

MfG Spess

von Sven P. (Gast)


Lesenswert?

Wusst ich doch^^

von Spess53 (Gast)


Lesenswert?

Hi

>Ich meinte mich zu entsinnen, dass nur die Megas sowas haben...?

Das hat nichts mit der AVR-Familie zu tun, sondern mit der Alter. Neuere 
ATTinys haben z.B. den Befehl.

MfG Spess

von Sven P. (Gast)


Lesenswert?

Oder so :-)

von makro (Gast)


Lesenswert?

Hi
also ich muss nochmal nachfragen.

Ich habe zwei Zeiger, einen Lese- und einen Schreibzeiger, die auf einem 
Speicherbereich im SRAM zeigen.

 -------------------------------
 |    |    |    |    |    |    |
 -------------------------------
   ^                         ^
   |                         |
 lese                      schreib


Nun möchte ich (nach einem bestimmten Ereignis) den Lesezeiger auf die 
Position des Schreibzeigers bringen

 -------------------------------
 |    |    |    |    |    |    |
 -------------------------------
                            ^
                            |
                        lese, schreib

Geht das wirklich mit den folgenden Befehlen?
mov XL, YL
mov XH, YH

Wird damit nicht lediglich der Inhalt in die Register R26,R27 geladen?

von Jochen M. (taschenbuch)


Lesenswert?

makro,

mov XL, YL
mov XH, YH
ist richtig für Deine Anwendung.

Der Inhalt des Registers ist ja die Speicheradresse.
Um den Inhalt des Speichers zu holen AUF DAS DER POINTER ZEIGT, nimmst 
Du doch LD/LDD.

Jochen Müller

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.