【发布时间】:2021-10-24 15:56:29
【问题描述】:
如果设置了 S-Flag 并且进位“发生”,则 Arm 架构手册中提到 ADC 指令在 CPSR 中设置 C(进位)标志。摘自本书(第 155 页):
C Flag = CarrryFrom(Rn + shifer_operand + C Flag)
根据术语表,CarryFrom 定义如下:
CarryFrom
Returns 1 if the addition specified as its parameter caused a carry (true result is bigger
than 2^(32)−1, where the operands are treated as unsigned integers), and returns 0 in all other cases.
This delivers further information about an addition which occurred earlier in the pseudo-code. The addition is not repeated.
现在我想知道 CarryForm 操作是否与溢出检查相同。谁能解释一下,我如何“模拟”CarryFrom 操作或它是如何工作的?
【问题讨论】:
-
stackoverflow.com/questions/6265896/… 可能会有所帮助。进位标志检测 unsigned 溢出。但是“溢出”这个词本身,正如在V标志的定义中,通常指的是有符号溢出。
-
哦,好的,谢谢你的链接!
-
能否请您使用您的链接创建一个答案,以便我可以将此问题标记为已回答?
标签: arm