我调试ARM程序集逐行与硬件调试器。
我看到的很奇怪,帧指针寄存器(r11)一直在变化,即使指令也不管它。
例如,在执行以下行时:
mov r4, r1
mov r5, r2
R11寄存器从0x00100ee8更改为0x00100eec(继续增加4)
是某种硬件bug还是有一些我不知道的逻辑?
这不太可能是硬件bug,因为它会使处理器完全无法使用。更有可能的是调试器正在使用帧寄存器并且没有正确显示它。此外,我在ARM指令集中没有看到cpy
指令,所以我不得不想知道这在您使用的工具集中会转换成什么。