2010-06-01 106 views
0

我发现了一个使用Java创建的80x86仿真器,如何创建80x86仿真器?

我想知道,我该如何创建Java的仿真器80x86? 我可以找到教程和文档? 等...

非常感谢!

+0

对[codegolf](http://codegolf.stackexchange.com/questions/4732/emulate-an-intel-8086-cpu)实现8086的子集存在代码挑战。 – 2012-12-22 11:14:29

回答

5

8086有一个非常复杂的架构。为了您第一次写模拟器,我建议使用一个更简单的8位芯片,例如8090/8085系列。我曾经在一周内为FORTRAN的8080编写了一个模拟器,包括汇编器,调试器等。

模拟器的工作方式非常简单 - 您有一个代表内存的数组,它填充了正确的机器码或你的程序。随后,您会在模拟编程计数器中解释机器代码,然后根据正在执行的操作码调整程序计数器。要做到这一点,您需要处理器的规格,以及对组件/机器代码和处理器架构的相当好的理解。

+0

@Neil - 有趣的。这是一个个人项目吗?你有没有想过让Fortran源代码可用?作为一名前四强的程序员,我很好奇看到它。 – 2010-06-01 12:10:25

+0

@Simon这是当时我工作的理工学院(20世纪80年代中期),运行在DEC-10,VAX和IBM 4381上,并用于教授汇编程序的课程。不幸的是,我不再有代码。 – 2010-06-01 12:18:17

+0

@尼尔OK。我记得当时IBM 4300系列的所有EBCDIC机器。我的大部分IBM Assembly是在这些编程上做的。 – 2010-06-01 13:40:33

6

看来你在谈论JPC。你可以下载它的源代码;希望它会有很好的记录和评论。您也可以尝试在其source forge support forums中索要文件。

+0

是的,我的源码是JPC和dioscuri。 – user355347 2010-06-01 18:15:00

0

有一个名为“DosBox”的开源80x86仿真器。您可以使用其来源作为参考。