作者DamonF1 (..........)
看板ASM
标题Re: [问题] 请教简单flag的问题
时间Sat Dec 29 22:16:38 2007
OF的看法要看MSB有无进位(C1)以及MSB之前一位相加後的进位(C2)
C1 xor C2 = OF
ex:
1=>C2
11111111b
+ 11111111b C1 xor C2 = 1 xor 1 = 0 => OF
---------------
1 11111110b
C1
ex:
0=>C2
11111111b
+ 10000000b C1 xor C2 = 1 xor 0 = 1 => OF
---------------
1 01111111b
C1
凭我大学时的印象,不知有无错误,请大家多多指教
另外会这样的原因,应该是加法为有号位数
第一题没有溢位原因是 看成 -1+(-1)=-2 没溢位
第二题看成 -1+(-128)=-129 溢位
有错请鞭
※ 引述《rockcen (杰)》之铭言:
: 当AX = 80FFH
: ADD AL, AL
: CF = 1, OF =0
: 或者
: 当AX = 80FFH
: ADD AH, AL
: CF = 1, OF =1
: 皆有进位所以CF=1
: 请教为什麽只有第二个有overflow第一个没有呢?
: Overflow的观念不太清楚
: 请教一下~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.33.148
1F:推 loveflames:good 12/30 01:27
2F:推 rockcen:感谢 :) 01/08 21:04