I've been working with reverse engineering tape image and disk image formats and the files and filesystems they contain.
It struck me that sometimes there are data fields that are not in the same endian as the platforms these represent, sometimes there are even fields of both endians. (I bet this is even more common in networking.)
It would be really beneficial to have variants of the assembly directives dw
/defw
, dd
/defd
, etc that include endian information so you can see at a glace what the intended numeric value is and also when the endian is not the expected one.
This makes me wonder if there are already assemblers that let the programmer define words, longs, etc in specific endian formats. And if there are not assemblers that do it, perhaps there are some disassemblers that do.
I'm thinking of adding a feature request for this in Ghidra but first I want to know if it's already in some tools, and what syntax they use if so.