为什么sub指令修改xpsr寄存器并为9-7放置进位标志

问题描述 投票:0回答:1

我正在使用 STM32cubeIDE 并在 cortex m4 上调试汇编。我在尝试 SUB 指令时遇到了奇怪的行为。根据文档,SUB 指令不应更改 XPSR 寄存器。但当我使用它时,它确实如此。即使对于像 (9-7) 这样的无进位操作,它也会将 XPSR 进位标志设置为 1。有人理解这种行为吗?

谢谢

我用谷歌搜索并阅读文档,但对这种行为一无所知

stm32 cortex-m stm32cubeide
1个回答
0
投票

似乎thumb16指令修改了标志,但使用.syntax统一时32位指令表现正常(SUB不会改变标志,而SUBS会改变)。对于携带,文档不完整。 subs 指令的进位标志被反转。有关进位标志的 ARM 文档的更多详细信息

© www.soinside.com 2019 - 2024. All rights reserved.