汇编关于jna和jnb指令是如何判断的思考
本帖最后由 肖-肖 于 2021-4-10 14:34 编辑我们都知道je指令是根据:ZF=1来判断并执行跳转的.
但是我们见到的jna和jnb是根据什么来跳转的呢?这不值得想一下吗?
我想的是:
jna:
无符号数判断-》不大于-》小于或等于-》小于:CF=1-》等于ZF=1-》所以不大于的判断就是:CF=1或ZF=1
jnb:
无符号数判断-》不小于-》大于或等于-》大于:CF=0-》等于ZF=1-》所以不小于的判断就是:CF=0或ZF=1
上面是我自己想的,不知道对不对,小甲鱼老师没讲,好像前面有个总结,但是我忘了具体是哪了,我想自己想想!
所以我也不知道对不对,请帮我验证下.
如果不对,请帮忙写下正确的推导过程!谢谢 https://www.intel.cn/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf
人造人 发表于 2021-4-10 15:06
https://www.intel.cn/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software- ...
a和b,两个数只有3种关系
a > b
a = b
a < b
不小于就是大于或等于
你要看清楚,是 CF = 0,就是不能产生进位和借位
a > b 时 a - b 没有产生进位和借位
a = b 时 a - b 也没有产生进位和借位
a < b 时 a - b 产生了借位
有一个cf就够了,你非要加一个zf不是说不行,只是多余了,没必要
人造人 发表于 2021-4-10 16:27
a和b,两个数只有3种关系
a > b
a = b
哦哦 原来如此 确实如你所说 {:5_95:} {:10_277:} {:10_261:}
页:
[1]