LINUX.ORG.RU
ФорумTalks

[Книги][Эмулятор процессора]

 


0

1

Какие есть книги про эмулятор процессора (запуск програмы скомпилированной на другой архитектуре на обычном (x86, amd64) процессорах)??

Интересует как происходит замена машинных команд чужой архитектуры на родимую и выбор куда размещать эти даные в регистрах, если в чужой архитектуре инное количество регистров.

Хочется самому попробовать написать эмулятор для 6502 (В Dendy ставился).

Заранее благодарен.

★★★★

Тут документация на сам 6502 нужна, имхо. И статья в вике об эмуляторах)

Sectoid ★★★★★
()

>как происходит замена машинных команд
В лучшем случае адресный переход, в худшем switch/case

куда размещать эти даные в регистрах, если в чужой архитектуре инное количество регистров

В память

Artificial_Thought ★★★★
()

Эмулятор древноты, у которой частоты в несколько сот, а то и тысяч раз ниже, можно писать в лоб, с последовательным разбором инструкций.

PolarFox ★★★★★
()

А то, что ты предлагаешь, это уже не эмулятор (как bochs), а бинарный рекомпилятор (как qemu, когда оно не морда для kvm, или как pcsx2), жутко непортабельная штука.

PolarFox ★★★★★
()

Написать транслятор из ассемблера этой архитектуры в ассемблер какой-нибудь llvm.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

> Написать транслятор из ассемблера этой архитектуры в ассемблер какой-нибудь llvm.

А если программа внутри виртуалки решит заняться jit-ом / кодогенерацией?

Manhunt ★★★★★
()

Кстати эмулятор NES точно есть на жабаскрипте. Можно взять и питон какой-нибудь, скорости хватит :3

PolarFox ★★★★★
()

>(В Dendy ставился).

Основная проблема эмуляции денди - не эмуляция 6502, а эмуляция зоопарка микрух-мапперов, которые в каждом картридже были свои. Для 6502 (как и для m68k) существуют свои библиотеки, емнип.

svr4
()
Ответ на: комментарий от Quasar

> Какая архитектура процессора - такой и рекомпилятор.

++ :)

geekless ★★
()
Ответ на: комментарий от Manhunt

Патчи были отправлены полгода назад.

Они сказали: „круто, а можешь ещё вот это и это в нём сделать, тогда примем“.

Был занят, забил. Вот летом разгребу.

ChALkeR ★★★★★
()
Ответ на: комментарий от ChALkeR

Но это только для одного бага.

Остальные баги мне не критичны, для них патчей не писал.

ChALkeR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.