Для удовольствия я работаю над компилятором для небольшого языка, и сначала я нацелен на набор инструкций ARM из-за его легкости. В настоящее время я могу скомпилировать код, поэтому у меня есть машинный код ARM для тела каждого метода. На данный момент мне нужно, чтобы начать связывать несколько вещей вместе:Какие доступные исполняемые бинарные форматы и эмуляторы?
- Какой формат должен сохраняться свой машинный код, так что я могу ...
- Выполнить это в какой отладчик?
В настоящее время нет поддержки ввода/вывода и т. Д., Поэтому отладка будет сильно зависеть от моей способности выполнять демонтаж и просматривать регистры процессора/память.
Я запускаю Windows и мой компилятор работает только в Windows, поэтому предпочтительнее иметь какой-то эмулятор в Windows.
Редактировать: Похоже, я могу использовать эмулятор Visual Studio Windows Mobile 6. На данный момент я могу просто сохранить результаты в простом двоичном формате и загрузить его в память эмулятора через крошечное консольное приложение на C++, а затем перейти к нему с помощью указателя на функцию. Позже, похоже, мне нужно будет поддерживать форматы ELF и PE.
Возможно, добавьте тег 'embedded', если это связано с встроенным программным обеспечением. –
Да, вы можете использовать PE с Windows Mobile. И крошечный «бин-стартер» - хорошая недорогая идея, просто хочу предложить ее, но слишком поздно :) – zxcat