汇编语言中PC寄存器的计算

图片上是一个STM32芯片的汇编程序,我想问一下那三个PC寄存器的偏移是怎么计算的?第三行执行前PC是0x08000F0A,加上24后不是0x08000F22吗,为什么是0x08000F24;第七行执行前PC是0x08000F14,加上16后不是0x08000F24吗,为什么是0x08000F28;还有第十行,不应该是0x08000F20吗,为什么是0x08000F24?

1)现在的CPU都是预取指令的,PC值不是当前指令的PC值,而是下一条(或者下几条)指令的PC值;
2)#24,似乎应该是十进制的;
3)你单步运行,看看PC寄存器的值吧;
温馨提示:答案为网友推荐,仅供参考