| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Эмулятор intel8086 |
| Автор: rudolfninja 17.1.2014, 15:29 |
| Доброго времени суток. Стоит задача написать эмулятор микропроцессора c++. Реализовать регистры и память получилось. Возникает вопрос как быть с командами? Надо как-то реализовать все ассемблеровские команды и связать их как-то с опкодом. С реализацией проблема в том, что одна команда может выполняться по-разному, в зависимости от способа адрессации операндов. Если у кого есть мысли, как заставить работать команды процессора - поделитесь пожалуйста. Спасибо. |
| Автор: xvr 17.1.2014, 18:09 |
Возьмите готовый, и не мучайтесь. http://wiki.qemu.org/Main_Page, http://bochs.sourceforge.net/ |
| Автор: rudolfninja 17.1.2014, 18:11 |
| Готовый не катит, т.к. его потом надо будет доработать. Ну то есть его надо будет использовать как часть большого проекта. |
| Автор: xvr 17.1.2014, 18:29 |
Ну так берите и дорабатывайте - они оба в сорцах и с документацией |
| Автор: tzirechnoy 17.1.2014, 19:50 | ||||
cable3, опять жэ.
Тем более -- там исходников меньшэ 4 килобайт |
| Автор: rudolfninja 18.1.2014, 18:18 |
А можно ссылочку на cable3? |
| Автор: tzirechnoy 19.1.2014, 13:01 | ||
google://cable3 emulator |
| Автор: rudolfninja 20.1.2014, 10:11 |
| Что то я не нахожу линк, где можно скачать его...нашел Блин, как-то в них во всех много исходного кода, а в cable3 вообще ничего непонятно...если, конечно, я нужные исходники смотрю |
| Автор: tzirechnoy 20.1.2014, 12:37 | ||
Что ты хочешь -- это ioccc. Впрочем, при Вашэм незнании Си -- будет, я думаю, полезно хотя бы развернуть дефайны в линейный структуированный код. И нестандартную адресацыю массивов -- перевести в стандартную. Так, для тренировки -- глядишь, более-менее поймёте как на Си писать. |
| Автор: rudolfninja 20.1.2014, 13:31 | ||
Как-то Вы, почти безосновательно, сделали выводы о моем незнании Си. Не думаю, что Вы знаете Си намного лучше чем я. Из того, что написано тут
можно слабо представить как реализована у него система команд да и сам микропроцессор в целом. |
| Автор: tzirechnoy 20.1.2014, 14:32 | ||
Ну, почему жэ. Учитывая, что это -- как раз код системы команд (ну, ещё небольшого куска видеоадаптэра и клавиатуры с таймером) -- как раз именно это из данного кода и можно выяснить. PS Да, если таки последуете моему совету и пойдёте изучать Си по этому коду -- то учтите, что на самом деле ?: -- не единственный условный оператор в Си. Есть ещё if и switch как минимум. |
| Автор: LeonidPr 4.2.2014, 12:56 | ||
Только микропроцессора? тогда не сказать что это так уж сложно, берете доку на систему команд и вперед, а вот если вам нужен эмулятор машины на этом проце - тут, как уже говорилось, вам прямая дорога в сторону доработки уже существующих! |