为了好玩,我正在开发一种小型语言的编译器,我首先针对的是 ARM 指令集,因为它很简单。目前,我能够编译代码,因此我为每个方法的主体提供了 ARM 机器代码。在这一点上,我需要开始将一些事情联系在一起:
- 我应该将我的机器代码保存为什么格式,以便我可以...
- 在什么调试器中运行它?
目前没有 I/O 支持等,因此调试将在很大程度上取决于我是否能够逐步完成反汇编并查看处理器寄存器/内存。
我正在运行 Windows,而我的编译器仅在 Windows 中运行,因此在 Windows 上使用某种模拟器会更好。
编辑:看来我可以使用 Visual Studio Windows Mobile 6 模拟器。现在,我可以简单地将结果保存为简单的二进制格式,并通过一个微型 C++ 控制台应用程序将其加载到仿真器内存中,然后使用函数指针跳转到其中。后来,看来我需要支持 ELF 和 PE 格式。