关于汇编语言你必须了解两件事。
语言的名字是“汇编”。将汇编语言转换成低级别的机器编码的工具名字是“汇编程序”。这是一个很常见的错误,甚至连有经验的程序员也会犯这样的错误,即将语言称为“汇编程序”。所以请先叫对它们彼此的名字。
默认情况下,汇编语言是本文中最小且最快的语言。因为它并非高级语言,但却是你的CPU指令系统助记码代表,任何基于高级语言所编写的内容都能够快速用汇编语言呈现出来。
鉴于以上事实,你可能会认为你的研究就此结束了。毕竟,如果一种语言是最小且最快的,又有什么不使用它的理由呢?实际上,为什么其他人会在你能够基于汇编语言编写代码并获得最佳结果的时候还费心去研究C或C++呢?
那是因为“最佳代码”这一词并不是指代你的程序的原始速度和规模。存在可读性,就像你可能需要递交部分代码给同事让他能够基于这些内容完成自己的任务。存在可移植性,即你可能需要将代码移植到其它操作系统或硬件体系结构中。存在可维护性,即需要能在项目快结束时轻松解决问题。存在抽象性,即你可以基于向下移动角色而不是操控内存中的数字去编写代码。
基于所有的这些元素,汇编语言绝对是最后一位。汇编语言很难读也难以维护。除非经过仔细评述,否则很少有人能够传承其代码。修改漏洞以及延伸现有的代码很复杂。你必须不断专注于可移植性,以防你最终编写出不能运行于来自同一制造商的不同处理器模型。
实际上,汇编语言从未被用于完成游戏。汇编语言通常是作为程序的一部分将执行计算并会经过多次调用。有时候修改功能中的一些机器指令将帮助你创造一些额外且有价值的内容。但却不是在项目已开始便能够执行的过程。这是在早前测试所执行的,即在决定变成瓶颈到底出现在哪里时。
汇编语言并非最热门的选择,如果你阅读了这篇文章并尝试着明确该选择怎样的语言,你便可能会转向其它语言。
优点:如果你知道自己在做什么的话这可能会是最快且最有影响的方法。
缺点:如果你正在阅读这一内容,你可能就不知道自己在做什么。所以请准备好花较长时间去学习无数能够推动处理器棒的技巧。
可移植性:糟糕透顶。除非你正在面向基本处理器编写代码,否则你的程序可能不能运行于其它“可兼容的”处理器上。例如,AMD处理器上一些特殊的指令在Intel上便不可行,反之亦然。
是否适合新手:一点都不。