ARM架构中GT和HI助记符有什么区别?

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

在 ARM 指令集中,我看到了

GT
HI
助记符。 “GT”大于且“HI”高于。我觉得两者的意思是一样的。

那么这些助记词有什么区别呢?

助记符 状况 助记符 状况
CS CarrySet 抄送 CarryClear
情商 Equal(零集) NE Not Equal(清零)
VS Overflow Set VC Overflow Clear
GT Greeater Than LT LessThan
通用电气 G大于或E等于 LE L小于或E等于
PL Plus(正) Minus(负)
高于 LO Lower Than(又名 CC)
HS H更高或Same(又名CS) LS L下或S同名

The conditional instruction Set

assembly conditional-statements arm embedded
3个回答
6
投票

有符号与无符号比较

GT  Signed greater than
HI  Unsigned higher

6
投票

HI 指令将其操作数视为无符号,因此基本上它使用 C 和 Z 标志进行操作 另一方面,GT 或 GE 将操作数视为有符号数并使用标志 N(负)和 V(溢出)。 GE 和 GT 是相同的,但 GE 也接受清除的 Z 标志。 因此,如果您使用无符号数字,那么两者都会产生相同的输出。


2
投票

ARM 文档明确指出

HI 无符号高位 C 置位且 Z 清零

GT 有符号大于 Z 清零,并且 N 置位和 V 置位,或者 N 清零和 V 清零 (Z == 0,N == V)

它们的条件不同。

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