2011-04-26 66 views
1

最近我有一個8086組裝作業完成,我嘗試使用CMP指令,但不能讓它right.here是代碼:簡單比較8086指令問題

MOV AL, 88h 
    CMP AL, 24h 
    JL exit 
label: 
    mov al,4h 
exit: 
    RET 

當我調試它,JL後,直接跳到exit: 但下面的代碼工作正常

MOV AL, 88 
    CMP AL, 24 
    JL exit 
label: 
    mov al,4h 
exit: 
    RET 

爲什麼發生這種情況?

回答

4

JL使用簽署條件。從有符號的觀點來看,88h是一個負數。如果你想讓24小時處理小於88小時,你有幾個選擇 - 最明顯的是使用無符號條件,這意味着使用jb而不是jl

+0

謝謝,好像我沒有經過教科書:) – danny 2011-04-26 13:39:41