嘿嘿 在计算机中负数用补码表示如拥4位数则1011和1001分别表示为-5和-7
加的结果为-12已经超过了4位数的表示范围0000~1111表示的范围是0~7 -1~ -8
所以为益出
你认为的结果应该是1100是不对的 记着负数不是按原码运算的 而是按补码运算的
明白后 就给俺加分吧
汇编中OF和CF的问题
汇编中OF和CF的问题
刚学汇编,看了一眼书.
在ADD运算和SUB运算中,得到的结果似乎都是无符号运算的结果,这样的话CF的标志好确定,问题出在OF.
我看老师的课件上OF的判断是直接根据运算的结果来判断的,若两个操作数符号相同而运算结果和操作数不相同,则OF会被设置为1,可是OF不是对有符号运算的标志吗?怎么可以直接根据无符号运算结果得到呢?
举个例子:比如1011和1001相加(由于八位太麻烦了所以马虎一点用4位的),根据老师课上说将其做ADD操作得到的结果是(1)0100,产生了进位所以CF=1,由于两操作数的符号相同但运算结果与操作数不同所以OF=1.
但是如果作为有符号运算的话得到的结果应该是1100,并未产生溢出,OF怎么可以为1呢?是我的理解有错还是怎么的,忘各位大侠赐教.
刚学汇编,看了一眼书.
在ADD运算和SUB运算中,得到的结果似乎都是无符号运算的结果,这样的话CF的标志好确定,问题出在OF.
我看老师的课件上OF的判断是直接根据运算的结果来判断的,若两个操作数符号相同而运算结果和操作数不相同,则OF会被设置为1,可是OF不是对有符号运算的标志吗?怎么可以直接根据无符号运算结果得到呢?
举个例子:比如1011和1001相加(由于八位太麻烦了所以马虎一点用4位的),根据老师课上说将其做ADD操作得到的结果是(1)0100,产生了进位所以CF=1,由于两操作数的符号相同但运算结果与操作数不同所以OF=1.
但是如果作为有符号运算的话得到的结果应该是1100,并未产生溢出,OF怎么可以为1呢?是我的理解有错还是怎么的,忘各位大侠赐教.
其他人气:580 ℃时间:2020-06-22 19:14:21
优质解答
我来回答
类似推荐
猜你喜欢
- 1甲、乙两列火车同时分别从两地相对开出,经过5小时相遇后两车又按原来的速度行驶,又经过4小时甲车到达目的地.已知甲每小时比乙多行10千米,求两地相距多少千米?
- 2英语翻译
- 3简算7777×9+111×37
- 4砷位于元素周期表中第4周期VA族,下列关于它的说法正确的是
- 5一空瓶质量是200g,装满水总质量是700g,将瓶内的水倒出,在瓶内装一些金属粒,瓶和金属粒总质量是1kg,再向瓶里倒满水,瓶、水、金属粒总质量是1.41kg,求金属颗粒的密度.
- 6已知{an}是等差数列,bn=kan+m(k,m为常数).求证{bn}是等差数列
- 78.16.20这几个数字的最大公约数是多少?最大公倍数那?
- 8用质数填一填.22=_+_=_+_.
- 9五岭逶迤(腾)细浪
- 10若关于x的实系数一元二次不等式ax^2+bx+c≥0(a