2010-06-01 60 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仿真器。您可以使用其來源作爲參考。