On Sat, 12 Jan 2002, Jan Kok wrote: > Can someone explain why the disassembly of crt0.o shown below doesn't > match the cpp code in crt0.s? In particular, the subw isn't shown in > the disassembly, the data32 turns into data16, and so on.
you're disassembling 16-bit code with 32 bits. For a lot of things it will sort of look right, which makes it even more confusing when it fails. The data32 shows up as data16 because the 0x66 prefix is a 'toggle' -- whatever mode you are in, it toggles to the other one. So, since you disassembled with 32 bit mode, it shows as a data 16. This mixed code is hard to disassemble ... Eric is right use ndisasm. ron
