检测点11.3转移指令 (关于 jn'x' 与 j'x' 所包括区间) 疑问??
本帖最后由 goemlitao 于 2014-1-17 19:51 编辑疑惑:如果是我理解错误,请大家帮忙纠正!! 根据零标志位, ja标志位zf = 0,理应是cmp x,y(x≠ y) jna ......zf = 1,......cmp x, y (x = y) 我的理解: ja 应用于( m ,n ) jna应用于 [ m ,n ]
书上: ja 高于则转移 cf = 0且 zf = 0 jna 不高于则转移 cf = 1或 zf = 1 检测点11.3答案: cmp al,32 ;和32进行比较 jb s0 ;如果低于al转到s0,继续循环 cmp al,128 ;和128进行比较 ja s0 ;如果高于al转到s0,继续循环 表示区间 cmp al,32 ;和32进行比较 jna s0 ;如果不高于al转到s0,继续循环 cmp al,128 ;和128进行比较 jnb s0 ;如果不低于al转到s0,继续循环 表示区间(32,128)
本帖最后由 网友 于 2014-1-17 20:08 编辑
指令英文含义中文含义标志位
jejump if equal等于则跳转ZF=1
jnejump if not equal不等于则跳转ZF=0
jbjump if below小于则跳转CF=1
jnbjump if not below不小于则跳转CF=0
jajump if above大于则跳转CF=0且ZF=0
jnajump if not above不大于则跳转CF=1或ZF=1
网友 发表于 2014-1-17 20:02 static/image/common/back.gif
感谢,已经理解
页:
[1]