|
|
1
150
汇编指令(通常)是到操作码的直接映射,操作码是机器代码的(多)字节值,可以由处理器直接解释。通过从表中查找操作码(例如 this one for the 6039 microprocessor 例如),将它们与匹配的汇编指令一起列出,并手动确定跳跃等事情的内存地址/偏移量。 第一个程序就是以这种方式完成的——手写操作码。 然而,大多数时候,使用汇编程序来“编译”汇编代码更简单,它会自动进行这些操作码查找,并有助于计算命名跳转标签的地址/偏移量等。 第一批装配工是手写的。然后,这些汇编器可用于组装更复杂的汇编器,然后可用于组装为高级语言编写的编译器,等等。迭代编写工具以简化下一组工具创建的过程称为(正如David Rabinowitz在他的回答中提到的那样) bootstrapping . |
|
2
50
|
|
|
3
42
鸡蛋早于鸡。大多数“鸡和蛋”问题的答案都是一样的:进化。有些人也很难相信生物进化,但不相信并不是一个论点(谷歌论证)。 直接回答你的问题:第一个编译器是(由人类)用 assembly language --一个名为汇编程序的程序会将汇编语言翻译成二进制;这是一个比编译简单得多的过程,因为汇编语言只是机器语言的一种符号形式,它使用操作码名称而不是数字,用符号表示地址,等等。许多后续的编译器也是用汇编语言编写的。但第一个C编译器是修改后的B编译器,它是用 B 第一个B编译器是用 TMG 用于编译该B编译器的TMG编译器是用PDP-7汇编语言编写的。 |
|
|
4
27
沃兹在一次公开演讲中说,当他开始时,他买不起编译器,所以他在纸上手工编译成二进制。如果你想看到更狂野的东西,请阅读以下条件 Bill Gates and Paul Allen wrote the BASIC for the Altair 8800.
CODE by Charles Petzold 和 The Elements of Computing Systems 只需具备编程的基本知识,这些非常容易理解的书就会让你从上到下了解计算机。显然,一个人不能得到补偿。sci。或者仅仅读了两本书就获得了EE学位,但我可以说,作为一名自学成才的程序员,我错过了正式的培训:这些书震撼了我的世界! |
|
|
5
12
第一批程序是用机器码(不是汇编语言)编写的——使用开关将实际数字插入计算机内存。我们已经走了很长的路。.. 有时,这种情况仍然会在很小的程度上发生——修补小代码或创建链接。我记得在Basic字符串中输入数字,然后在早期的micros上作为小而快速的子程序执行。我还记得在PDP-11的前面板上切换开关,将引导加载程序输入其内存中,用于大学课程。 这些程序有时会被用来处理文本文件以创建其他程序,瞧,编程语言就这样被创建了。 |
|
|
6
10
|