Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: joachim_neu am 23. January 2005, 02:42
-
hallo,
weiß jemand einen "trick", mit dem man dem rechner dieses ewige verändern von DBs, DWs und DDs mit "hilfe" von big- oder sonstwas endian abgewöhnen kann? ich mache gerade eine BitFont, und da nervt das schon sehr, wenn der mir meine buchstaben und Co. einfach verdreht und soweiter...
mfg
J!N
-
solange du nur db und nur byte-operationen verwendest sollte die endianness keine probleme machen. den rechner kannst du da nicht beeinflussen. sonst hilft da nur sich an die endianness anzupassen.
-
naja. ich schreibe halt mit db eine menge binäres zeug allá:
db 00000000b,00000000b,00000000b ;<Leerzeichen>
db 01000100b,01000100b,00000100b ;!
db 01010101b,00000000b,00000000b ;"
db 01010101b,11111111b,10101010b ;#
und daraus macht mein freund der computer das:
0x44000000,0x00550444,0xaaff5500
und das passt mir irgendwie net so ganz, weil dadurch natürlich die font durcheinander kommt...
-
dir bleibt nur das umzudrehen
-
nein, der computer macht alles richtig. die bytes sind immer noch in der reihenfolge, wie du sie haben wolltest.
es ist nur deine ausgabe, auf den ersten blick wegen der endianness falsch ausschaut. weil x86 little endian ist, ist z.b. das vierte byte eines dwords das most significant byte. (z.b. bei 0x44000000 ist das 0x44 oder 0x010001000, was bei dir auch korrekterweise das vierte byte ist.)
gib dein font mal nicht als dwords sondern als bytes aus. dann sehen die auch "richtiger" aus.