如果我有下表:
Case 1: x: 42 y: -15 (y-x) = -57
Case 2: x: -17 y: -17 (y-x) = 0
Case 3: x: 0x7ffffffd y: -67 (y-x) = 2147483584
Case 4: x: 67 y: -0x7fffffffd (y-x) = 2147483584
ZF
SF
OF
条件代码标志会设置什么(每个标志为零或一个)CF
在考虑指令时:cmp1 %eax %ecx
如果%eax
包含x
和%ecx
包含y
?
我了解这cmp1 ...,...
是由以下人员执行的:cmp1 SRC2,SRC1
这意味着:“设置条件代码SRC1
- SRC2
”
我了解这些标志代表:
OF = overflow (?)
ZF = zero flag i.e. zero...
CF = carry out from msb
SF - sign flag i.e. negative
对于表中的四个案例,我相信标志将是:
1) ZF = 0 SF = 1 CF = 0 OF = ?
2) ZF = 1 SF = 0 CF = 0 OF = ?
3) ZF = 0 SF = 0 CF = 1 OF = ?
4) ZF = 0 SF = 0 CF = 1 OF = ?
我对么?请解释什么CF
和OF
是以及如何确定是否将设置为 TRUE,并纠正我的任何有缺陷的理解。谢谢你。