0
假設我有高級語言while循環,看起來像:雙條件While循環在x86彙編
雖然我> = 0和x < 5,
怎麼會在86看彙編代碼?我嘗試過使用cmp作爲while語句的條件部分,但我不確定AND是如何實現的。
感謝
假設我有高級語言while循環,看起來像:雙條件While循環在x86彙編
雖然我> = 0和x < 5,
怎麼會在86看彙編代碼?我嘗試過使用cmp作爲while語句的條件部分,但我不確定AND是如何實現的。
感謝
;; assuming eax contains i, ecx contains x
myloop:
test eax, eax
jl exitloop ; i < 0
cmp ecx, 5
jge exitloop ; x >= 5
;; loop content goes here
jmp myloop
exitloop:
;; life continues after the loop
所以,如果它是一個AND語句,那麼它不關係,因爲如果任一說法是假的就退出循環,如果它是一個OR而不是和什麼?它會如何不同? – user2620534
您可以將jl更改爲jge,並將其目標地址更改爲放置在第二個jge之後的標籤。 – jlahd