鱼C论坛

 找回密码
 立即注册
查看: 2554|回复: 5

PF标志的一个问题?

[复制链接]
发表于 2012-1-20 12:43:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
书上说PF标志位是,奇偶标志位,记录相关指令执行后,其结果的所以bit位中1的个数是否为偶数。如果1的个数为偶数,PF=1,如果为奇数,那么PF=0.
比如,指令
mov al,1
add  al,10
执行后的结果为00001011B,其中有3个1,则PF=0

我再举一个例子
比如
sub  al,al
mov al,1
先执行sub al,al ,al=00000000,则PF=1,再执行mov al,1之后,其结果为al=00000001,其中有1个1,则PF应该等于0,但书上的答却是PF=1,不清楚这是什么原因,帮忙解答一下,谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-20 13:02:38 | 显示全部楼层
MOV 传送指令 不影响标志位 你应该看上面的 减法指令  sub  al,al
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-20 13:06:30 | 显示全部楼层
同上。。传送指令不影响标志位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-20 13:19:30 | 显示全部楼层
我知道,书上是说mov不会改变标志寄存器,但是总觉得,这和PF的定义相矛盾(PF标志位是,奇偶标志位,记录相关指令执行后,其结果的所以bit位中1的个数是否为偶数),因为,mov al,1 也会产生一个结果al=00000001
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-20 17:11:59 | 显示全部楼层

你这有点较真,mov不改变标志寄存器,PF无视mov指令。它无视了都,还管你有几个0几个1啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-20 18:18:17 | 显示全部楼层
学习谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 18:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表