From what I know, back in the days of 16bit PC's we had the Segment registers contain the address of each type of segment and you could access an offset with something like this SS:[EDI], this would take the value contained in EDI as an offset to the Stack Segment.
Now I know that in 32bit systems, we have the GDT (Global Descriptor Table) and the LDT (Local Descriptor Table), the Segments now contain the index into that table and an offset could be calculated that would point to the right memory address.
Is my understanding correct?
PUSH DWORD PTR SS:[EBP+8] ; basicbof.00401000
So what would a statement such as this mean on a 32bit OS (XP SP2)?