assembly - 扩展编译器以获得自己的汇编输出

标签 assembly compiler-construction compilation instructions microprocessors

我一直在编写一些 verilog 代码来创建具有自己的指令集的简单微处理器模拟。到目前为止,我已经在 head 中编译了所有代码,并使用十六进制编辑器生成可用作启动程序内存的二进制文件。现在我需要使一些流行语言(如 C 或 BASIC)可编译到我的指令集中,并且由于编写自己的编译器似乎是非常困难且长期的任务,我正在寻找可以以某种方式扩展的编译器或哪种编译器可以针对不同的指令简单地重写源代码。

有什么办法可以做到这一点吗?这样的编译器存在吗?

最佳答案

您可以为可重定向编译器(例如 gcc 或 llvm)编写后端。例如,参见 http://llvm.org/docs/WritingAnLLVMBackend.htmlhttp://gcc.gnu.org/onlinedocs/gccint/Back-End.html .

关于assembly - 扩展编译器以获得自己的汇编输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874798/

相关文章:

c++ - 在任何函数外部声明的可变大小类型

c++ - 返回 char* 函数的内存管理

C++ extern 类没有命名类型

python - weawve导入错误: DLL load failed: %1 is not a valid Win32 application Anaconda64 MINGW64

delphi - DUnit2 的 CallerAddr 函数有什么作用?如何将其转换为 64 位?

memory - 有关可执行程序(进程)的内存布局的更多信息

c++ - 编译独立的静态可执行文件

Visual Studio 可以用来运行带有 ARM 脚本的 C 代码吗?

c++ - 在 C/C++ 中数组是否以相反的顺序存储?

java - 如何在编译过程中捕获异常