假設AX = 8FFE和BX = 0FFF
現在,如果我們寫現在符號標誌和溢出標誌根據預期
Cmp ax,bx
在這一點上會發生什麼事是,源(BX)將不工作從目的地(ax)中減去並且適當的標誌將被更新。由於計算機以2的補碼形式表示每個數字,因此8FFE是某個數字的2的補碼。0FFF是某個數字的2的補碼。
正如在2的補碼中減法是通過加法實現的,所以我們通過將它們轉換成二進制來添加這兩個數字。
8FFE----------> 1000 1111 1111 1110
0FFF----------> 0000 1111 1111 1111
--------------------------------
1001 1111 1111 1101
現在這是十六進制9FFD的結果。
正如您所看到的,沒有發生溢出並且符號位是結果1。
問題:這個想象力的符號標誌應當設置和溢出標誌
應該保持0,我在調試器中檢查了這一點,但我發現它
即 對面,符號標誌保持爲0和溢出標誌是1. 現在請告訴我爲什麼
發生?
你忘了補充BX。 – starblue 2010-05-24 15:04:46
謝謝先生,我明白你的觀點,我現在沒有困惑 – 2010-05-24 18:50:10