【发布时间】:2015-03-07 07:16:06
【问题描述】:
我目前正在学习关于汇编语言和计算机体系结构的课程。我们正在为 x86 处理器使用 MASM 编程。我有一台 Macbook Air,所以当然我必须在虚拟机上运行 Windows 才能在 MASM 中为我们的作业编程。
我感到困惑的是:我们正在学习 x86 架构并进行编程。当我查看 Macbook Air 的处理器时,它似乎属于 x86 系列。考虑到这一点,为什么 MASM 不能与 Mac OS X 一起使用?
此外,如果汇编语言直接与硬件通信,为什么仅仅在 Apple 硬件上安装 Windows 操作系统(或通过 VM 运行)突然允许我在 MASM 中编程?
谢谢, 伊恩
[为澄清而编辑:我的理解——如果我错了,请告诉我——汇编语言是“尽可能低的”。 IE。它是预操作系统,直接向硬件本身提供指令。因此,我不明白为什么 x86 架构的汇编语言不能在所有 x86 机器上工作,无论操作系统如何]
【问题讨论】:
-
MASM 是微软。 Mac OS X 是苹果。微软和苹果互不喜欢。
-
为什么要这样? Xcode 有自己的汇编器。
-
@Mysticial 他们是秘密恋人。
-
也许,就像 R&J 一样,他们最终都会死。
-
@Seva:Xcode 使用 GNU 汇编器,它使用不同的(而且,IMO,非常丑陋和难以辨认)语法,AT&T 风格。但是 Jester 的回答解释了为什么 MASM 不起作用。无论如何,也许在 Mac 上,可以使用 NASM 或 FASM。它们更类似于 MASM 而不是 GASM。
标签: assembly x86 operating-system hardware computer-architecture