2 l198738655 l198738655 于 2017.01.15 12:37 提问

汇编语言怎么判断一个数在某个范围内

求大神告诉,怎么判断一个数在某个范围内,比如5判断其在4~6范围内。因为汇编只有大于或等于小于或等于或者大于小于不能像C语言那样可以a=5 ;(a>4&&a<6),求用汇编怎么写

5个回答

xtaeee
xtaeee   2017.01.15 14:40
已采纳

用cmp 指令

mov al,5
mov bl,5
cmp al,bl

l198738655
l198738655 我怎么没想到,谢谢
一年多之前 回复
justin_bkdrong
justin_bkdrong   2017.01.15 17:14

没写过汇编也可以解决这个问题,比如写个函数
bool cmpNumber(int value , int MinValue,int MaxValue)
{
return value >MinValue && value<MaxValue;
}
然后如果用vs 的话,可以生成汇编代码,然后把汇编代码复制上就可以了。

如果是要学点儿知识的话:

无符号的比较是这样:
这个函数就是 如果 x>minValue && x <maxValue 返回 1 否则返回 0
这是用masm实现
cmpNumber proc x : DWORD , minValue : DWORD ,maxValue : DWORD
;默认返回值
mov eax , 0
MOV edx , x
cmp edx , minValue
ja $f
jmp ret_jmp
$$:
cmp edx , maxValue
jb $f
jmp ret_jmp
$$:
mov eax ,1
ret_jmp:
ret
cmpNumber endp

l198738655
l198738655 你这个也不错
一年多之前 回复
caozhy
caozhy   Ds   Rxr 2017.01.15 15:02
 je 相等跳转
jne 不等跳转
jg 大于跳转
jl 小于跳转
jge 大于等于跳转
jle 小于等于跳转
justin_bkdrong
justin_bkdrong   2017.01.15 17:15

如果是有符号的比较,则使用 jg 表示高于 jl 表示低于

Water__Wei
Water__Wei   2017.01.19 11:13

你做两次判断不就好了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
判断某个值是否在某个范围汇编优化
判断某个值是否在某个范围汇编优化 利用反汇编得到一些优化策略--消除分支跳转 更新第四种实现
汇编语言判断一个数是否为0
判断一个数是否为0,为负,为正,为0的话输出0,如果为负的话输出-1,如果他为正数的话输出1,通过此程序可以很好好的学习汇编语言
Javascript判断一个数字是否在一个区间内
//参数str判断的字符串 m最小值 n最大值 function check(str,m,n){         var re = /(\d+)/g;         while(re.exec(str))         {                 var int = parseInt(RegExp.$1);                 if(int n)return
汇编语言: 判断素数
data segmentdata endsstacks segment stack dw 40h dup(?) top label word stacks endscode segment assume ds:data,cs:code,ss:stacks main proc far mov ax,data mov ds,ax mov ax,stacks mov
使用java判断一个数值是否在数学区间范围内
直接调用IntervalUtil.isInTheInterval(String data_value,String interval) -IntervalUtil .java import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; /** * * @ClassName: IntervalUti...
Java判断一个数的取值范围和类型。
//取值范围测试 void rangeTest(){ print( checkRange(111, Integer.class, 1, 5, 10, 123, "1-111") ); print( checkRange("女", String.class, "男", "女") ); } /** * 取值范围测试。类型,取值1,取值2,取值3,-,取值4 * @param ob
Java判断数字是否在制定范围
Java判断数字是否在制定范围 A B 中或者与A B 相等
android中,如何判断一个点在一个范围内
用GPS定位,定位出一个停车场,四个点分别是矩形停车场的四个点,例如(0,0)(9,0)(0,6)(9,6),如何判断其中一个车位在该停车场内,车位也有是由四个点定位的,并把这个车位输出来。   求大神们帮帮忙
JS 如何判断一个数字在某一个区间内
web翎云阁 2016-11-28 10:13 现在有两个数组:revenue和reward 如果收入大于350 小于 450 那么就奖励30 如果收入大于450小于550,就奖励50 要实现的效果跟Excel中的VlookUP函数比较像,怎么写最有效的判断语句。 第一种普通方法: var revenue = [350,450,550,650,850,1000,1100
VBA笔记:判断整数是否在取值范围内
写习惯java、c/c++程序的在判断整数变量x是否在取值范围[100,200]时,会直接写成100 <= x <= 200。 但在VBA编程中,则必须写成x >= 100 And x <= 200。