PF标志的一个问题?
书上说PF标志位是,奇偶标志位,记录相关指令执行后,其结果的所以bit位中1的个数是否为偶数。如果1的个数为偶数,PF=1,如果为奇数,那么PF=0.比如,指令
mov al,1
addal,10
执行后的结果为00001011B,其中有3个1,则PF=0
我再举一个例子
比如
subal,al
mov al,1
先执行sub al,al ,al=00000000,则PF=1,再执行mov al,1之后,其结果为al=00000001,其中有1个1,则PF应该等于0,但书上的答却是PF=1,不清楚这是什么原因,帮忙解答一下,谢谢。
MOV 传送指令 不影响标志位 你应该看上面的 减法指令subal,al
同上。。传送指令不影响标志位 我知道,书上是说mov不会改变标志寄存器,但是总觉得,这和PF的定义相矛盾(PF标志位是,奇偶标志位,记录相关指令执行后,其结果的所以bit位中1的个数是否为偶数),因为,mov al,1 也会产生一个结果al=00000001 Brave_heart 发表于 2012-1-20 13:19 static/image/common/back.gif
我知道,书上是说mov不会改变标志寄存器,但是总觉得,这和PF的定义相矛盾(PF标志位是,奇偶标志位,记录相 ...
你这有点较真,mov不改变标志寄存器,PF无视mov指令。它无视了都,还管你有几个0几个1啊。 学习谢谢了
页:
[1]