对不起,我问一个关于汇编方面的知识。能不能问一下,进位和溢出到底区别在哪里呢?谢谢大家了!

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:39:29
书上说,进位标志表示的是无符号数的运算结果是否超出范围,运算结果仍然正确;而溢出标志表示的是有符号数的运算结果是否超出范围,但运算结果已经不正确。为什么前者正确,后者不正确?反正我是理解不了。大家能帮帮我吗?谢谢大家。

进位标志 只是用在加法中
而溢出标志 用在减法中

假设:
两个十六位数相加.
80+A0
1000 0000
+ 1010 0000
--------------
=(1)0010 0000

前面的(1),表示进位了.所以进位标志置1.

又假设:
两个16位数相减
80-A0
1000 0000
- 1010 0000
-------------------
= 1110 0000
其实是前面借了一位,而1110 0000在无符号数中表示的是E0,所以结果是错误的.故置溢出标志为1,表示已经溢出.

明白了?