Speicheradressen und Hexwerte (Assembler [Theorie]) |
06.01.2010, 13:22 | 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 |
|
|
07.01.2010, 16:28 | 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. |
|