肖-肖 发表于 2021-4-10 14:29:20

汇编关于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
上面是我自己想的,不知道对不对,小甲鱼老师没讲,好像前面有个总结,但是我忘了具体是哪了,我想自己想想!
所以我也不知道对不对,请帮我验证下.
如果不对,请帮忙写下正确的推导过程!谢谢

人造人 发表于 2021-4-10 15:06:48

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 16:17:17

人造人 发表于 2021-4-10 15:06
https://www.intel.cn/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software- ...

人造人 发表于 2021-4-10 16:27:20

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:40:21

人造人 发表于 2021-4-10 16:27
a和b,两个数只有3种关系
a > b
a = b


哦哦 原来如此 确实如你所说

hornwong 发表于 2021-4-11 12:16:54

{:5_95:}

盛世呀 发表于 2021-4-24 21:47:41

{:10_277:}

goddnsfc 发表于 2021-4-25 07:49:57

{:10_261:}
页: [1]
查看完整版本: 汇编关于jna和jnb指令是如何判断的思考