0

我知道汇编编程语言有很多版本,例如 x86、ARM、MIPS、摩托罗拉等……它们可以在各种架构上运行。然而,这是为什么呢?组装是如何工作的?为什么我不能在不同的架构上使用一个版本的程序集。在最简单的层面上,我们当然只是在处理电流的流动,那么为什么会有这种限制,这些架构有什么不同呢?

此外,假设我想制作一个在自定义架构上运行的操作系统 - 我制作的一个。那么我是否必须创建自己的汇编语言?创建操作系统是否需要汇编语言?

4

2 回答 2

5

汇编语言在很大程度上只是一种人类可读/可管理的机器代码形式。处理器在机器代码、位和字节上运行。由于许多不同的原因,不同公司制造的不同处理器系列是不同的。就像不是所有的汽车都是一样的。处理器不同的一种方式是因为它们在不同的指令集、不同的机器代码、不同的 1 和 0 组合上运行。因此,从一种到另一种的汇编语言也会有所不同。此外,汇编语言通常由处理器创建者、设计处理器的个人/公司定义(并非总是如此,但经常如此)。就像他们制造不同的处理器一样,他们对汇编语言语法和其他选择有不同的习惯和愿望。所以汇编语言变化的另一个原因。就像并非所有汽车都使用相同尺寸的轮胎一样。

于 2013-08-03T19:40:04.907 回答
0

每个计算机体系结构都“说”自己的语言。汇编或多或少是机器语言到人类语言的一对一映射。因为机器语言不同,所以程序集也不同。

于 2013-09-06T05:37:16.143 回答