【发布时间】:2013-08-04 20:38:06
【问题描述】:
据我了解,汇编编程语言有很多版本,例如 x86、ARM、MIPS、摩托罗拉等……它们可以在各种架构上运行。然而,这是为什么呢?组装是如何工作的?为什么我不能在不同的架构上使用一个版本的程序集。在最简单的层面上,我们当然只是在处理电流的流动,那么为什么会有这种限制,这些架构又有何不同?
此外,假设我想制作一个在自定义架构上运行的操作系统——我自己制作的。那么我是否必须创建自己的汇编语言?创建操作系统是否需要汇编语言?
【问题讨论】:
-
导致这个问题的主要误解可能是组装不是那么低级。它通常不关心电信号——这种东西已经融入处理器的结构、物理晶体管和布线中。从某种意义上说,汇编只是告诉CPU它现在可以做的各种事情中的哪一个,但它可以选择的所有事情都是预先定义的。
标签: assembly x86 arm cpu-architecture instruction-set