Frage: Wie kann man das Wort 0x12345678 in little endian darstellen?
Hallo, ich bin gerade bei der Klausurvorbereitung und habe Probleme folgende Aufgabe zu lösen:
Aufgabe:
list ist eine Liste mit einzelnen aufeinanderfolgenden Bytes.
list:
.word 0x12345678, 0xA5A5A5A5, 0xCEFABEBA, 0x01020304
Zeichnen Sie die Anordnung der Daten im Speicher bei (wortweiser) Darstellung
(32bit) mit den dazugehörenden Speicheradressen unter Annahme des ARM Little
Endian-Schemas, wobei das Label „list:“ an der Adresse 0x40000010 steht.
Ist diese Darstellung für das erste Wort richtig? In dem Fall wäre ja 1 = MSB und 8 = LSB und der Speicherwachstum würde in diese Richtung gehen ->
0x40000010 0x4000018 0x40000020 0x40000028 = Adresse
7 8 5 6 3 4 1 2 = Wort
Das Skript gibt nicht an wie es mit der Adresseninkrementierung aussieht und im Internet fand ich bisher nur die Antwort, dass es immer um eins erhöht wird also quasi:
0x40000010 0x4000011 0x40000012 0x40000013 = Adresse
7 8 5 6 3 4 1 2 = Wort
Aber das macht für mich irgendwie kein Sinn. Könnte mir das jemand bitte erklären?
Von der Reihenfolge dachte ich bisher immer man kann sich das so merken:
Bei Wort: 0x12345678
Big Endian: | 12 | 34 | 56 | 78 | //bleibt gleich
Little Endian: | 78 | 56 | 34 | 12 | // über Kreuz vertauscht
Vielen dank im Voraus!