本文主要是介绍带借位的减法指令sbb,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先看下面一段一段指令
左边的eax值很明显是0,那右边的eax值是多少呢?第一反应应该不是0,否则不会做test判断(经过右边的两次sbb运算eax的值为1或者-1)
分析过程:
第一种情况cf=1
1、sbb eax,eax 结果:eax=0xFFFFFFFF(-1) cf=1
2、sbb eax,0xFFFFFFFF 结果:eax=0xFFFFFFFF(-1) cf=1
第二种情况cf=0
1、sbb eax,eax 结果:eax=0 cf=0
2、sbb eax,0xFFFFFFFF 结果:eax=1 cf=1
使用OD调试修改cf值为1或0,实际运行结果和分析一致。
这篇关于带借位的减法指令sbb的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!