首页 > 解决方案 > 如何堆叠(推送)xPSR?

问题描述

CMP    R1, R2
BLEQ   SUBROUTINE1
ADDEQ  R4, #5

我希望ADDEQCMP R1, R2. 但是,如果SUBROUTINE1修改xPSR,则我无法获得所需的行为。我想到的第一件事是在调用子例程之前将 xPSR 推入堆栈,并在返回时将其弹出。但是,当我想做一个

PUSH    {xPSR}

我收到错误的寄存器符号错误(对于PUSH {PSR})。那么,有没有办法xPSR像任何其他寄存器一样存储内容?

标签: assemblyarmstackmicrocontroller

解决方案


推荐阅读