【发布时间】:2013-07-10 06:23:12
【问题描述】:
来自高级编程背景,我对学习低级编程很感兴趣。我想知道一个编译器是怎么编译的?
看了wiki上的一些文章,Numerical machine code据说是最底层的语言,但是必须有编译器来编译这个机器码。该编译器是用什么语言编写的?
【问题讨论】:
-
机器码不需要编译。它直接由CPU执行。您可以使用十六进制编辑器输入它。
-
Numerical machine code (i.e. not assembly code) may be regarded as the lowest-level representation of a compiled and/or assembled computer program,来自文章第 2 段 -
是的,最低级别 - 没有更低的级别。这是其他语言编译成的到!
-
你的引用是说数字机器代码是程序编译的结果。没有将机器代码作为输入的编译器。
-
是的,当然有编译机器码的编译器:指令解码器。在现代 CPU(尤其是 x86 系)中,解码器可能非常复杂,它将指令分解为微指令序列,然后对其进行分析(以获得依赖关系和潜在危险)并发送到不同的执行单元。
标签: compiler-construction low-level machine-code