[解答]第二章第9題 給泓諾的~

看板CSMU-D99作者 (鉻)時間14年前 (2011/04/19 03:10), 編輯推噓4(400)
留言4則, 3人參與, 最新討論串1/1
第2章第9題詳解(很難沒一定水平的請勿看下去,這會花掉妳很多時間) 80X86 CPU 的 Overflow 狀態旗標是來指示有號數運算的結果是否有溢位。 硬體的運算法則並非由 80X86 所訂定,而是依照二進位有號數加法的理論完成的。在以8位元(=1 BYTE)所表示的有號數中,位元7(MSB)代表的是正負號,0代表正數、1代表負數,位元6~0代表大小,正數以二進位制方式表示,負數以二進位制的補數表示,因此8位元可以描述負128到正127之間的數值。 當兩8位元的有號數相加的結果有"溢位"就代表相加的結果比-128還小或比+127還大。所以,如果一正數與一負數相加,不管如何絕對不會溢位;如果兩正數相加,其結果仍然應該是正數,如果兩負數相加,其結果扔然應該是負數。如果不是,那就表示發生溢位了,80x86會設定溢位狀態旗標! 1)7FH+FFH 0111 1111 1111 1111 7F+FF=7E, 正數+負數, 絕不會溢位, 應設定 Overflow=0 2)7FH+B9H 0111 1111 1011 1001 7F+B9=38, 正數+負數, 絕不會溢位, 應設定 Overflow=0 3)72H+55H 0111 0010 0101 0101 72+55=C7, 正數+正數=負數, 正負號反轉, 代表溢位,應設定 Overflow=1 4)BFH+CFH 1011 1111 1100 1111 BF+CF=8E, 負數+負數=負數, 正負號相同, 沒有溢位,應設定 Overflow=0 我最近狂發廢文誒~不知道有沒有機會當選廢文王?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.51.139

04/19 04:23, , 1F
很優啊,推一個!!如果要寫asm的話這個是非懂不可!
04/19 04:23, 1F

04/19 09:04, , 2F
所以H是?
04/19 09:04, 2F

04/19 11:43, , 3F
第8個英文字母XD~~啊其實是hex意指16進位數字
04/19 11:43, 3F

04/19 12:29, , 4F
.....這也太晚了一點
04/19 12:29, 4F
文章代碼(AID): #1Dh8otcQ (CSMU-D99)