回答
8086有一个非常复杂的架构。为了您第一次写模拟器,我建议使用一个更简单的8位芯片,例如8090/8085系列。我曾经在一周内为FORTRAN的8080编写了一个模拟器,包括汇编器,调试器等。
模拟器的工作方式非常简单 - 您有一个代表内存的数组,它填充了正确的机器码或你的程序。随后,您会在模拟编程计数器中解释机器代码,然后根据正在执行的操作码调整程序计数器。要做到这一点,您需要处理器的规格,以及对组件/机器代码和处理器架构的相当好的理解。
@Neil - 有趣的。这是一个个人项目吗?你有没有想过让Fortran源代码可用?作为一名前四强的程序员,我很好奇看到它。 – 2010-06-01 12:10:25
@Simon这是当时我工作的理工学院(20世纪80年代中期),运行在DEC-10,VAX和IBM 4381上,并用于教授汇编程序的课程。不幸的是,我不再有代码。 – 2010-06-01 12:18:17
@尼尔OK。我记得当时IBM 4300系列的所有EBCDIC机器。我的大部分IBM Assembly是在这些编程上做的。 – 2010-06-01 13:40:33
看来你在谈论JPC。你可以下载它的源代码;希望它会有很好的记录和评论。您也可以尝试在其source forge support forums中索要文件。
是的,我的源码是JPC和dioscuri。 – user355347 2010-06-01 18:15:00
有一个名为“DosBox”的开源80x86仿真器。您可以使用其来源作为参考。
- 1. 创建MyTouch 3G仿真器
- 2. 如何直接在仿真器中创建数据库
- 3. 在仿真器上仿真运动API
- 4. Hololens仿真器
- 5. INSTALL_FAILED_MISSING_SHARED_LIBRARY仿真器
- 6. Javascript仿真器
- 7. Android仿真器 - 如何查看从计算机传输到仿真器的仿真器中的文件
- 8. Matlab/Simulink仿真:创建事实表
- 9. 创建仿真数据中的R
- 10. Ionic 2仿真器
- 11. Android GPU仿真器
- 12. Commodore C64仿真器?
- 13. Motorola XOOM仿真器?
- 14. 仿真传感器
- 15. 路由器仿真
- 16. .Net AS400终端仿真器建议?
- 17. 如何浏览仿真器的SDCard?
- 18. 我如何使仿真器在安卓
- 19. 我可以使用HAXM仿真器以外的其他仿真器来创建Android应用吗?
- 20. C++:如何创建仿
- 21. 为当前Android手机创建仿真器
- 22. 在DocumentDB仿真器中创建存储过程
- 23. 在AVD中创建Galaxy mini s4的仿真器配置文件
- 24. 用不同的IP创建3个仿真器
- 25. 安卓:文件中创建不在仿真器图标
- 26. org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。而在仿真器
- 27. 如何创建sockjs(SockJS - WebSocket仿真)或Shoe独立服务器(node.js)?
- 28. 如何使用自定义屏幕尺寸创建新仿真器?
- 29. PCSC阅读器仿真器
- 30. 模仿Matlab/Simulink仿真继电器behavoir
对[codegolf](http://codegolf.stackexchange.com/questions/4732/emulate-an-intel-8086-cpu)实现8086的子集存在代码挑战。 – 2012-12-22 11:14:29