汇编语言,什么时候会出现CF=1或ZF=1 的情况?? 10
无符号数运算中:CF=1或ZF=1是对象1≤对象2但是在真正的程序执行中,什么样才叫“CF=1或ZF=1”?我能想到ZF=0说明二者相等的例子,CF=1说明对象1比2小的...
无符号数运算中:
CF=1或ZF=1 是 对象1≤对象2
但是在真正的程序执行中,什么样才叫“CF=1或ZF=1”?
我能想到ZF=0说明二者相等的例子,CF=1说明对象1比2小的例子
但是什么叫“CF=1或ZF=1”的情况??
请大佬举例说明一下,谢谢 展开
CF=1或ZF=1 是 对象1≤对象2
但是在真正的程序执行中,什么样才叫“CF=1或ZF=1”?
我能想到ZF=0说明二者相等的例子,CF=1说明对象1比2小的例子
但是什么叫“CF=1或ZF=1”的情况??
请大佬举例说明一下,谢谢 展开
1个回答
展开全部
MOV AL, NUM ;AL=19H
CMP AL, NUM + 1 ;19H-98H: ZF=0, CF=1, OF=1; SF=1
JA ... -----CF=0 且 ZF=0,不满足条件,不转移
JG ... -----SF=OF且 ZF=0,满足条件,转移
JA ... -----大于转移,是针对无符号数的
JG ... -----大于转移,是针对有符号数的
如果是无符号数,19H 就小于 89H。
如果是有符号数,19H 就大于 89H。因为 89H 是负数。
CMP AL, NUM + 1 ;19H-98H: ZF=0, CF=1, OF=1; SF=1
JA ... -----CF=0 且 ZF=0,不满足条件,不转移
JG ... -----SF=OF且 ZF=0,满足条件,转移
JA ... -----大于转移,是针对无符号数的
JG ... -----大于转移,是针对有符号数的
如果是无符号数,19H 就小于 89H。
如果是有符号数,19H 就大于 89H。因为 89H 是负数。
追问
CF=1或ZF=1 这个情况是只是用来判断jna跳转的吗?只是逻辑上存在,只要两个满足一个就可以的意思?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询