为什么- d 1000:0 0显示的不止一条
如图按理说应该只显示1000:0内存处的内容呀
”d 段起始地址:起始偏移地址 结尾偏移地址“的格式
d 1000:0 0 = d 1000:0
使用”d 段地址:段偏移地址“的格式,debug会列出从指定内存单元开始的128个内存单元的内容。如上图所示,在使用d 1000:0 后,debug列出了1000:0-1000:7f中的内容。 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:49
书里的内容不对,还是我理解有问题呀 本帖最后由 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了。
ba21 发表于 2017-9-20 21:58
它们都是同一物理地址
内容比效多,你主要关注 红色部份
哎,您没看清我的问题,我的问题是书上说了,段地址:偏移地址 0不等于段地址:偏移地址 yuruotong1 发表于 2017-9-21 09:25
哎,您没看清我的问题,我的问题是书上说了,段地址:偏移地址 0不等于段地址:偏移地址
我一直是说 段地址:0 0 等于 段地址:0
从来没有说 段地址:偏移地址 0等于 段地址:偏移地址
”d 段起始地址:起始偏移地址 结尾偏移地址“的格式
起始偏移地址 要是大于 结尾偏移地址是人都知道会出错
页:
[1]