Цитата Сообщение от litwr Посмотреть сообщение
Почти согласен с Вами, но сегментные регистры в 8088 играют роль адресных - тут просто разная терминология. Понятно что их разрабатывали в разных парадигмах, но получилось что-то практически одно и тоже, мой пример это подтверждает. Можно ещё добавить, что если бы у х86 было больше сегментных регистров, их было бы также можно использовать как быстрое временное хранилище. Хотя ES иногда в этой роли и используют.
Если не привязываться к 8086 и 80286, то расширенные сегментные регистры (ECS/EDS и так далее) уже ближе к An у М68К, но есть нюанс. В любом случае, конкретно здесь идёт речь в рамках 8086/8088 (в зависимости от ширины внешней шины), а у них сегментные регистры только 16 бит, что на 4 бита меньше реального адресного пространства, это раз. Сегментные регистры не могут указывать на элемент памяти в цикле, для этого нужен дополнительный регистр (например ESI/DS:SI), в то же время как An у M68K самодостаточный указатель, который имеет предекремент, постинкремент и прочие плюшки, необходимые для доступа данных к массивам в циклах.

PS Единственное оправдание сегментных регистров это переносимость программ в адресном пространстве. Точнее, они именно для этого и делались.