检查最高位是否为1的一个技巧
检查最高位是否为1的一个技巧
很多flags有不同位,对于最高位的检验,我们一般思维是 and 一个数值然后判断是否为零,或者右移判断为零
但发现了一种更好的检测方法 js 来判断,如果最高位为1,则test后 eflags中的 s位为1,其表示负数。
因此,我们可以使用 test eax,eax js xxx(如果成立) 这种方法
这种本质上就是将该数当做一个有符号数,然后判断其是否小于0,也就是最高位是否为1
检查最高位是否为1的一个技巧
很多flags有不同位,对于最高位的检验,我们一般思维是 and 一个数值然后判断是否为零,或者右移判断为零
但发现了一种更好的检测方法 js 来判断,如果最高位为1,则test后 eflags中的 s位为1,其表示负数。
因此,我们可以使用 test eax,eax js xxx(如果成立) 这种方法
这种本质上就是将该数当做一个有符号数,然后判断其是否小于0,也就是最高位是否为1