簡體   English   中英

如何解釋 x86-64 xor 后跟 jle?

[英]how to interpret x86-64 xor followed by jle?

如果部分匯編代碼如下:

xor %ebp,%ebx
jle some address

這個 jle 是否意味着它會在 (%ebx ^ %ebp == 0) 時跳轉,因為這會將 ZF 設置為 1?

這是 JLE 成為現實的方式之一。 另一個是SF≠ OF ,根據手冊: https : //www.felixcloutier.com/x86/jcc

由於 XOR 總是清除 OF, SF != OF簡化為 SF。

如果SF | ZF將采用布爾運算后的jle SF | ZF ,即如果結果<= 0

有趣的優化,以避免test %ebx,%ebx將結果與零進行比較( AND 或 TEST same,same 將 FLAGS 設置為與cmp reg,0相同)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM