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