一般来说,程序语言的编译有两个变量,一个是语言本身的语法体系,另外一个是目标机器的指令集体系结构。对于前者,我们要发明一个新的编程语言的时候,一般是用已有的编程语言写新语言的编译器;对于后者,要进行交叉编译,即在A指令集的计算机上编译B指令集计算机要用到的二进制程序。本质上是一个鸡生蛋蛋生鸡的问题。然而还是会绕到最终的问题:最最开始的第一只鸡(蛋(编译器))哪里来的?当然是拿汇编语言写的啦~ 那第一个汇编语言的汇编器是怎么写的?当然是直接手写二进制代码啊。。。