Motorolla Byte Order



  • Hallo,

    also ich habe einen Haufen Punkt die sind irgendwie in Motorola Byte Order gezippt??? Ein Auszug aus dem entsprechenden ReadMe-File "The DEM data are
    provided in Motorola byte order, which stores the most significant byte
    first ("big endian"). Systems such as Sun SPARC and Silicon Graphics
    workstations use the Motorola byte order." Windows haben irgendwie "the least signifikant byte stored first" oder aber auch "little endian".
    Also ich verstehe nur das ich ein Problem habe an die Daten zu kommen, weiß irgendjemand wie ich an die Daten in der Datei komme???
    Gruß & Danke 😕



  • Versuch mal ein Byte zu lesen und es dann um 4 Bits zu rotieren.

    Alter Source kannst Dir bestimmt als template umbauen um das ziel zu erreichen.

    Micha

    [ Dieser Beitrag wurde am 22.11.2002 um 22:54 Uhr von Knuddlbaer editiert. ]



  • Wenn das alles funktioniert, dann tausend Dank. Oh Mann und ich habe gedacht ich bekomme nie eine Antwort auf diese Frage...
    Danke



  • Versuchs mal....

    Hab mal m68k Assembler Programmiert und bin bei Intel immer gestolpert. Aber sicher bin ich mirnicht mehr. War ausm Bauch raus sozusagen *grins



  • Hier gehts eigentlich gar nicht ums verschieben, und mit Windows hat das auch nix zu tun, es gibt auch Windows im 'Big Endian' Format!

    Wenn nur Bytes gelesen werden müssen, ist es egal, denn Bytes werden nicht getauscht.
    Bei Words geht's schon los

    leWord = swap( HIBYTE(beWord), LOBYTE(beWord));
    leDWord = swap( HIWORD( leWord), LOWORD( leWord));

    Mit le = little Endian und be = big Endian

    Mit floats und Double ist es wieder das gleiche Format, da hier kein least und most significant Byte existiert


Anmelden zum Antworten