调试DOS程序以查看内存



我刚刚开始学习X86汇编语言。

我的疑问-

当我使用DOS DEBUG程序查看内存位置时,在使用两个不同的段:偏移地址检查同一内存位置时得到的值略有不同。即

难道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                              .......

您正在查看BIOS数据区,其内容随着时间的推移而变化,因为它包含shift/control/alt键的状态、键盘缓冲区的读/写位置和计时器等信息。

最新更新