我正在阅读第3章CSAPP程序的机器级表示.
testl S2, S1 
基于S2和S1的上述指令. 
 testl %eax, %eax看看%eax是负数,零还是正数.我不明白这个用法.请给我一些解释,谢谢.
TEST指令与AND指令相同,只是它不存储结果.它只修改标志.它修改以下标志:sign,parity,zero,carry(always 0)和overflow(always 0).
testl %eax, %eax
jz    zeroLabel     ; jump if EAX is zero
js    negLabel      ; jump if EAX is negative
jns   posLabel      ; jump if EAX is positive
希望这可以帮助.