我有这条装配线:
01000AD8: 979FF103 LDRLS PC,[PC,R3,LSL #2]
使用 PC = 0x01000AD8
R3 = 0x00000008
CDPS = 800000D3 (所以 C=0, Z=0)
当我执行这一行时,PC 的新值应该是(如果我正确理解 LDRLS*)
PC = 0x01000AD8 + 0x00000008 * 4 = 0x01000AF8
但结果却是 0x00000BAC
为什么?
也许我可以补充一点,执行此行代码时会激活 MMU。
PS *我在研究中没有找到LDRLS中“LS”的含义......
编辑:添加 CPSR 值