d0024000 <_start>:
d0024000: e59f0054 ldr r0, [pc, #84] ; d002405c <halt+0x4>
d0024004: e3a01000 mov r1, #0
d0024008: e5801000 str r1, [r0]
d002400c: e59fd04c ldr sp, [pc, #76] ; d0024060 <halt+0x8>
d0024010: e24f0018 sub r0, pc, #24
d0024014: e59f1048 ldr r1, [pc, #72] ; d0024064 <halt+0xc>
d0024018: e59f2048 ldr r2, [pc, #72] ; d0024068 <halt+0x10>
d002401c: e1500001 cmp r0, r1
d0024020: 0a000003 beq d0024034 <clean_bss>
为什么结果是D0024000 ,PC的值应该是D002414 结果不应该是D0023FC吗?
------解决方案--------------------
从汇编来看,这是32bit的标准arm(cortex-m系列好像略有不同,好几年不用忘了),那么pc为当前指令+8,当前指令为d0024010, 所以pc应为d0024018.