1樓:帳號已登出
計算機實際是檢查最高兩位的進位是否相同來判斷的。
如果進位相同,不溢位,不同則溢位。
計算機通過兩個進位異或首帆運算決定of的值的,下面給與證明。
兩個補碼相加,1.對於最高位都是1的相加,最高位必然有進位,最高位如果變為0,那麼溢位,等價於,最高位有進位,次高位無進位,發生溢位。
最高位如果變為1,那麼不溢位,等價於,最高位有進位,次高位有進位,不發生溢位。
2.對於最高位都是0的相加。
最高位如果變為1,那麼溢位,等價於,最高位無進位,次高位有進位,發棚凳生溢位。
最高位如果還為0,那麼不溢位,等價於,最高位無進位,次高位無進位,不發生溢位。
3.最高位乙個是0乙個是1的相加,最高位如果變為0,那麼不溢位,等價於,最高位有進位,次高位有進位,不發鏈芹旅生溢位。
最高位如果變為1,那麼不溢位,等價於,最高位無進位,次高位無進位,不發生溢位。
綜上所述,次高位進位xor最高位進位=0,of=0
次高位進位xor最高位進位=1,of=1
2樓:做而論道
mov al,7dh add al,0bh al=88h of為1溢吵則鎮出。
-7dh + 0bh = 88h。
---兩個正數相加,和,是負數!---不符合正常公升粗的邏輯關係,當然,就是溢位了。
有符號數表達的範圍是 -127-128之間。
是以al=88h =136 所以溢位了嗎?
---對的。88h的補碼120,還盯唯是根據他的補碼判斷 補碼沒有溢位啊。
---88h,已經就是補碼。---補碼 120? 沒有的事!
3樓:咎愷載念雲
如果,兩個數都是吵枝正數,那麼相加導致溢位,也只有進位了,如果是有符號,add彙編指令中溢位。
這個是跟據符遲碰擾號位判斷的。
如果是1表示溢位。
反之亦然。88h
二進碼旦製表示為10001000
最高位是1所以,表示溢位!
彙編8086中的of溢位標誌怎麼判斷?它的準確定義是什麼?
4樓:做而論道
首先,要知道,什麼是溢位?
一般來說,容器太小,盛不下了,就會溢位。
在計算機方面,溢位,就是資料太大,超出了預定的範圍。
數字,在計算機中,都是用機器碼。
代表的。人們祥握最常用的「自然數」和「整數」,其表達範圍如下:
機器碼,無論代表什麼數字,只要運算結果超出預定範圍,就是【溢位】。
但是,在計算機專業。
人的嘴裡,就不一樣了。
【無符號數的溢位】,不叫溢位,要叫做【進位】。
【帶符號數的溢位】,才叫做【溢位】。
搞計算機的這些人,基本概念不清,卻自命不凡!
冒充腦回路清奇。。。正常人對此,就只能無語了。
-謹畝慶---
那麼,就按照計算機專業的說法吧:
溢位,是指「補碼運算結果超出範圍」。
溢位的特徵,是「符號錯誤」。
知道了這些,判斷是否溢位,耐扮就很容易了。
cpu 每次做完運算,就會給出結果和「進位標誌位 cf」和「溢位標誌位 of」。
如果 of=1,就代表:剛剛做的計算,發生了溢位。
人工判斷是否溢位,有如下六個方法。
一、無符號數的運算,肯定不會溢位。只有進位。
二、只有:正+正、負+負,才有可能超出範圍。不是這些,就絕不會溢位。
三、人工用十進位。
數值計算。和,如果沒有超出範圍,就沒有溢位。
四、人工用二進位補碼。
計算。和的符號,如果正確,就沒有溢位。
五、編個程式,讓計算機計算。然後觀察溢位標誌位,為零,就沒有溢位。
六、人工用補碼計算,如「最高位的進位」和「次高位的進位」相同,就沒有溢位。
第六種,本是 cpu 的硬體所用的方法。
硬體,其理論基礎,是很晦澀難懂的。
異或運算,一般也不需要初學者掌握。
但是,一些愛得瑟的老師,偏愛介紹這種方法。
卻又拿不出任何的理論!
其實,這是很無聊的表現,就是想著難為學生。
5樓:枝其
溢位標誌of(overflow flag) 溢位標誌of用於反映有符號數加減運算所得結果是否溢位。如果猜搏運算結果超過當前運算位數所能表示的範圍,則老兆簡稱為溢位,of的值被置為1,否則,of的值被清為是侍褲溢位標誌位,sf是符號標誌位。 -
彙編8086中的of溢位標誌怎麼判斷?它的準確定義是什麼
6樓:做而論道
什鄭旅麼是溢位?
溢位,是通用的詞彙,其意不言自明。
在計算機領域,是指資料的大小,超出了編碼所能表示的範圍。
不僅是補碼計算,任何形式的計算,都可能產生溢位。
比如:1999 年、2000 年 ..這是用 4 位十進位表示。
當到了 9999 年,再過一年,你如果還用 4 位表示,就會溢位了。
**號碼,由 7 位公升到 8 位,就是因為 7 位的編碼不夠用了。
如果不限制編碼的位數,那就不存在溢位的問題。
兩種常用的數字,在計算機中,都是用機器碼代表的。其範圍如下:
機器碼,無論代表什麼數字,只要運算結果超出範圍,就是【溢位】。
但是,在計算機專業人的嘴裡,就不一樣了。
【無符號數的溢位】,不叫溢位,要叫做【進位】。
【帶符號數的溢位】,才叫做【溢位】。
搞計算機的這些人,基本概念不清,卻又自命不凡!
冒充腦回路清奇。。。
正常人對此,就只能無語了。
就按照計算機專業的說法吧:
溢位,是指「補碼運算結果超出範圍」。
溢位的特徵,是「符號錯誤」。知道了這些,判斷是否溢位,就很容易了。
一、無符號數的運算,肯定不會溢位。只有進位。
二、如果不是:正+正、負+負、正-負、負-正,肯定就不會溢位。
三、你人工計算數值。結果,如果沒有超出範圍,就沒有溢位。
四、你人工計算補碼。和的符號,如果正確,就沒有溢位。
五、你編個程式,讓 cpu 計算。觀察溢位標誌位,為零,就沒有溢位。
六、你人工用補碼計算,如「最高位的進位」和「次高位的進位」相同,就沒有溢位。
第六種,本是 cpu 中硬體所用的方法。
硬體,其理論基礎,是很晦澀難懂的。
異或運算,一般也不需要初學者掌握。
但是穗含,一些愛得瑟的老師,偏愛介紹這種方法。
卻又拿不出任何的理論!喊族凳其實,這是很無聊的表現。
其目的,顯然就是想要難為學生。
彙編8086中的of溢位標誌怎麼判斷?它的準確定義是什麼?
7樓:改本景翠巧
溢位標誌of(overflow flag)
溢位標誌of用於反映有符號數加減運算所得結果是否溢位。如果運算結果超過當前運算位數所能表示的範圍,則稱為溢位,of的值被置為1,否則,of的值被清為0.
of是溢位標誌位,sf是符號標誌位。
1.如果of為零,說明沒有溢位,那麼邏輯上真正的結果的正負等於實際結果的正負。
如果sf為1,那麼實際結果為負,所以邏輯上真正的結果為負。
2.如果of為1,說明有溢位,那麼邏輯上真正的結果的正負不等於實際結果的正負。
如果sf為0,那麼實際結果為正,由前面「邏輯上真正的結果的正負不等於實際結果的正負」可知,邏輯上真正的結果應該為負。
可得出結論:如果因為溢位導致了實際結果為正,那麼邏輯上真正的結果必然為負。
十進位。十六進位。
mov al,-45 mov al,d3
add al,-100 add al,9c
al的值應為-145, al的值為 6f(111) ,二進位。
表示為01101111,8位二進位能表達的資料範圍-128至127,of=1 因此,sf=0,因為溢位導致了實際結果為正,3.如果of為1,說明有溢位,那麼邏輯上真正的結果的正負不等於實際結果的正負。
如果sf為1,那麼實際結果為負,由前面「邏輯上真正的結果的正負不等於實際結果的正負」可知,邏輯上真正的結果應該為正。
可得出結論:如果因為溢位導致了實際結果為負,那麼邏輯上真正的結果必然為正。
十進位 十六進位。
mov al,45 mov al,2d
add al,100 add al,64
al的值應為145, al的值為 91h ,二進位表示為1001 0001,8位二進位能表達的資料範圍-128至127,of=1 因此,sf=1因為溢位導致了實際結果為負。
0110 1111(111的補碼。
1001 0000(取反了)
1001 0001(加1了,得到-110的補碼)即91h
4.如果of為0,說明沒有溢位,那麼邏輯上真正的結果的正負等於實際結果的正負。
如果sf為0,實際結果正,所以邏輯上真正的結果正。
8樓:做而論道
彙編 8086 中的 of 溢位標誌怎麼判斷?
在彙編中,還能怎麼判斷!!!
當然是用指令來判斷了。
在 8086 組合語言中,有兩條指令:jo、jno。
jo,是 of=1 轉移;jno,是 of=0 轉移。你使用這兩條指令,就可以判斷 of 標誌位了。
of 的準確定義是什麼?of 是「overflow flag」的縮寫。
想要明白什麼是「of」,你得先理解什麼是「溢位」。
想要明白什麼是「溢位」,你得先理解什麼是「補碼」及其「表示範圍」。
此外,兩數相乘,如乘積較大,of 就可以是 1。
除數太小(或者為零),商過大,of 就可以是 1。
說來話長。這些,書上都寫了。
你還是自己慢慢理解吧。
怎麼判斷寶寶冷熱啊在空調房裡,怎麼判斷
寶寶不會說話,判斷寶寶有沒有生病第一看精神狀態,第二摸摸額頭,看有沒有發燒,第三看吃飯和排便拉粑粑是不是正常的。怎麼判斷寶寶在空調房冷還是熱 寶寶本身體積小散熱快,所以理論上穿衣都比大人多一件就好了。我家現在判斷小孩是不是冷就是摸手,手不熱乎有點涼就需要加衣服了。判斷熱就是摸後背,從脖子伸進去摸有點...
怎麼判斷男生是不是把你當哥們啊,如何判斷男生是把你當哥們還是喜歡你?
你其實可以對他表達你的這種疑問 如果是哥們,他不會建議 如果喜歡你,他更不會建議 怎麼判斷?勾肩搭背卻不上你,就是把你當哥們 讓他送你去漢庭,答案自然揭曉 如何判斷男生是把你當哥們還是喜歡你?真的是喜歡的話 會和你告白的 會告訴你 他的心意的 開有沒有和你提開房的事,如果提了就是喜歡你,不然就是當個...
怎麼看狗狗大小啊!怎麼判斷狗狗多大
聽狗狗的叫聲,不像一般的狗那樣叫有些像啊啊的聲音就說明還小。再看看狗狗的爪子,爪子是肉粉色的說明還小沒走多少路呢。怎麼判斷狗狗多大 摘要。親親 很高興為您解答 判斷狗狗多大是觀察牙齒zui簡單直接的方法就是通過觀察狗狗的牙齒數量來判斷狗狗的年齡。幼年狗隻有顆牙齒,而成年犬有顆牙齒。觀察毛髮這個方法的...