cortex-m3程序运行,PC先自加再执行指令还是先执行指令再自加
cortex-m3程序运行,先执行本行指令,然后再PC自加;
以STM32F10X位例,下图是程序启动时的执行过程
在PC指向0x080000FC时,本条指令还没有执行,指令为LDR r0 , [pc, #16] ; 把地址为PC+0x16中的4字节数据加载到R0中,此时PC值为0x080000FC,加0x16后为0x08000112,
正是数据0x08000115存放的首地址。如下图,执行完本行指令后,R0寄存器的值为0x08000115,然后PC自加,PC值为0x080000FE