您今天知道用汇编语言编写的哪些软件是什么?

世界上有大量的汇编语言开发正在进行。

如今,很少有项目主要使用汇编语言编写。

我认为自己精通汇编语言,包括用于多种体系结构,大概我编写的代码的1-3%实际上是用汇编语言编写的。

从1988年到1991年左右,我是完全用汇编语言编写的程序的主要作者和开发人员。 那是在MSDOS时代。 由于内存占用,我们拒绝使用C。 我们的程序是一个TSR(终止并驻留)程序,它在后台运行,并且必须足够小以使用户基本上不会注意到由我们的程序引起的内存丢失。

那时(1990年左右),可能有许多程序完全用汇编语言编写。 在当今世界上,8GB的内存是司空见惯的,由于占用空间的原因,没有理由使用汇编语言,而且它的所有缺点意味着仅在真正需要的地方使用它。

几乎没有软件是完全用汇编语言编写的。 编写过程非常慢(因此很昂贵),并且编译器可以在全局程序优化上做得更好。 因此,只有那些无法用高级语言表达的东西才能再用汇编语言编写。 这包括:

  • 访问特权寄存器
  • 缓存行行为(包括感知缓存行对齐的内存副本)
  • 上下文切换
  • 内存排序

实际上,某些语言/编译器确实具有表达此类属性的能力,但是其中一些是作为库函数实现的,您猜想是用汇编语言编写的。

无论如何,我可能每年写几十行汇编代码,可能还需要反汇编和理解更多。 我从事Linux内核工作,有时还负责裸机固件。