Eric Minso
2003-08-19 09:39:14 UTC
Hello,
I have written many small programs in assembly for Ms-Dos (16-bits of
course) and now I just started with Windows.
I have written an "Hello World" in C and I decompiled it to see the
generated assembly code.
But I don't understand how are used the segments (Cs, Ds, Es...)
They seem to have "strange" values (0x23).
I thought we didn't need these segments anymore because a 32-bit
pointer can reference the whole 4 GB virtual address space, but I
found an 'mov' instruction that explicitly use Cs.
I would like to have any useful information about this subject (Which
values are stored in ? When should we use the segments and when
shouldn't we ?)
Thank you very much !
Eric.
I have written many small programs in assembly for Ms-Dos (16-bits of
course) and now I just started with Windows.
I have written an "Hello World" in C and I decompiled it to see the
generated assembly code.
But I don't understand how are used the segments (Cs, Ds, Es...)
They seem to have "strange" values (0x23).
I thought we didn't need these segments anymore because a 32-bit
pointer can reference the whole 4 GB virtual address space, but I
found an 'mov' instruction that explicitly use Cs.
I would like to have any useful information about this subject (Which
values are stored in ? When should we use the segments and when
shouldn't we ?)
Thank you very much !
Eric.