引用《ARMv7-M Architecture Reference Manual》B1.5.7
Copyright © 2006-2008, 2010, 2014, 2017 ARM Limited or its affiliates. All rights reserved
图1-1. Cortex-M3/M4(无浮点单元)处理器的异常栈帧
压栈的xPSR中的第9位表示栈指针的数值是否调整过。若使能了双字栈对齐特性,而且栈指针的数值未对齐到双字边界上,栈中会被插入一段空间,栈指针也会被强制对齐到双字地址,并且xPSR的bit9被置为1,表明插入了一段区域。
图1-2. 对应代码处理
图2. Cortex-M3/M4(含浮点单元)处理器的异常栈帧