我們使用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