为什么在M3架构中 PC总是返回加4
由于CPU是3级流水线的方式运行。在执行第一条指令时候,已经对第二条指令译码,对第三条指令取值。
PC总是指向正在取值的指令。由于在M3架构中,采用Thumb-2指令,每个指令占据2个字节,所以PC总是返回PC+4.
在ARM指令状态下,每条指令占据4字节,总是返回PC+8
版权声明:本文为yangdh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
由于CPU是3级流水线的方式运行。在执行第一条指令时候,已经对第二条指令译码,对第三条指令取值。
PC总是指向正在取值的指令。由于在M3架构中,采用Thumb-2指令,每个指令占据2个字节,所以PC总是返回PC+4.
在ARM指令状态下,每条指令占据4字节,总是返回PC+8