我昨天在考试时遇到了这个问题,但仍然令我感到困惑。有人可以向我解释为什么68000是包括烧结和未签名的分支。
答案 0 :(得分:2)
问题可能是bhi/blo/bhs/bls
分支与bgt/blt/bge/ble
分支。
前一组仅考虑C
和Z
标记,这在您将您视为 unsigned 的值进行比较时非常有用。
后一组仅考虑N
,V
和Z
标记,这样您就可以比较签名的值。
您可以找到更多here和here。
答案 1 :(得分:0)
实际上不是分支,而是比较有符号或无符号。 cmp
指令(以及影响 N、V、Z、C 标志的所有其他指令)返回可以解释为有符号和无符号的结果,具体取决于 N 和 V 标志(有符号)还是除了解释中的 Z 标志外,还考虑 C(无符号)标志。 bh[is]/bl[os] 做前者,bg[te] 和 bl[te] 做后者。