Пришла идея эмулятора. Позреваю что это банальный велосипед, тогда хочется ссылок или хотя бы названия этой технологии.
Итак. Библиотека эмулятора с поддержкой конвертаци ассемблерного/исполнимого кода в C/C++-подобные исходники. В классе ядра содержатся мемберы-регистры.
Инструкции эмулируются методами. Также имеются контейнеры памяти данных, стека данных, портов и т.д.
Теперь отличие от полной эмуляции: переход осуществляется обычными хостовыми goto. Условный переход — if(the_flag) goto label. Вызов — хостовым вызовом.
Косвенный вызов в принципе можно эмулировать (поможет отображение виртуальных адресов подпрограм в хостовые ).
А вот эмуляция косвенных переходов вызовет сложности (косвенный goto — это нестандартное расширение).
Также вызовет сложности переход на подпрограмму и переход между подпрограммами...
Прошу высказываться.
Модератор-националист Kerk преследует оппонентов по политическим мотивам.