Moin, ich bin auf der Suche nach einem Befehl, um den Wert von einer Speicheradresse an eine andere Speicheradresse zu kopieren. Gibt es dafür überhaupt einen Befehl oder muss man das über "Zwischen"register machen? ldi ZL, low(E_Temp_I) ldi ZH, high(E_Temp_I) ldi XL, low(Temp) ldi XH, high(Temp) st Z+, X+ st Z+, X+ st Z+, X+ So klappte es leider nicht, aber vllt wird daran deutlicher was ich vor habe. Also ich will die Werte von Temp an der Stelle E_Temp_I speichern. Freue mich über Vorschläge. Viele Grüße Malte
Gast
#1990409
Nach den Befehlen die Du da schreibst, gehe ich davon aus, das Du von einem AVR-Prozessor redest. Das ist für solche Fragen von grosser Bedeutung. Leider hat der AVR keinen Befehl im direkt Speicher nach Speicher-Transfers über Zeiger durchzuführen. (ATXMega geht das, denke ich mit DMA aber nicht mit Befehlen). Solltest Du mal wieder vor einer ähnlichen Frage stehen, dann schaue Dir die Befehlsbeschreibungen im Datenblatt an. Da steht genau welche Befehle es gibt.
Gast
#1990432
probiers mal so; ldi ZL, low(E_Temp_I) ldi ZH, high(E_Temp_I) ldi XL, low(Temp) ldi XH, high(Temp) ld r20,x+ ;lade von Temp st z+,r20 ;speichere in Temp ld r20,x+ st z+,r20 ld r20,x+ st z+,r20
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.