Uigaji ni jaribio la kuiga kifaa kwenye mfumo maalum. Kuna njia tatu za kujenga emulators: ulipaji wa nguvu na tuli na tafsiri. Ili kufikia athari ya kasi wakati wa kufanya kazi, inashauriwa kutumia njia zote tatu. Wacha tuangalie mfano wa kuandika emulator ya kawaida ya processor.
Maagizo
Hatua ya 1
Chagua lugha ya programu. Njia mbadala iliyopendekezwa na pengine ni C na Assembler. Katika C, unaweza kutengeneza nambari ambayo itasambazwa kwa majukwaa mengine. Ni rahisi kuelewa na rahisi kutatua, lakini polepole zaidi kuliko wengine. Mkusanyaji anajulikana na kasi yake ya juu ya kazi, hutumia rejista za processor, ambayo inachangia kukadiria programu kwa ile inayorudisha. Walakini, ni ngumu sana kufuatilia na kurekebisha nambari ndani yake. Ni muhimu kujua lugha iliyochaguliwa vizuri na kuboresha nambari vizuri kwa kasi.
Hatua ya 2
Weka thamani ya awali kwa kaunta ya mzunguko na programu. Kaunta ya baisikeli inahesabu idadi ya mizunguko ya saa baada ya hapo kukatiza kunatokea, na PC ya programu inaonyesha eneo la kumbukumbu ambalo maagizo ya opcode inayofuata yapo.
Hatua ya 3
Baada ya kupokea opcode, toa idadi ya mizunguko ya saa inachukua kutekeleza opcode kutoka kwa kaunta ya kitanzi. Tafadhali kumbuka kuwa amri zingine zinatofautiana kwa idadi ya kupe kulingana na hoja. Kwa amri kama hizo, badilisha kaunta katika nambari ya kukimbia baadaye.
Hatua ya 4
Baada ya kufanikiwa kutekeleza opcode, angalia hitaji la kusababisha usumbufu. Kwa wakati huu, kamilisha majukumu ambayo yanahitaji kusawazishwa haraka kwa wakati.
Hatua ya 5
Angalia kila kupita kwa mzunguko kwa hitaji la kumaliza kazi yake. Kumbuka kwamba programu inapaswa kuwa ya kawaida, kwani kompyuta nyingi zina moduli, na emulator ya kawaida inapaswa, ikiwa inawezekana, kuwa sawa na mfumo wa asili. Hii itatoa utatuzi wa haraka na rahisi wa programu hiyo, na utaweza kutumia moduli sawa kwa wafanisi tofauti, kwa sababu kompyuta nyingi zinategemea mifano ile ile ya wasindikaji au wasindikaji wa video.