查看: 10363|回复: 4

[转]51单片机PSW之CY与OV的联系与区别

[复制链接]
  • TA的每日心情
    慵懒
    2014-11-28 09:29
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2014-11-20 17:26:52 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 小菜儿 于 2014-11-20 17:28 编辑

    [转]51单片机PSW之CY与OV的联系与区别

    1.先从计算机存储的机制说起:

    直接说有符号数,先说一个字节的的补码表示范围为-2^7~(2^7-1),即-128~127。

    当X>0时,X[原码]=[反码]=[补码];

    当X=0时,存在[+0]和[-0]两种表示形式,[+0]原=0000 000,[+0]反=0000 0000,[+0]补=0000 0000

    [-0]原=1000 000,[-0]反=1111 111,[-0]补=0000 0000

    当X<0时:

    a.负数的原码:最高位D7为1,剩余D6~D1为其绝对值二进制表示。 例如:-1的原码为1000 0001;

    b.负数的反码:最高位D7仍保留为1,剩余D6~D1为其绝对值二进制按位取反。例如:-1的反码为1111 1110;

    c.负数的补码:补码为对应反码加1。例如:-1的补码为1111 1111。

    有符号数在计算机中是以补码形式存在的。


    QQ截图20141120172610.png

    总结:当X<0时,X[补码]=256-|X|=255--|X|+1=1111 1111--|X|+1=X[反码]+1,256为一个字节的模的大小,为2^8。

    原码表示范围:最小值:1111 1111=-127,最大值为0111 1111为+127,故范围为-127~(+127),其中包括[+0]原和[-0]原,共2^8个数;

    反码表示范围:最小值:1000 0000=-127,最大值为0111 1111为+127,故范围为-127~(+127),其中包括[+0]反和[-0]反,共2^8个数;

    补码表示范围:最小值按理来说应该是1000 0001=-127,但因为[+0]补=[-0]补=0000 0000,从-127~+127共255个数,少一个数怎么办呢?-1的补码是确定无异的,为1111  1111,-128作为一个字节所能表示的有符号数的最小值,应是1111  1111(-1)一直减1得到的,所以-128的补码为1000 0000。

    2.结合51单片机,重点对程序状态字PSW之中的CY和OV位进行分析


    51单片机之PSW位
    QQ截图20141120172602.png

    PSW作为一个8位的特殊功能寄存器,记录了当前有关CPU状态的各种信息,分为两类:一类是当前指令执行结果的状态信息,如CY/AC/OV/P;另一类是存放控制信息,如RS1/RS0/F0。先介绍除了CY+OV之外的标志位:

    AC(PSW.7)辅助进位标志:当进行加法或减法操作而产生低四位向高四位进位或者借位时,AC将被硬件置位(AC=1),否则清零(AC=0),AC主要用于二-十进制加法调整;

    F0(PSW.5)用户标志位:是用户自定义的一个标志位,可以用软件置位或者清零,常用来控制程序的流向;

    RS1、RS0(PSW.4、PSW.3)工作寄存器选择控制标志:可以软件置1或者清零来确定工作寄存器区;

    P(PSW.0)奇偶标志位:每个指令周期都由硬件来置位或者清零,以表示累加器A中1的位数的奇偶数。如果位数为奇数,则P=1,如果值为1的个数为偶数,则P=0.  


    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-11-21 09:31:06 | 显示全部楼层
    说的很清楚透彻。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-1-15 13:10:08 | 显示全部楼层
    说的很清楚透彻
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-7-25 22:49
  • 签到天数: 385 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-8-11 22:51:17 | 显示全部楼层
    楼主太好了,支持一下!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-3-16 12:22:44 | 显示全部楼层
    说不明白IDWEW
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-12 07:42 , Processed in 0.159765 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.