汇编中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呢?是我的理解有错还是怎么的,忘各位大侠赐教.
其他人气:580 ℃时间:2020-06-22 19:14:21
优质解答
嘿嘿 在计算机中负数用补码表示如拥4位数则1011和1001分别表示为-5和-7
加的结果为-12已经超过了4位数的表示范围0000~1111表示的范围是0~7 -1~ -8
所以为益出
你认为的结果应该是1100是不对的 记着负数不是按原码运算的 而是按补码运算的

明白后 就给俺加分吧
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版