汇编代码是跨平台的吗?

wam*_*amp 2 assembly machine-code

0x042444FF; /* inc dword ptr [esp+4] */
Run Code Online (Sandbox Code Playgroud)

0x042444FF是机器代码,虽然inc dword ptr [esp+4]是汇编代码,但我知道机器代码不是跨平台的,因为它取决于很多因素.

汇编代码怎么样,它取决于CPU?

Mar*_*ers 6

汇编代码不是跨平台的.

通常,机器指令和汇编指令之间存在非常直接的映射,因此汇编代码取决于架构.

来自维基百科:

汇编语言是用于计算机,微处理器,微控制器和其他集成电路的低级编程语言.它实现了二进制机器代码的符号表示以及编程特定CPU架构所需的其他常量.该表示通常由硬件制造商定义,并且基于表示处理步骤(指令),处理器寄存器,存储器位置和其他语言特征的助记符.因此,汇编语言特定于某个物理(或虚拟)计算机体系结构.这与大多数高级语言形成对比,后者非常便于携带.

  • 它也不是大部分交叉操作系统,因为你依赖于操作系统设置的调用约定,中断代码等. (2认同)