2013-02-08 61 views
0

我剛開始學習X86彙編語言。調試DOS程序查看內存

我的疑問 -

當我使用的是DOS DEBUG程序來看看內存位置,我正在研究使用兩種不同的段相同的存儲空間越來越略有不同的值:偏移地址。 I-

是不是D 40[0]:17D 41[0]:7應該給出完全相同的輸出?因爲他們都在增加segment + offset = 400+17 = 410+7 = 417H

這是我得到的結果給同一個地址 - (注意它們之間略有差別)

-D 40:17 
0040:0010      00-00 00 1E 00 1E 00 0D 1C   ......... 
0040:0020 44 20 20 39 34 05 34 05-3A 27 39 0A 0D 1C 44 20 D 94.4.:'9...D 
0040:0030 20 39 34 05 30 0B 3A 27-31 02 37 08 0D 1C 00 00 94.0.:'1.7..... 
0040:0040 93 00 C3 00 00 00 00 00-00 03 50 00 00 10 00 00 ..........P..... 
0040:0050 00 18 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 
0040:0060 0F 0C 00 D4 03 29 30 00-00 00 00 00 91 DA 10 00 .....)0......... 
0040:0070 00 00 00 00 00 00 08 00-14 14 14 14 01 01 01 01 ................ 
0040:0080 1E 00 3E 00 18 10 00 60-F9 11 0B 00 50 01 00 00 ..>....`....P... 
0040:0090 00 00 00 00 00 00 10        ....... 
-D 41:7 
0041:0000      00-00 00 2C 00 2C 00 44 20   ...,.,.D 
0041:0010 20 39 34 05 31 02 3A 27-37 08 0D 1C 0D 1C 44 20 94.1.:'7.....D 
0041:0020 20 39 34 05 30 0B 3A 27-31 02 37 08 0D 1C 00 00 94.0.:'1.7..... 
0041:0030 08 00 C3 00 00 00 00 00-00 03 50 00 00 10 00 00 ..........P..... 
0041:0040 00 18 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 
0041:0050 0F 0C 00 D4 03 29 30 00-00 00 00 00 1C DB 10 00 .....)0......... 
0041:0060 00 00 00 00 00 00 08 00-14 14 14 14 01 01 01 01 ................ 
0041:0070 1E 00 3E 00 18 10 00 60-F9 11 0B 00 50 01 00 00 ..>....`....P... 
0041:0080 00 00 00 00 00 00 10        ....... 

回答

3

您正在尋找在BIOS數據區域,其內容隨時間的變化,因爲它包含諸如shift/control/alt鍵的狀態,鍵盤緩衝區和計時器的讀/寫位置等內容。

+0

那麼我是否正確地認爲40:17和41:7指向相同的內存位置? – 2013-02-08 11:37:12

+0

爲什麼假設? CPU文檔明確指出它是如此。閱讀。 – 2013-02-08 11:38:36