Процессоры x86 имели всевозможные сложные режимы и сегментацию памяти на протяжении поколений от 16-битных до 32-битных и 64-битных.
В наши дни с современными ОС, использующими современные процессоры в современных режимах работы, вам не нужно беспокоиться о сегментах памяти, но вы все равно можете запускать устаревшие приложения в устаревших ОС на современных процессорах, и в этом случае я предполагаю, что процессоры работают в специальном устаревшем режиме. режим (защищенный режим, реальный режим и т.д.).
Таким образом, очевидно, что сегментные регистры существуют для обратной совместимости, но единственная ли это причина?
Существуют ли современные способы использования сегментных регистров? Или в наши дни они просто стали регистрами общего назначения, у которых просто есть названия, отражающие их исторические функции?
Этот вопрос был навеян комментариями к этой старой ветке переполнения стека: Почему инструкция mov должна использоваться таким образом?