Forum: Mikrocontroller und Digitale Elektronik Register Xmega


von R--- S. (rene66)


Lesenswert?

Hallo,

ich habe ein eigenartiges verhalten meines Xmega festgestellt.
Ich habe die Register des Xmega so benannt:

.def temp    =R16
.def temp0   =R17
.def templ   =R18
.def temph   =R19
.def temp2   =R20
.def temp3   =R21
.def temp1   =R22
.def temp4   =R23
.def Spalte  =R24
.def Zaehl   =R25

tausche ich dann bei temp und temp0 die Register aus also R16 gegen R17
geht das ganze Programm nicht mehr. Im Programm habe ich nur die 
Definitonen benutzt nirgendwo aber R16 oder R17.

von (prx) A. K. (prx)


Lesenswert?

Irgendwo 16bit Befehle verwendet? Also MOVW oder so.

von (prx) A. K. (prx)


Lesenswert?

René Schink schrieb:

> .def templ   =R18
> .def temp1   =R22

Wie gut, dass du diese beiden immer auseinander halten kannst.

von R--- S. (rene66)


Lesenswert?

ja mache ich

  movw  temp:temp0, r1:r0

von (prx) A. K. (prx)


Lesenswert?

Eben. Und das ist immer
  movw r17:r16, r1:r0
egal ob temp nun r16 ist oder r17. Dieser Befehl transportiert nicht 
über kreuz und Atmels Assembler ist nicht sehr wählerisch.

von R--- S. (rene66)


Lesenswert?

wieder was gelernt danke.

Gibt es noch mehr solcher "Fallen"

von spess53 (Gast)


Lesenswert?

Hi

Wenn man das 'temp'-Gedödel weglässt, auf jeden Fall wesentlich weniger.

MfG Spess

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.