【问题标题】:What is the difference between the Q flag and the Overflow flag? [duplicate]Q 标志和溢出标志有什么区别? [复制]
【发布时间】:2021-03-19 15:23:04
【问题描述】:

当结果导致溢出或饱和时,Q 标志也称为饱和标志设置。同样,当结果导致溢出时也会设置溢出标志。这两个标志的主要区别是什么?

【问题讨论】:

  • 听起来像是阅读核心手册会很早就回答的问题。

标签: arm embedded status-register


【解决方案1】:

Q 标志是“粘性的”,它不会被我的后续操作清除。因此,它可用于确定自上次显式清除后的任何时间点是否发生了饱和或溢出。

C(溢出或进位/借位)标志被设置或清除为单个算术指令的结果,因此必须在可能设置它的指令之后立即进行测试。 C 标志可在条件指令中进行测试,并可用于扩展算术运算,例如允许从 32 位指令进行 64 位运算。

【讨论】:

  • 另一个好处是只有某些操作会影响“Q”标志。即,设置“Q”标志的指令是设置“C”标志的指令的子集。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 2016-02-05
相关资源
最近更新 更多