作者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