Speicheradressen und Hexwerte (Assembler [Theorie])

Neue Frage »

Auf diesen Beitrag antworten »
Merlett Speicheradressen und Hexwerte (Assembler [Theorie])

Hallo Leute! Ich lerne gerade für eine Klausur und bin auf folgende Aufgabe gestoßen:

Betrachten Sie folgende Data-Sektion aus einem Assembler-Programm auf der x86-Architektur. Nehmen Sie an, dass die nächste freie Speicheradresse die 0x1000 ist. Schreiben sie auf, welche Speicheradressen mit welchen Hexzahlen belegt werden.

.data

ZAHL1: .byte 0x11
ZAHL2: .byte 0x22
ZAHL3: .long 0x66554433
ZAHL4: .ascii "abc"

Also ich weiß das eine Hexzahl 4 Bit (ein Halfbyte) benötigt und der benötigte Platz für die aufgezeichneten Hexwerte insgesamt 9 Byte beträgt.
Die Buchstaben sie in Hexwerte übersetzt:
a=61 b=62 c=63

Nur habe ich jetzt keine Ahnung wie mein guter Dozent das mit den Speicheradressen gemeint haben könnte! Bzw wie der Assembler diese Werte ablegt.

Meine Idee wäre gewesen er speichert sie so wie er sie bekommt also Byteweise(?) :
Adresse: Wert:
0x1000 11
0x1001 22
0x1002 66
0x1003 55
0x1004 44
0x1005 33
0x1006 61
0x1007 62
0x1008 63

Natürlich nur wenn eine Speicheradresse auch ein Byte groß ist... und das auch noch die Reihenfolge ist in der Assembler das liest...

Kann mir irgendjemand helfen bitte?

Tausend dank im Vorraus!

Merlett
 
Auf diesen Beitrag antworten »
David_pb

Die Überlegung scheint schon mal nicht verkehrt zu sein. Allerdings verwenden x86 Systeme im Normalfall Little Endian für die Bytefolge, daher muss du beim Long-Wert aufpassen.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »