mov ax,8600h
mov bx,1234h
add ax,bx
结果=9834h=1001100000110100b,6个1但是pf位却是0
原因在于:
Code
Set if the least-significant byte of the result contains an even number of 1 bits;cleared otherwise.
least-significant byte最低有效字节
那么什么是最低有效位呢,对于一个W位的整数。 它的各位表达如下:[Xw-1, Xw-2, , X1, X0],它的MSB (Most Significant Byte, 最高有效字节)为[Xw-1, Xw-2, Xw-8]; LSB (Least Significant Byte, 最低有效字节)为 [X7,X6,, X0]。 其余的字节位于MSB, LSB之间。
执行结果是:AX=9834H (即1001 1000 0011 0100B) 其最低有效字节为0011 0100B,1的个数为奇数,故PF=0
--------------
以上摘自csdn killbug2004
晕了
以下是摘自《ibm pc 汇编语言程序设计-第五版》中的关于pf标志位的描述
(2)PF(奇偶标志)。包含的是算术操作后的数据项的低阶8位的检查结果。若1的个人为偶数,则清除pf为0;若1的个数为奇数,则把pf置成1.
上面据说是摘自inter的,对于这个pf有两种不同的说法
伤了