rj19931018a 发表于 2014-4-19 13:36:57

汇编语言监测点2.2的有道题不懂请教大家

这是答案:有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H 。当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。
                                    它的最小值为什么是1001H啊 我的的答案是1000H               20000h(物理地址)               20000H-EA(FFFFH)=10001H/16=1000H我哪里算错了大神们解释下好吗我真的不懂 头都大了                        

young1048 发表于 2014-4-19 13:36:58

理论上,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啊

yangjiazdh 发表于 2014-5-8 09:13:33

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。这个要怎么解释啊!

cain_C 发表于 2014-5-15 10:13:03

yangjiazdh 发表于 2014-5-8 09:13 static/image/common/back.gif
当SA=1001H,EA=FFFF时,它的物理地址并不是20000,而是2000F。这个要怎么解释啊!

保证20000H能访问到的前提下Sa=1001H,偏移地址没有必要满啊FFF0H不就可以吗

yangjiazdh 发表于 2014-5-15 14:49:46

cain_C 发表于 2014-5-15 10:13 static/image/common/back.gif
保证20000H能访问到的前提下Sa=1001H,偏移地址没有必要满啊FFF0H不就可以吗

:sweat....我太笨了。。谢谢你了
页: [1]
查看完整版本: 汇编语言监测点2.2的有道题不懂请教大家