汇编中,溢出标志和进位标志有什么区别??

源码码头 论文问答 1

请问,在80x86汇编中提到的溢出标志和进位标志,这两者有什么区别啊??搞不明白啊

回复

共4条回复 我来回复
  • 毕设客栈
    这个人很懒,什么都没有留下~
    评论

    溢出是针对有符号数来说的,无符号数没有溢出问题,溢出标志OF和进位标志CF是两个意义不同的标志:

    • 进位标志表示的是无符号数运算结果是否超出范围,但运算结果仍然正确

    • 而溢出标志表示的是有符号数运算结果是否超出范围,运算结果已经不正确

    0条评论
  • 源码港湾
    这个人很懒,什么都没有留下~
    评论

    因为有符号数和无符号数的情况处理不一样,需要有溢出和进位两个标志配合才能区分. 以8位二进制为例,有符号数,最高位7位为符号位,第6-0位的数据溢出时是到溢到符号位的,而符号位再有溢出才会置进位,;对无符号数,你还要看进位位,不用关心溢出位.

    0条评论
  • 毕设驿站
    这个人很懒,什么都没有留下~
    评论

    都是cf,溢出是结果位数超过了当前寄存器的最大数位,cf存储的不一定是进位。进位是指产生了进位。有进位不一定数据无效,溢出数据一定无效。

    0条评论
  • 代码工坊
    这个人很懒,什么都没有留下~
    评论

    溢出标志是OF,表示有符号数运算结果是否超出范围,运算结果已经不正确 进位标志是CF,表示无符号数运算结果是否超出范围,运算结果仍然正确

    0条评论

发表回复

登录后才能评论