niedziela, listopada 25, 2007

Kody źródłowe JPC - emulatora x86 w Java'ie

Pisałem tu jakiś czas temu o JPC emulatorze PC napisanym w Java'ie.
Ostatnio twórcy JPC opublikowali kody źródłowe swojego projektu.

Analiza tych kodów źródłowych jest bardzo ciekawa :-) Można sobie obejrzeć jak w języku wysokiego poziomu opisane są poszczególne komponenty komputera.
Procesor to w ogólności duży SWITCH z mnóstwem instrukcji CASE dla każdego opcodu, same zaś instrukcje procesora to zwykle 1 do 5 linii kodu w Java'ie. Taka konstrukcja pozwala na bardzo łatwą analizę kodu i zrozumienie jak działają poszczególne opcody [dzięki temu po latach zaczynam rozumieć co robi instrukcja LEA ;-), jakoś nigdy nie umiałem tego zrozumieć pisząc w assemblerze :-)].

Wszystkich zachęcam gorąco do obejrzenia źródeł JPC, warto :-)

Można też spróbować sportować JPC na PDA lub inne ustrojstwo ;-)

Z podobnych projektów warto też zapoznać się z IKVM, czyli wirtualną maszyną Java'y napisaną w C# [choć kody nie są tak łatwe jak dla JPC].


Podobne postybeta
Mysaifu JVM - czytamy sobie kod :-) [i klniemy na C++]
Java x86 Emulator
Informacja źródłowa
Pomysł dla wydawców gazet i magazynów
Żyje :-)