Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建80x86仿真器?_Java_Emulation_X86 - Fatal编程技术网

Java 如何创建80x86仿真器?

Java 如何创建80x86仿真器?,java,emulation,x86,Java,Emulation,X86,我发现了一个用Java创建的80x86模拟器 我想知道,如何用Java创建一个模拟器80x86? 在哪里可以找到教程和文档? 等等 非常感谢 8086的结构相当复杂。对于您第一次尝试编写模拟器,我建议使用更简单的8位芯片,如8090/8085系列。我曾经在大约一周内用FORTRAN为8080编写了一个模拟器,包括汇编程序、调试器等 仿真器的工作方式非常简单——您有一个表示内存的数组,可以用正确的机器代码或程序填充内存。然后,您将遍历该内存,在运行时在模拟编程计数器处解释机器代码,并根据正在执行的

我发现了一个用Java创建的80x86模拟器

我想知道,如何用Java创建一个模拟器80x86? 在哪里可以找到教程和文档? 等等


非常感谢

8086的结构相当复杂。对于您第一次尝试编写模拟器,我建议使用更简单的8位芯片,如8090/8085系列。我曾经在大约一周内用FORTRAN为8080编写了一个模拟器,包括汇编程序、调试器等


仿真器的工作方式非常简单——您有一个表示内存的数组,可以用正确的机器代码或程序填充内存。然后,您将遍历该内存,在运行时在模拟编程计数器处解释机器代码,并根据正在执行的操作码调整程序计数器。要做到这一点,您需要处理器的规格,以及对汇编代码/机器代码和处理器体系结构的合理理解。

8086的体系结构相当复杂。对于您第一次尝试编写模拟器,我建议使用更简单的8位芯片,如8090/8085系列。我曾经在大约一周内用FORTRAN为8080编写了一个模拟器,包括汇编程序、调试器等


仿真器的工作方式非常简单——您有一个表示内存的数组,可以用正确的机器代码或程序填充内存。然后,您将遍历该内存,在运行时在模拟编程计数器处解释机器代码,并根据正在执行的操作码调整程序计数器。要做到这一点,您需要了解处理器的规格,对汇编代码/机器代码以及处理器体系结构有相当好的理解。

这似乎是您所说的。你可以下载它的源代码;希望它能被很好的记录和评论。您也可以尝试在its中要求提供文档。

您似乎正在谈论。你可以下载它的源代码;希望它能被很好的记录和评论。您还可以尝试在its中获取文档。

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

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

@Neil-很有趣。那是个人项目吗?您是否想过让Fortran源代码可用?作为一名前Fortan IV程序员,我很想看看它。@Simon它是为我当时工作的理工学院(1980年代中期)设计的,运行于12月10日、VAX和IBM 4381,并用于教授汇编编程的课程。不幸的是,我不再有代码了。@Neil OK。我对IBM4300系列记忆犹新——当然是所有的EBCDIC机器。我的大部分IBM汇编编程都是在这些平台上完成的。谢谢!现在我可以理解一个基本概念了。@Neil-很有趣。那是个人项目吗?您是否想过让Fortran源代码可用?作为一名前Fortan IV程序员,我很想看看它。@Simon它是为我当时工作的理工学院(1980年代中期)设计的,运行于12月10日、VAX和IBM 4381,并用于教授汇编编程的课程。不幸的是,我不再有代码了。@Neil OK。我对IBM4300系列记忆犹新——当然是所有的EBCDIC机器。我的大部分IBM汇编编程都是在这些平台上完成的。谢谢!现在我明白了一个基本概念。是的,我有JPC和dioscuri的源代码。是的,我有JPC和dioscuri的源代码。实现8086的子集需要一个代码挑战。实现8086的子集需要一个代码挑战。