Как да напиша емулатор

Съдържание:

Как да напиша емулатор
Как да напиша емулатор

Видео: Как да напиша емулатор

Видео: Как да напиша емулатор
Видео: Эмулятор SQU OF68 - не работает! 2024, Ноември
Anonim

Емулацията е опит за имитиране на устройство в определена система. Има три начина за изграждане на емулатори: динамична и статична рекомпилация и интерпретация. За постигане на ефект на максимална скорост при работа се препоръчва да се използват и трите метода. Нека разгледаме пример за писане на типичен емулатор на процесор.

Как да напиша емулатор
Как да напиша емулатор

Инструкции

Етап 1

Изберете език за програмиране. Препоръчителната и може би единствената алтернатива е C и Assembler. В C можете да направите код, който ще бъде пренесен на други платформи. Това е относително лесно за разбиране и лесно за отстраняване на грешки, но много по-бавно от други. Асемблерът се отличава с високата си скорост на работа, той използва процесорни регистри, което допринася за сближаването на програмата с прекомпилирането. Въпреки това е много трудно да се проследят и коригират кодове в него. Важно е да знаете добре избрания език и да оптимизирате кода добре за скорост.

Стъпка 2

Задайте начална стойност на цикличния и програмния брояч. Цикличният брояч отчита броя на цикъла на часовника, след който настъпва прекъсването, и софтуерният компютър показва областта на паметта, в която се намира следващата инструкция за операционния код.

Стъпка 3

След като получите опкода, извадете броя цикли на часовника, необходим за изпълнение на опкода от брояча на цикъла. Моля, обърнете внимание, че някои команди се различават по брой отметки в зависимост от аргументите. За такива команди сменете брояча в кода за изпълнение по-късно.

Стъпка 4

След успешно изпълнение на opcode, проверете необходимостта от задействане на прекъсвания. На този етап изпълнете задачите, които спешно трябва да бъдат синхронизирани навреме.

Стъпка 5

Проверете всяко преминаване на цикъла за необходимостта да завършите работата си. Не забравяйте, че програмата трябва да бъде модулна, тъй като повечето компютри са съставени от модули, а типичният емулатор трябва, ако е възможно, да бъде същият като оригиналната система. Това ще осигури по-бързо и лесно отстраняване на грешки на програмата и ще можете да използвате едни и същи модули за различни емулатори, тъй като много компютри са базирани на едни и същи модели процесори или видео процесори.

Препоръчано: