[英]simple 8086 compare instruction problem
最近我有一個8086匯編作業完成,我嘗試使用CMP指令,但無法正確。有代碼:
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
為什么會這樣?
JL使用簽名條件。 從簽名的角度來看,88h是負數。 如果你希望24小時被視為少於88小時,你有幾個選擇 - 最明顯的是使用無符號條件,這意味着使用jb
而不是jl
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.