Eсли вдуматься, то сама по себе «lxi sp» лишняя, так как классический код (читайте: для военной техники с повышенным требованием к стабильности и без разных сомнительных трюков) совершать предустановку указателя стека должен всегда один раз.
Ради интереса, я и ПДП программировал через «lxi sp,0E006h + push hl»…
Если желаете обфусцировать всё и путать хакера - это всегда пожалуйста!

Потому я и думаю, что теоретически код «31» аппаратно можно изъять и заменить на «rst 7» куда-то. То есть, искусственно симулировать прерывание без прерывания.

Как это должно работать…
Логика видит на шине «M1»+«MREQ»+«READ» и код «31». Тогда схема процессору «FF» и устанавливает специальный триггер, который при следующем «M1» включит к шине ПЗУ с «макрокодом», примерно таким:
Код:
3138 E3      |XTHL
3139 D5      |PUSH DE
313A 5E      |MOV E,M
313B 23      |INX H
313C 56      |MOV D,M
313D 23      |INX H
313E 33      |INX SP
313F 33      |INX SP
3140 E3      |XTHL
3141 19      |DAD DE
3142 3B      |DCX SP
3143 3B      |DCX SP
3144 D1      |POP DE
3145 C9      |RET
Тем самым, искусственно получим команду «DAD const_16».
Естественно, ПЗУ с таким кодом имеет объём 64 Кб и старший байт адреса обозначает код инструкции. А младший байт - подключается к шине адреса процессора.
То есть, при считывании любого кода по «M1» ПЗУ это всегда подключено и схема следит, какой код ПЗУ возвращает.
Если код отличен от 00, то подключается это ПЗУ до команды C9 по всему пространству.

В прикладном режиме можно перехватить и команды «in/out» таким же образом, чтобы БСВВ получала управление и виртуализировала порты.
Например:
Код:
API-вызов / виртуальный порт
CD 03 F8 --> DB 83
CD 12 F8 --> DB 82
CD 1B F8 --> DB 8B
CD 15 F8 --> D3 85
И даже если физически портовое пространство отсутствует, как в РК, то подобными трюками приложение его может заполучить.