回答
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