小编典典

第一个编译器是如何编写的?

all

我听说过鸡和蛋以及自举。我有几个问题。

是什么编写了第一个将某些东西转换为二进制指令的编译器?

汇编是编译还是翻译成二进制指令?

…我很难相信他们用二进制编写了编译器。


阅读 164

收藏
2022-07-30

共1个答案

小编典典

汇编指令(通常)是到操作码的直接映射,操作码是可以由处理器直接解释的机器码的(多)字节值。很有可能直接用操作码编写程序,方法是从一个表中查找它们(例如这个用于
6039
微处理器
的表),其中列出了它们以及匹配的汇编指令,并手动确定内存地址/偏移量像跳跃一样。

第一个程序正是以这种方式完成的——手写操作码。

但是,大多数情况下,使用汇编程序“编译”汇编代码会更简单,它会自动执行这些操作码查找,并且有助于计算命名跳转标签的地址/偏移量等。

第一个汇编程序是手工编写的。然后这些汇编器可用于汇编更复杂的汇编器,然后可用于汇编为高级语言编写的编译器,依此类推。这种迭代编写工具以简化创建下一组工具的过程称为(正如
David Rabinowitz
在他的回答中所提到的)引导程序

2022-07-30