Forum: Compiler & IDEs Bytereihenfolge von Variablen


von Sf2 (Gast)


Lesenswert?

Hi. ich hab mal ne frage zu dem vom compiler erzeugten code:
Ich hab eine Delay schleife geschreiben und dann mir mal in avrstudio
angeschaut:

da steht am anfang:
LDI R24, 0x63
LDI R25, 0x00

und später werden dann die 2 register als word angesehen:
SBIW    R24,0x01

jetzt meine frage:
Wie muss ich die beiden register Lesen ?
wenn ich es richtig verstenden habe, muss ich nicht
0x63 0x00 (99 00) sondern
0x00 0x63 (00 99) lesen

werden eigentlich alle variablen typen so gelesen ? Werden auch Char
Constanten verkehrt herum im speicher abgebildet?

MfG Sf2

von Stefan May (Gast)


Lesenswert?

Ja, das ist beim AVR so. Das nennt sich Little Endian, d.h. das
niederwertige Byte steht am Anfang. Es gibt auch Big Endian Systeme,
bei denen die Reihenfolge im Speicher "richtig" ist. Beispiele sind
Motorola CPUs oder auch Sparc-Prozessoren.

Dazu auch: http://de.wikipedia.org/wiki/Little-Endian

mfg, Stefan.

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.