【发布时间】:2014-04-14 10:43:07
【问题描述】:
作为循环条件,我使用以下代码。
CMP r5 , #0xA
BGE Loop
但是当 r5 中的值很大时,比如 FFE700DE,比较失败。是因为它是有符号值吗?如何比较未签名的?
【问题讨论】:
标签: assembly arm comparison-operators
作为循环条件,我使用以下代码。
CMP r5 , #0xA
BGE Loop
但是当 r5 中的值很大时,比如 FFE700DE,比较失败。是因为它是有符号值吗?如何比较未签名的?
【问题讨论】:
标签: assembly arm comparison-operators
使用BHS 指令,这是无符号的“更高或相同”比较。参见例如this list of ARM condtion codes。
请记住,对于整数寄存器,寄存器中的值不能真的有符号或无符号,这完全取决于你使用的指令来解释价值。该值只是一堆位。
【讨论】: