2014-10-26 70 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(跳转如果第一个操作数较少)的原因将签署比较