Hogyan írjunk Egy Emulátort

Tartalomjegyzék:

Hogyan írjunk Egy Emulátort
Hogyan írjunk Egy Emulátort

Videó: Hogyan írjunk Egy Emulátort

Videó: Hogyan írjunk Egy Emulátort
Videó: Az író fejében #1 – Hogyan születik a regény? Az ötlettől a megjelenésen át, az első kritikáig. 2024, Lehet
Anonim

Az emuláció egy eszköz utánzása egy adott rendszeren. Az emulátorok felépítésének három módja van: dinamikus és statikus újrafordítás és értelmezés. A maximális sebességi hatás elérése érdekében a munka során ajánlott mindhárom módszer alkalmazása. Vegyünk egy példát egy tipikus processzoremulátor írására.

Hogyan írjunk egy emulátort
Hogyan írjunk egy emulátort

Utasítás

1. lépés

Válasszon programozási nyelvet. Az ajánlott és valószínűleg az egyetlen alternatíva a C és az Assembler. A C-ben kódot készíthet, amelyet más platformokra továbbítanak. Viszonylag egyszerűen érthető és könnyen hibakereshető, de sokkal lassabb, mint mások. Az összeszerelőt nagy munkasebessége különbözteti meg, processzorregisztereket használ, amelyek hozzájárulnak a program közelítéséhez az újrafordításhoz. Ugyanakkor nagyon nehéz kódokat követni és javítani benne. Fontos, hogy jól ismerjük a választott nyelvet, és a kódot jól optimalizáljuk a sebesség érdekében.

2. lépés

Rendeljen kezdeti értéket a ciklikus és a program számlálóhoz. A ciklikus számláló megszámolja az óraciklusok számát, amelyek után a megszakítás bekövetkezik, és a szoftveres PC megmutatja azt a memóriaterületet, amelyen a következő opcode utasítás található.

3. lépés

Miután megkapta az opkódot, vonja ki a ciklusszámlálóból az opkód végrehajtásához szükséges óraciklusok számát. Kérjük, vegye figyelembe, hogy egyes parancsok a kullancsok számában különböznek az argumentumoktól függően. Ilyen parancsok esetén később változtassa meg a számlálót a futtató kódban.

4. lépés

Az opcode sikeres végrehajtása után ellenőrizze a megszakítások kiváltásának szükségességét. Ezen a ponton hajtsa végre azokat a feladatokat, amelyeket sürgősen szinkronizálni kell időben.

5. lépés

Ellenőrizze a ciklus minden menetét, hogy szükséges-e befejezni a munkáját. Ne feledje, hogy a programnak modulárisnak kell lennie, mivel a legtöbb számítógép modulokból áll, és egy tipikus emulátornak, ha lehetséges, meg kell egyeznie az eredeti rendszerrel. Ez gyorsabb és könnyebb hibakeresést tesz lehetővé a programban, és ugyanazokat a modulokat használhatja különböző emulátorokhoz, mivel sok számítógép ugyanazon a processzorokon vagy videoprocesszorokon alapszik.

Ajánlott: