CMP命令不能正常工作



我在x86处理器中使用cmp命令并且工作正常(二进制文件是使用gcc生成的)但是在arm cortex 9中使用它时,它没有给出正确的输出(使用cross gcc生成二进制文件)

在X86机器上使用cmp命令进行比较时,会产生正确的输出。

x - 86机:

说我有两个文件a.b bin, b.b bin(应该是相同的,而比较使用cmp)

cmp a.bin b.bin

上肢皮质A9:

a.bin, b.bin

cmp a.bin b.bin

此处也必须相同

但是会产生不匹配


请提供任何线索!!

你的问题不是很清楚,有点模糊,所以我将在黑暗中尝试一下,假设你是在问为什么相同的源代码编译成不同的文件。

尽管无论使用哪种编译器,编译后的程序(假设没有UB或可移植性问题)在功能上都是相同的,但二进制级别的程序不一定是相同的。

例如,不同的优化级别将生成不同的文件。编译器可以将构建日期嵌入到文件中。不同的编译器会以不同的方式排列代码。

这些都是为什么你可能会在"相同"程序中得到不同输出的原因。

相关内容

  • 没有找到相关文章

最新更新