我们使用arm9和ucos。通用移植函数的最后一个工具在我们的系统中具有奇怪的行为。LDMFD奇怪地影响R13
Instrument: LDMFD SP!,{R0-R12,LR,PC}^
让我们假设SP是0x10002000,下面15个DWORD(这将被复制到R0-R12,LR,PC)有从1到15,我们发现PC(R15)值发生变化,跳转到15,但SP(R13)变成了一个奇怪的值(远离堆栈存储空间的地址)。我预计它会变成0x1000203C(0x10002000 + 4 * 15)。
为什么R13改变了这种方式?
'SP'是'R13'。 'R14'是'LR'。 – Michael
非常感谢。这是一个拼写错误,它是受到影响的R13。我改变了对R13的问题。 – shino