汇编指令JP JNP什么时候使用?
2个回答
展开全部
这两条指令是PSW(程序状态字)里面PF标志寄存器使用的...
PF(奇偶标志:反映运算结果低8位中“1”的个数。“1”的个数为偶数,则PF置1,否则置0)
如果PF为1则JP跳转指令可以跳转到目标位置 JNP相反..
参考资料:标志寄存器 百度百科 Win32汇编跳转指令
PF(奇偶标志:反映运算结果低8位中“1”的个数。“1”的个数为偶数,则PF置1,否则置0)
如果PF为1则JP跳转指令可以跳转到目标位置 JNP相反..
参考资料:标志寄存器 百度百科 Win32汇编跳转指令
更多追问追答
追问
使用PF位做什么用呢?
比如:cmp ax,bx
ja xxx ;ax高于bx时转移
那么,JP的前一个指令时什么呢?表示什么意思呢?
追答
用来表示CPU的状态的...有的时候可以通过鉴别标志位来实现跳转 ..就这样..还有什么叫JP前一个指令?不懂...我只知道关于PF还有两个指令 JPE和JPO
JPE是奇偶位相等则跳转 JPO是不相等则跳转
你说的 cmp ax,bx ja xxx 是吧 ..cmp是不保存结果的减法指令...只影响标志位(PSW)..ja是大于则跳转 ..这个时候要看ax和bx那个大 如果ax > bx 则 ja 跳转到目标 xxx处 如果小于呢 就无视 ja xxx
这条指令继续执行下一条 ...个人感觉 这个相当于 C++ 中的 if ...
具体的你可以去看一下王爽的汇编语言 第二版 第十一章 标志寄存器 PF标志 (214页)
还有百度搜索 Win32汇编跳转指令 第一条就是这个 .
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询