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
Żyje :-)
Pomysł dla wydawców gazet i magazynów
niedziela, listopada 25, 2007
Kody źródłowe JPC - emulatora x86 w Java'ie
Subskrybuj:
Komentarze do posta (Atom)
Dzięki za linka. Rzeczywiście JPC bardzo interesujące.
OdpowiedzUsuńTrochę trąci perwersją, ale inspirujące i zawstydzające...