Цитата Сообщение от jim Посмотреть сообщение
речь не о многозадачности.
а о чём же? вот ЗАЧЕМ еще такое может понадобиться, чего нельзя проще сделать другими способами?

Цитата Сообщение от jim Посмотреть сообщение
всего лишь структурирование кода меньше очевидных push/pop (код чище)
с чего меньше? сохранение контекста почти всегда мб нужно только в обработчике прерывания, который обычно всего один
с чего чище? лишний call (+ это кстати лишнее пространство на стеке)

Цитата Сообщение от jim Посмотреть сообщение
и абстракция расширения основных наборов регистров,
полная бессмыслица, начиная с "расширения набора регистров" программным способом
смысл регистра как раз в том, что это "сверхоперативная", то есть самая БЫСТРАЯ область памяти
а тут медленное сохранение/восстановление всех подряд да еще ix пожертвовать предлагается
то есть выйдет сокращение набора фактически

Цитата Сообщение от jim Посмотреть сообщение
вызов функций использующих свой собственный контекст. общий стек для всех наборов виртуальных регистров позволяет пересылать данные между сетами.
к примеру изменили регистры в сете, переключились на новый, про первый можно забыть и не держать регистры на стеке до вызова процедуры использующей эти регистры, вызвали сет в любом месте программы по надобности.
без многозадачности (реентрабельности) всегда проще сразу с переменными работать, а не со стеком
да еще значительно эффективней - только с теми, которые действительно применяются