Здравствуйте, jamesq, Вы писали:
N>>А вообще, разные разрядности — тоже разные системы команд, и это давно делается (любой x86 их сейчас поддерживает аж три).
J>Ну нет, это не так конечно. Эти разрядности — просто различные варианты одной системы команд. Оно же в корне ничего не меняется:
У них разные, несовместимые парсеры.
В отличие, например, от IBM zSeries, у которой добавлены 64-битные команды, не ломая старые, а разрядность адреса (24/31/64) свободно управляется непривилегированной командой.
При совершенно разных системах команд сделать совместимость по общей части пула регистров — банально, это делали и PDP-11+VAX, и ARM/32+ARM/64, и x86-32+IA64, и x86 со всеми тремя режимами. Но это не создаёт всем одинаковую систему команд.
J> как были вот эти переходы в зависимости от регистра флагов, так и остаются. Те же команды FPU,
Которое фактически deprecated и Intel регулярно грозится исключить его совсем, или перевести на микрокод, с замедлением на порядок.
J> более крупные регистры включают в себя более мелкие. J>Там же не появляются вот эти вот shadow регистры, как в Z80
Эээ... не знаю, почему для вас shadow регистры это признак другой системы команд, а не системного расширения текущей, но на всякий случай напомню, что в x86 пул FP регистров = пулу MM, но не пулу XMM/YMM/ZMM, последний — совсем другие регистры.