人人范文网 范文大全

语言溢出小结

发布时间:2020-03-02 21:45:05 来源:范文大全 收藏本文 下载本文 手机版

汇编语言溢出小结

汇编溢出使用总结如下:

执行加法指令ADD:

OF标志位根据操作数的符号及其变化情况来设置:若两个操作数的符号相同,而结果的符号与之相反时,OF=1,否则OF=0。溢出位既然是根据数的符号及其变化来设置的,当然他使用来表示带符号数的溢出的。

执行减法指令SUB:

减法的OF位的设置方法为:若两个数的符号相反,而结果的符号与减数的符号相同,则OF=1,除上述情况外OF=0。OF=1说明带符号数的减法运算结果是错误的。

求补运算指令NEG:

NEG指令的条件码按求补后的结果设置,只有当操作数为0时,求补运算结果使CF=0,其他情况均为CF=1.所以,只有当字节运算时对-128求补,以及字运算时对-32768求补和双字运算时对-2的31次方求补的情况下OF=1,其他则OF=0。

无符号乘法指令MUL:

对于MUL指令,如果乘积的高一半为0,几字节操作的(AH)或字操作的(DX)或双字的(EDX)为0,则CF位和OF位均为0;否则,均为1.

带符号数乘法指令IMUL:

对于IMUL指令,如果乘积的高一半是低一半的符号扩展,则CF位和OF位均为0,否则为1.

除法指令:

除法指令对所有条件码位均无定义。但是需要注意一个问题,如果字节操作时,被除数的高8位的绝对值》除数的绝对值;或者字操作时,被除数的高16为绝对值》除数的绝对值,则商就会产生溢出。在8086系统中,这种溢出是由系统直接转入0型中断处理的。为避免这种情况,必要时程序应进行溢出判断及处理。

逻辑运算指令:

AND,OR,NOT,XOR,TESTT中,NOT不影响标志位,其他4种指令将使CF位和OF位为0.

移位指令:

OF位只有当移位次数CNT=1时,即移动一位的时候才是有效的,否则该位无定义。当CNT=1时,在移位后最高有效位的值发生变化时(原来为0,移位后为1;或原来为1,移位后为0)OF=1,否则值为0.

串处理指令:

MOVS,LODS,STOS,INS,OUTS不影响标志位。

转移指令:

所有条件转移指令都不影响条件码,JMP也不影响条件码。

循环指令:

不影响条件码。

子程序:

CALL和RET都不影响条件码。

判断运算结果是否溢出的一个简单的规则:只有当两个相同符号数相加,而运算结果的符号与原数据符号相反时,产生溢出,此时的运算结果显然不正确。其他情况下,则不会产生溢出。

两个正数相加(或一个正数减一个负数)得到负数,或是两个负数相加得到正数,就是溢出了.一个正数和一个负数相加不可能溢出。

C语言小结

语言组小结

语言组小结

语言教研组小结

幼儿园语言测评小结

“造型语言”课程小结

色彩图示语言小结

C语言小结2

大班语言教学小结

个工作小结语言

语言溢出小结
《语言溢出小结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 视听语言小结 小结
点击下载本文文档