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


Reply via email to