我注意到大多数(如果不是全部)Nes/Atari等游戏都是在汇编中编码的,但当时存在C,COBOL和FORTRAN,我认为这样可以更容易编码吗?那么他们为什么选择这些可用的高级语言进行汇编呢?
Dig*_*oss 28
那些游戏有8位CPU芯片和微观记忆,比如2kB.这个答案将占用RAM的一半以上.
编译代码是不可能的.即使在具有"大"存储器的8位CPU上,如"64K"(哇!)编译代码也难以使用; 直到16位微处理器出现才常见.
此外,唯一可能有用的语言是C,它尚未占领世界.那时8位微处理器的C编译器很少.
但是C不会有那么大的帮助.那些游戏中有非常便宜的黑客,几乎需要特定时间的指令循环......例如,精灵的Y坐标可能取决于WHEN(在视频扫描中)其控制寄存器被写入.(不寒而栗...)
现在有是在那个时候或许有点晚一个很好的解释字节码的语言:UCSD帕斯卡在UCSD P-系统运行.虽然我不是Pascal的忠实粉丝,但对于那些早期的处理器来说,它远远领先于其他所有产品.但它不适合游戏或跑得足够快.
性能,性能,性能。游戏一直都是要充分利用硬件。即使是当今最好的C,COBOL或FORTRAN编译器也无法与熟练编写的汇编代码竞争。
正如DigitalRoss指出的那样,内存也受到严格的限制,而汇编是唯一允许进行所需细粒度控制的工具。
尽管老式的汇编器或多或少已被C ++取代,但今天的情况仍然适用。即使存在诸如Python之类的编程语言(非常易于使用),对于要求最苛刻的应用程序,低级编程语言仍然是首选。
| 归档时间: | 
 | 
| 查看次数: | 13131 次 | 
| 最近记录: |