汇编语言.两有符号数运算,如何自己判断是否溢出?当of=1,sf=1,为什么实际运算结果为正?
来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/29 13:17:10
汇编语言.两有符号数运算,如何自己判断是否溢出?当of=1,sf=1,为什么实际运算结果为正?
1 汇编语言.两有符号数运算,如何自己判断是否溢出?其实有个简单的方法可以使用,即使用逻辑判断法:
即 从逻辑上看是否正确.
具体如下:当 正数+正数=负数 则逻辑上看出 是错误的 即溢出
负数+负数=正数 则逻辑上看出 是错误的 即溢出
当 正数+负数 是互相抵消的 不会产生溢出
当 正数—负数=负数 则逻辑上看出(结果应为正) 是错误的 即溢出
负数—正数=正数 则逻辑上看出(结果应为负) 是错误的 即溢出
当 正数-正数 或 负数-负数 二者是互相抵消的 不会产生溢出
嘿嘿 这种方法虽很简单 但也很使用.
2 当of=1,sf=1,为什么实际运算结果为正?给予回答如下:
说明有逻辑错误了 运算时的符号标志位sf=1 为负 实际运算结果为正 从逻辑上已经是说不通了 (因此可以判断运算出错 即溢出) 与实际的溢出标志位 of=1 相吻合.
二者不矛盾.
如果俺给你解释清楚了 就给俺加分吧 (以示鼓励)
即 从逻辑上看是否正确.
具体如下:当 正数+正数=负数 则逻辑上看出 是错误的 即溢出
负数+负数=正数 则逻辑上看出 是错误的 即溢出
当 正数+负数 是互相抵消的 不会产生溢出
当 正数—负数=负数 则逻辑上看出(结果应为正) 是错误的 即溢出
负数—正数=正数 则逻辑上看出(结果应为负) 是错误的 即溢出
当 正数-正数 或 负数-负数 二者是互相抵消的 不会产生溢出
嘿嘿 这种方法虽很简单 但也很使用.
2 当of=1,sf=1,为什么实际运算结果为正?给予回答如下:
说明有逻辑错误了 运算时的符号标志位sf=1 为负 实际运算结果为正 从逻辑上已经是说不通了 (因此可以判断运算出错 即溢出) 与实际的溢出标志位 of=1 相吻合.
二者不矛盾.
如果俺给你解释清楚了 就给俺加分吧 (以示鼓励)
汇编语言.两有符号数运算,如何自己判断是否溢出?当of=1,sf=1,为什么实际运算结果为正?
汇编语言符号位问题sf=0,of=1 说明有溢出,逻辑上真正结果的正负!=实际结果的正负因为 实际结果非负,而of说明有
无符号数运算结果CF=1,则表示溢出,有符号数OF=1表示溢出,那么CF=1是否可以说有符号和无符号均溢出呢?
带符号运算:1101+1010=[1]0111 结果溢出如何解决?
某机器字长为8位,已知[X]补=7FH,Y=-1,则进行[X]补-[Y]补运算后,符号标志位SF、溢出标志位OF分别为多
怎样根据运算数和结果的符号状态判断补码运算溢出
某机器字长8位,已知(X)补=7FH,Y=-1,则进行(X)补-(Y)补运算后,符合标志位SF,溢出标志位OF分别为多少
F=W-(X+6)-(R-9)用汇编语言写出,其中XWXR均为16位无符号数运算结果不超16位.
Z=(W*X)/(Y*6)的汇编语言,其中XYZ均为16位无符号数,运算结果不超16位
F=W-(X+6)-(R-9)用汇编语言写出,其中XWXR均为16位无符号数运算结果不超16位
汇编语言中 ADD AX,BX中AX=14C6 BX=80DC执行完这条语句后,OF怎么变化.怎样判断结果是否溢出和进位
将两个带符号数 10001000和11100110相加,判断结果是否溢出?为什么?