2014-10-26 54 views
-2

我被允許使用C函數printf,scanf和puts。我從用戶那裏得到一個數字(這很簡單),但是我需要檢查它是否小於0或大於255?我知道如何比較單個數字的數字,但我堅持如何比較負數或> 9。將cmp eax,0和cmp eax,255工作?如何比較NASM/MASM組件中大於9或負值的數字?

+0

使用scanf函數來獲取輸入一個數字(而比一個文本表示)。從那裏開始,只需在比較指令後使用適當的jmp即可。對於某些人來說,比較是簽署的,而對其他人來說則不是。 – enhzflep 2014-10-26 15:43:57

+0

這個問題有點不清楚。您沒有將(ASCII-)輸入轉換爲寄存器值,例如與'scanf'?請添加顯示問題的代碼。 – rkhb 2014-10-26 15:44:14

回答

1

它會做你想要什麼樣的只是 蒙山cmp eax,0代替jb你應該 使用jl(跳轉如果第一個操作數較少)的原因將簽署比較