繁体   English   中英

x86程序集和其他版本的程序集有什么区别?

[英]What is the difference between x86 assembly and other versions of assembly?

我知道汇编程序语言有很多版本,例如x86,ARM,MIPS,Motorola等,它们可以在各种体系结构上运行。 但是,为什么呢? 组装如何工作? 为什么不能在不同体系结构上使用一个版本的程序集。 从最简单的角度来看,我们当然只是在处理电流,那么为什么会有这种限制,这些架构甚至有什么不同?

此外,假设我想制作一个运行在自定义体系结构上的操作系统-这是我创建的。 然后,我将不得不创建自己的汇编语言吗? 创建操作系统是否需要汇编语言吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM