编译器与平台相关性

    每种处理器都可能会有自己的汇编语言编译器,而对于同一款处理器来说,针对不同的平台(比如 Windows 和 Linux) ,也会有不同版本的汇编语言编译器。

    理论上,不管用的是什么操作系统,Windows 也好,DOS 也好,Linux 也好,只要是针对Intel 处理器开发的软件,底层的机器指令代码都是相同的,没有理由说某个软件只能在    Windows 操作系统上运行,而不能在 Linux 上运行。事实上,仅仅具有一致的底层机器代码还远远不够。别忘了,这些代码要被处理器来依次执行,首先需要加载到内存并实施重定位。在这种情况下,除了那些真正用于做事的机器指令之外,软件还需要一些额外的信息来告诉操作系统,如何加载自己。更有甚者,Windows 会建议为它开发的软件应当包含一些图标或者图片。这就是为什么每个 Windows 软件都会显示一个图标的原因。
    在这种情况下,因为每种操作系统都会根据自身的工作特点,定义自己所能识别的软件可执行文件格式,而缺乏通用性,尽管在这些软件里,真正用于计算 5+6 的机器指令都一模一样。

《x86汇编语言:从实模式到保护模式》3.2.1

你可能感兴趣的:(编程语言解密)