英特尔和AMD处理器是否具有相同的汇编程序?

C语言用于编写UNIX以实现可移植性 – 使用不同编译器编译的相同C语言程序生成不同的机器指令。 为什么Windows操作系统能够在Intel和AMD处理器上运行?

AMD和Intel处理器(*)有一组共同的指令,因此编译器或汇编器可以编写在两者上运行“相同”的二进制代码。

然而,甚至来自一个制造商的不同处理器系列具有它们自己的指令集,通常称为“扩展”或其他。 忽略x87协处理器,我第一次记得这是一个营销点,当时一切都突然“用MMX(TM)技术”。 期望在任何处理器上运行的二进制代码要么需要避免扩展,要么在使用它们之前检测CPU类型。

英特尔的Itanium 64位架构与AMD的x86-64架构完全不同,因此有一段时间他们的64位产品不兼容(Itanium与x86完全不同,而x86-64通过添加64位指令扩展了指令集)。 英特尔首先眨眼并采用了x86-64,尽管仍然存在一些差异: http : //en.wikipedia.org/wiki/X86-64#Differences_between_AMD64_and_Intel_64

Windows可能会对几乎所有代码使用通用的x86或x86-64指令集。 如果各种驱动程序和编解码器在多个版本中提供,并且在查询CPU后选择了正确的驱动程序和编解码器,我不会感到惊讶。

(*)实际上,英特尔制造或制造了各种处理器,包括ARM(英特尔的ARM处理器被称为XScale,但我认为他们已经出售了该业务)。 AMD也制造其他处理器。 但我们知道你指的是哪种Intel / AMD处理器:-)

如您所料,主流Intel和AMD处理器具有相同的指令集。

例如,Windows不能在ARM或PowerPC芯片上运行,因为它在某种程度上依赖于底层指令集。

但是,大多数Windows都是用C ++编写的(据我所知),它应该可以移植到其他架构中。 Windows NT甚至可以在PowerPC和其他架构上运行 。

AMD与英特尔兼容,否则他们永远不会在市场上获得立足点。

它们实际上是克隆兼容的。

瑞安

AMD和Intel使用相同的指令集。

在AMD处理器或Intel处理器上安装Windows时,它不会在机器上“编译”代码。

我记得很多人在大学期间对这个问题感到困惑。 他们认为“设置”意味着它正在编译机器上的代码。 事实并非如此。 大多数(如果不是全部)Windows应用程序都在免费领域之外,由二进制文件提供给您。

至于便携性,这不是必须100%真实。 虽然C是高度可移植的,但在许多情况下,为特定操作系统或系统编写将导致代码只能在该框上编译/执行。 例如,某些Unix机器以不同方式处理文件和目录,因此它可能不是100%可移植的。

英特尔和AMD处理器是否具有相同的汇编程序? 汇编程序汇编程序在处理器上运行,因此您的问题存在缺陷。 处理器不要使用汇编程序。

如果你的意思是Intel和AMD处理器可以运行相同的汇编程序吗? 然后答案是肯定的!

所有汇编程序都是一个程序,它从结构化文本文件中汇编其他程序。 Visual Basic是汇编程序的一个示例。