Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 显示不同指令的相同二进制文件的分解_Assembly_Arm_Iar_Thumb - Fatal编程技术网

Assembly 显示不同指令的相同二进制文件的分解

Assembly 显示不同指令的相同二进制文件的分解,assembly,arm,iar,thumb,Assembly,Arm,Iar,Thumb,我正在我的应用程序和引导加载程序示例中使用at91sam4e16e微控制器 ASF(xdk-1.15.0)用于名为starter\u kit\u bootloader\u demo的引导加载程序 现在我为sam4e ek定制了这个项目,我正试图用它更新二进制文件 引导加载程序 更新后,我比较了两个二进制文件1)更新 和2)独立的 两个二进制文件都是相同的 但当我在IAR中调试它时,反汇编显示指令是不同的。为什么不同?我将原始.out文件中的调试信息添加到新的引导加载程序项目中。现在两个相似二进

我正在我的应用程序和引导加载程序示例中使用at91sam4e16e微控制器 ASF(xdk-1.15.0)用于名为starter\u kit\u bootloader\u demo的引导加载程序

现在我为sam4e ek定制了这个项目,我正试图用它更新二进制文件 引导加载程序

更新后,我比较了两个二进制文件1)更新

和2)独立的

两个二进制文件都是相同的
但当我在IAR中调试它时,反汇编显示指令是不同的。为什么不同?

我将原始.out文件中的调试信息添加到新的引导加载程序项目中。现在两个相似二进制文件的反汇编都是相似的。按照per的建议,它将向量表的二进制解释为一些无意义的指令。

如果反汇编不同,您如何判断二进制是相同的?如何在Cortex-M4上运行ARM代码?这里的实际问题是什么?你可以从图片中看到,这两个二进制在那个地址是相同的。仍然显示不同的指令。好吧,它们是相同的,除了所有的字节不同,无论如何。无论哪种方式,您都有一些数据,在一种情况下反汇编程序有符号(因此知道它的数据),而在另一种情况下没有(因此尝试将其解释为无意义的指令)。我仍然不明白这与标题有什么关系,而且。当查看没有符号的二进制文件时,总是要尽可能多地关注原始字节和反汇编-如果您看到某个看起来像有效地址的内容,它可能是一个地址(特别是如果它“反汇编”到像这里的示例那样明显荒谬的内容)