【发布时间】:2021-09-16 13:54:30
【问题描述】:
我从事微处理器组装编程已经有一段时间了,我想进入 PC 操作系统。我对在相同架构下运行的两个操作系统具有相同程序的不同汇编代码感到困惑。指令集不一样吗?
我肯定会混淆概念。
有人能解释一下吗?
谢谢
【问题讨论】:
-
指令集是一样的,调用约定、系统调用和其他操作系统的具体细节不一样。此外,根据您所查看的内容,您的代码可能适用于具有不同语法的不同汇编程序。
-
这也取决于用于将程序从高级语言转换为汇编语言的编译器。即使对于 same 操作系统,也有两个编译器,例如gcc 和 clang 会生成不同的代码。 same 编译器将根据选择的编译器选项生成不同的代码。
-
为什么它们应该是一样的?如果他们是相同的,那么哪一方将负责为其他所有人做出决定?
-
你应该用具体的例子来编辑你的问题,让人们不必猜测。
标签: linux windows assembly operating-system