alamanos opened this issue on Jan 29, 2007 ยท 127 posts
kawecki posted Thu, 01 February 2007 at 12:42 PM
Quote - So about rewriting the segmentation code: it has already been done. Many years ago.
Segmentation is used, SS, DS, ES, FS and GS segments are used, in 32 bit the segments are not used in the same way in the 16 bit mode.
In 16 bit mode the segment register was added shifted to the 16 bit address creating a 32 bit address.
In 32 bit the segments are not used for the generation of the address, they are used as a pointer for the table descriptors that stores the base address and size of the memory block pointed by the segment register.
In 64 bit there's not segment descriptor table, the segments CS, DS, SS, and ES are ignored and assumed to have the value zero.
Probably as a favour to Microsoft, AMD and Intel made FS and GS segments still usable, without them would be impossible to Windows launch any program!!!!!
Stupidity also evolves!