能力值:
( LV12,RANK:440 )
|
-
-
2 楼
楼主请注意JGE指令的含义,"或"的意思两者只要有一个满足即可。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
是..但是问题在intel手册里面直接写的就是SF=OF....
那比如SF不等于OF...那不是需要ZF=1么..为什么这个条件没有写出来...
|
能力值:
( LV12,RANK:440 )
|
-
-
4 楼
cmp ah,bh
(1)如果SF=1 and OF = 1:
OF=1,说明有溢出,逻辑上真正的结果的正负!=实际结果的正负;
SF=1,实际结果为负,这说明是由于溢出导致了结果为负,那么在逻辑上结果必然为正,
所以ah>bh
(2)如果SF=0 and OF=0:
OF=0,说明没有溢出,逻辑上真正结果的正负==实际结果的正负;
SF=0,实际结果为非负,所以逻辑上真正的结果为非负,所以ah>=bh
而其余两种情况都是ah<bh。
所以SF=OF <=> JGE
具体参看《汇编语言》第二版 王爽 225页
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
虽然 intel 的文档没有明文写出来,但必要是把 ZF 作为条件之一的:
比如:
mov eax, 10
mov ebx, 10
cmp eax, ebx ; ZF = 1
jg great ; No! (must be: ZF = 0)
jge next ; Yes, jmp
next:
....
------------------------------------------------
显然,jge 会把 ZF = 1 作为跳转条件之一
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢....
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
对于
JG 的描述是 (ZF = 0 and SF = OF)
JGE 的描述是 (SF = OF)
-------------------------------------------
这么死板,难道你就不能得到当(SF = OF and ZF = 1 )会怎样的结果吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
不是死板不死板的问题...因为他的这些设计里面隐含了很多东西的...很多逻辑...如果你光知道JGE跳转和几个标志符...那没太大意义...个人意见......
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
你写错了...ls那位说的是正解....我用OD试了一下...
|
能力值:
( LV12,RANK:440 )
|
-
-
10 楼
此时SF=0 and OF=0,何必还要去管ZF啦,这样会造成不必要的开销。
|
|
|