zoukankan      html  css  js  c++  java
  • 关于8086 CPU中的溢出与进位判断 (转)

    http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1012&qID=28227

    针对有符号数,CPU只要在运算结束后比较一下最高位符号位是否产生变化就能判定溢出情况了!
    比如:
     11110000 
    +10001000 
    -——————                         
     01111000 即78h
    运算前,两个操作数最高位都为1,证明都是负数,而运算结果的最高位为0,符号位产生了变化,这就证明运算溢出了!
    当然这种判断只局限于(正数+正数)和(负数+负数)的运算,因为(正数+负数)是不会产生溢出的,所以CPU根本就不用进行判断。

    第二个问题:
    CPU在运算过程中是不区分有符号数和无符号数的,它只知道把所有的位都给加一遍,当然也包括所谓的符号位。运算结果出来以后再使用上面说到的办法判断是否溢出和进位了,设置相应的OF和CF!

  • 相关阅读:
    js dom
    js Number string
    jq ajax数据交互
    js date 和 math
    js中英文网页切换
    日常使用
    php求和
    empty()
    时间戳、日期相互转换
    数组转字符串之间相互转换
  • 原文地址:https://www.cnblogs.com/kanone/p/2045853.html
Copyright © 2011-2022 走看看