ARMv7-M:当指令将格式错误的地址加载到PC时会发生什么

问题描述

功能通过弹出窗口返回PC时出现使用错误。 有趣的是,堆叠的PC不是POP指令,而是其他一些存储位置(SRAM地址,而不是闪存地址)。

当指令加载到PC且地址中未设置第0位时,加载指令是否完成并出现使用错误(因此,堆叠的PC将成为目标地址),或者加载指令本身将出错(堆叠的PC将成为加载指令)?

解决方法

我尝试了一个简单的测试

LinearSnapHelper().attachToRecyclerView(recyclerView)

堆叠的PC为0x140000。因此,看起来好像目标被堆叠了。