汇编中,溢出标志和进位标志有什么区别??
论文问答
1
请问,在80x86汇编中提到的溢出标志和进位标志,这两者有什么区别啊??搞不明白啊
-
溢出是针对有符号数来说的,无符号数没有溢出问题,溢出标志OF和进位标志CF是两个意义不同的标志:
-
进位标志表示的是无符号数运算结果是否超出范围,但运算结果仍然正确
-
而溢出标志表示的是有符号数运算结果是否超出范围,运算结果已经不正确
-
-
因为有符号数和无符号数的情况处理不一样,需要有溢出和进位两个标志配合才能区分. 以8位二进制为例,有符号数,最高位7位为符号位,第6-0位的数据溢出时是到溢到符号位的,而符号位再有溢出才会置进位,;对无符号数,你还要看进位位,不用关心溢出位.
-
都是cf,溢出是结果位数超过了当前寄存器的最大数位,cf存储的不一定是进位。进位是指产生了进位。有进位不一定数据无效,溢出数据一定无效。
-
溢出标志是OF,表示有符号数运算结果是否超出范围,运算结果已经不正确 进位标志是CF,表示无符号数运算结果是否超出范围,运算结果仍然正确
发表回复