我意识到可能没有特殊的转换器程序或类似于这样的任务的任何东西,但是我必须find一些方法来让一个16位程序在64位Windows上运行。 由于必须投入大量的资源,仿真器将不是一个好的解决scheme。
我对这个项目的想法是反编译16位程序中的所有代码,将其复制并重新编译成64位代码。 这完全可能使用Eclipse或其他编程环境?
基本上,我想在没有模拟器的64位Windows上运行一个16位程序。 我意识到这是一个很高的命令,但它是可以想象的吗?
这个问题超越了用64位指令翻译16位指令的问题。 还有程序使用的ABI(应用程序二进制接口)与系统的其他部分进行通信。 一个16位的程序可能会使用大量的DOS调用,而且也不会尝试直接访问硬件。 这是无法自动翻译的。 即使存在这样的解决方案,我也非常怀疑结果会比在虚拟机中运行效率更高(实际上效率非常高)。 而且,为16位环境编写的程序往往不是很有伸缩性,而且完全无法处理超出原始目标平台容量的数据量。
所以我会说真的只有两个现实的解决方案:在虚拟机中运行它。 或者,如果这不能削减它,从头开始写一个新的应用程序,做同样的事情。