Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
Но увы, тогда придётся отказаться от прерываний и работать всегда только в режиме DI, иначе первое же прерывание испортит байт-код.
необязательно, сам код может быть завязан на прерывания через "yield"

Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
Так что указателем на программный код быть, видимо, регистру IX:
чем тебе PC не нравится в этой роли?

Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
В HL ZX Forth оба стека - и возвратов, и операндов - аппаратные. Там есть слово для переключения стеков, если правильно помню, STKSWAP. При этом переключение стеков относительно медленное - адрес неактивного стека хранится в переменной.
это значит - оба НЕаппаратные, и на мой первый взгляд весьма неэффективно при компиляции

Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
А можно адрес стека операций хранить в IX, а стека возврата - в IY.
если целью ставить (при неплохой компактности) максимальное быстродействие, лучше вовсе избегать операций со стеком возвратов
так, если call-процедура не вызывает другие процедуры сама, можно сделать что-то наподобие pop ix на входе jp(ix) в конце
или как-нибудь еще по контексту