求教小甲鱼,监测点2.2
问题:有一数据存放在内存20000H单元中,现给定段地址位SA,若想用偏移地址寻此单元。则SA应该满足的条件是:最小为_____,最大为_____。
小甲鱼的答案。因为题目要求是要物理地址最终为20000H。
我们知道偏移地址最小为0H,最大为FFF0H
我们要求段地址能够取到的最小值,即要和偏移地址最大值配合,所以段地址应该为1001H,偏移地址为FFF0H:1001H * 10H + FFF0H == 20000H。
我的疑问:偏移地址最小为0H ,最大应该是FFFFH,
小甲鱼为什么说最大为fff0h ?求围观,求解释! 记住16的倍数,20000-FFFF不是16的倍数,所以FFFF就不可能是最大偏移.欢迎到新手群讨论221737881 没看视频
不过
20000H = SA *16 + offset
offset 的值在 0 H --> FFFFH
当offset = 0 的时候, sa = 2000H 每问题吧
当offset = FFFFH的时候 20000H = SA * 16 + FFFFH <==> SA * 16 = 10001H
也就是说 SA = 1000.1H 很明显,段地址无法是一个小数
那么怎么办?取 1000H 行吗?
如果取1000H 是不能寻址 到20000H的
这是后最小的大雨1000.1H的整数就是1001H了 坐等高人解答-- wAterLoo 发表于 2012-3-19 15:42 static/image/common/back.gif
没看视频
不过
20000H = SA *16 + offset
{:5_106:}谢、 矛灬盾 发表于 2012-3-19 15:54 static/image/common/back.gif
谢、
你就是发帖的人??????{:5_104:} 3楼回答 我比较能接受。
谢~ 梅梁馨 发表于 2012-3-19 15:09 static/image/common/back.gif
记住16的倍数,20000-FFFF不是16的倍数,所以FFFF就不可能是最大偏移.欢迎到新手群讨论221737881
段地址是16的倍数,偏移地址没这个要求。 wAterLoo 发表于 2012-3-19 16:14 static/image/common/back.gif
你就是发帖的人??????
我不是发帖的人-、咋了。。。{:5_94:} 矛灬盾 发表于 2012-3-19 18:54 static/image/common/back.gif
我不是发帖的人-、咋了。。。
我还以为你开小号呢 {:7_158:} wAterLoo 发表于 2012-3-19 19:29 static/image/common/back.gif
我还以为你开小号呢
额--冤枉呢 。。我这纯洁的心灵啊、、{:5_92:} 我也在纠结这个问题 实在不明白 可以用方程求解啊:
SA*10H +FFFF(这是16位偏移地址最大可寻的范围)=20000H
SA=( 20000H-FFFFH)/10H
SA=1000.1H(地址不能有小数 ) =1001H
SA*10H+0(偏移地址最小)=20000H
SA=20000H/10H=2000H
所以SA=1001H ~2000H 完全正确 有点模湖。。
页:
[1]