yuruotong1 发表于 2017-9-20 14:51:56

为什么- d 1000:0 0显示的不止一条

如图
按理说应该只显示1000:0内存处的内容呀

ba21 发表于 2017-9-20 20:13:55

”d 段起始地址:起始偏移地址 结尾偏移地址“的格式
d 1000:0 0 = d 1000:0

使用”d 段地址:段偏移地址“的格式,debug会列出从指定内存单元开始的128个内存单元的内容。如上图所示,在使用d 1000:0 后,debug列出了1000:0-1000:7f中的内容。

yuruotong1 发表于 2017-9-20 21:49:32

ba21 发表于 2017-9-20 20:13
”d 段起始地址:起始偏移地址 结尾偏移地址“的格式
d 1000:0 0 = d 1000:0



http://chuantu.biz/t6/56/1505915358x1786302177.png

yuruotong1 发表于 2017-9-20 21:50:03

yuruotong1 发表于 2017-9-20 21:49


书里的内容不对,还是我理解有问题呀

ba21 发表于 2017-9-20 21:58:15

本帖最后由 ba21 于 2017-9-20 21:59 编辑

yuruotong1 发表于 2017-9-20 21:50
书里的内容不对,还是我理解有问题呀



它们都是同一物理地址

内容比效多,你主要关注 红色部份

8086CPU内存空间有1MB,但8086CPU的地址总线只有十六位,2的16次方=65536(0~65535)等于十六进制的FFFF,65536B/1024=64kb,也就是一个段的长度。
最后引进了段地址*16(十进制)+偏移地址=物理地址
因为物理地址表达方法是十六进制*16相当于把十六进制向前移了1位,4个二进制等于16进制,FFFFF(10485575)/1024=1023KB(0~1023KB),【2的20次方等于10485575/1024=1024kb】
1024KB等于1MB,所以段地址只用移一位在加上偏移地址,用【段地址:偏移地址】(debug)的方法就可以表达8086CPU索引的1MB了。


yuruotong1 发表于 2017-9-21 09:25:53

ba21 发表于 2017-9-20 21:58
它们都是同一物理地址

内容比效多,你主要关注 红色部份


哎,您没看清我的问题,我的问题是书上说了,段地址:偏移地址 0不等于段地址:偏移地址

ba21 发表于 2017-9-21 09:47:10

yuruotong1 发表于 2017-9-21 09:25
哎,您没看清我的问题,我的问题是书上说了,段地址:偏移地址 0不等于段地址:偏移地址

我一直是说    段地址:0 0 等于 段地址:0
从来没有说   段地址:偏移地址 0等于 段地址:偏移地址



”d 段起始地址:起始偏移地址 结尾偏移地址“的格式
起始偏移地址 要是大于 结尾偏移地址是人都知道会出错
页: [1]
查看完整版本: 为什么- d 1000:0 0显示的不止一条