Насколько я знаю, еще во времена 16-битных ПК у нас были регистры сегментов, содержащие адрес каждого типа сегмента, и вы могли получить доступ к смещению с чем-то вроде этого SS: [EDI], это будет принимать значение, содержащееся в EDI, как смещение к сегменту стека.
Теперь я знаю, что в 32-битных системах у нас есть GDT (глобальная таблица дескрипторов) и LDT (локальная таблица дескрипторов), сегменты теперь содержат индекс в этой таблице, и можно вычислить смещение, которое указывало бы на правильный адрес памяти.
Я правильно понимаю?
PUSH DWORD PTR SS: [EBP + 8]; basicbof.00401000
Итак, что будет означать подобное утверждение в 32-битной ОС (XP SP2)?