xiaosawanjava 发表于 2014-8-5 22:55:55

【转】有符号跳转指令

一:有符号跳转指令


jg大于就跳转
满足条件:zf = 0 && sf == of

如果zf等1的话就表示 这个两个数相等,比如3-3 =0,那zf就等于1

下面假设的前提下zf 已经是为0了,如果zf等于1 下面不需要判断了

如果sf = 0 && of=0sf = 0 表示结果最高位为0 也就是表示结果为正数,然后 of = 0 就表示没有溢出

,代表结果本身就是正确的,所以 zf=0 && sf=0 && of=0 满足这个条件 大于就成立

如果sf = 0 && of=1sf = 0 表示结果最高位为0 也就是表示结果为正数,然后 of = 1 就表示溢出,代

表结果本身就是错误的,所以 zf=0 && sf=0 && of=1 满足这个条件 大于就不成立

如果sf = 1 && of=0sf = 0 表示结果最高位为1 也就是表示结果为负数,然后 of = 0 就表示没有溢出

,代表结果本身就是正确的,所以 zf=0 && sf=1 && of=0 满足这个条件 大于就不成立

如果sf = 0 && of=1sf = 1 表示结果最高位为1 也就是表示结果为负数,然后 of = 1 就表示溢出,代

表结果本身就是错误的,所以 zf=0 && sf=0 && of=1 满足这个条件 大于就成立




jge 大于等于就跳转
满足条件:sf== of也就是说只要保证结果是正数就行了


sf = 0 ,of = 1 表示结果是正数,然后溢出了,表示结果本身是错了, 实际结果是负数    条件不成立
sf = 0, of = 0 表示结果是正数,然后没有溢出,表示结果本身是对的, 实际结果是正数条件成立

sf = 1 ,of = 1 表示结果是负数,然后溢出了,表示结果本身是错了, 实际结果是正数    条件成立
sf = 1, of = 0 表示结果是负数,然后没有溢出,表示结果本身是对的, 实际结果是负数条件不成立






jl 小于就跳转
满足条件:sf!= of也就是说只要保证结果是负数数就行了


sf = 0 ,of = 1 表示结果是正数,然后溢出了,表示结果本身是错了, 实际结果是负数    条件成立
sf = 0, of = 0 表示结果是正数,然后没有溢出,表示结果本身是对的, 实际结果是正数条件不成立

sf = 1 ,of = 1 表示结果是负数,然后溢出了,表示结果本身是错了, 实际结果是正数    条件不成立
sf = 1, of = 0 表示结果是负数,然后没有溢出,表示结果本身是对的, 实际结果是负数条件成立



jle 小于等于就跳转
满足条件:zf = 1 || sf!= of只要zf=1就绝对不是大于


cable5881 发表于 2014-8-7 19:29:44

ewewewewewewew

cable5881 发表于 2014-8-7 20:31:35

jijiiji

网络学习 发表于 2014-8-8 00:28:44

让幸福如雨,洒在您心间
页: [1]
查看完整版本: 【转】有符号跳转指令