汇编语言监测点2.2的有道题不懂请教大家
这是答案:有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H 。当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。它的最小值为什么是1001H啊 我的的答案是1000H 20000h(物理地址) 20000H-EA(FFFFH)=10001H/16=1000H我哪里算错了大神们解释下好吗我真的不懂 头都大了
理论上,SA*16+FFFF=20000H得到的SA是最小的,这样算后SA=1000.1H即最小为1001H,最大当然是SA的SA*16=20000H 的时候,所以SA=2000H
当SA比SA的最小值还小,比SA的最大值还大的时候就无法找到
也就是说1001H<=SA<=2000H的时候CPU才能寻址到20000H
你要是SA最小是1000H的话,SA*16+FFFF=1FFFF就达不到20000H啊,那就寻址不到20000H啊 young1048 发表于 2014-4-19 13:36 static/image/common/back.gif
理论上,SA*16+FFFF=20000H得到的SA是最小的,这样算后SA=1000.1H即最小为1001H,最大当然是SA的SA*16=2000 ...
当SA=1001H,EA=FFFF时,它的物理地址并不是20000,而是2000F。这个要怎么解释啊!
yangjiazdh 发表于 2014-5-8 09:13 static/image/common/back.gif
当SA=1001H,EA=FFFF时,它的物理地址并不是20000,而是2000F。这个要怎么解释啊!
保证20000H能访问到的前提下Sa=1001H,偏移地址没有必要满啊FFF0H不就可以吗 cain_C 发表于 2014-5-15 10:13 static/image/common/back.gif
保证20000H能访问到的前提下Sa=1001H,偏移地址没有必要满啊FFF0H不就可以吗
:sweat....我太笨了。。谢谢你了
页:
[1]