汇编监测点2.2的问题
为什么答案最小的偏移地址为0H,最大的为FFF0H,最大的不是FFFFH么?我这有没有问题???谢谢 本帖最后由 cqy55555 于 2011-12-3 23:43 编辑哥们请把题目描述清楚。。。要不然别人还得去找书看。。。 自己看看小鱼老师的回答把:
因为题目要求是要物理地址最终为20000H。
我们知道偏移地址最小为0H,最大为FFF0H。
我们要求段地址能够取到的最小值,即要和偏移地址最大值配合,所以段地址应该为1001H,偏移地址为FFF0H:1001H * 10H + FFF0H == 20000H。
我们要求段地址能够取到的最大值,即要和偏移地址最小值配合,所以段地址应该为2000H,偏移地址为0H。
我刚学完做这个检测点的时候也不之所以然,然后对照答案开始理解慢慢的就知道原因了。
记住两个重要的细节,偏移地址最大值是64K起始是16的倍数,
据我理解是这样的。偏移地址的单位为64K 也就是从 0-FFFF那就可以反过来计算•计算方法如下:
20000-FFFF=10001/10=1000 ?错误了。因为不是16的倍数所以。如果你不懂的话你再反过来计算下。
1000*10+FFFF=1FFF 少了一位数了懂么?所以最大只可以从FFF0 开始。计算如下:
20000-FFF0=10010 / 10 =1001 所以最小为1001H 16进制嘛。
那最大也好计算了看下列方式:
20000-0=20000/10=2000 答案就出来了最大为2000H16进制哦。
因为偏移地址最少位是 0 嘛!
以上答案均为本人自己理解·仅供参考,(绝对没有抄袭别人哦!纯属原创!)思维很重要,不要老盯着数字走,有时候反过来思考下也许就通了。 ..磊●﹖ 发表于 2011-12-4 05:11 static/image/common/back.gif
我刚学完做这个检测点的时候也不之所以然,然后对照答案开始理解慢慢的就知道原因了。
记住两个重要的细节 ...
楼上理解得不错,不过我看你的头像真是碉堡了 {:5_97:} ,嗯, 很赞{:5_109:} 真是太感谢了,关键是在于那个16的倍数呀,我说我怎么算来算去都不对呢!{:5_107:} 本帖最后由 ..磊●﹖ 于 2011-12-4 20:01 编辑
谢谢楼上两位同学的夸赞·嘿嘿·付出了总想得到点回报。。。 本帖最后由 阳光ヾ… 于 2011-12-4 20:07 编辑
不好意思,这贴就是我发的,怎么用不太明白,我还需要做些什么,麻烦告诉我一声呗,谢谢了?
页:
[1]