踏风 发表于 2012-3-19 14:32:37

求教小甲鱼,监测点2.2

问题:
有一数据存放在内存20000H单元中,现给定段地址位SA,若想用偏移地址寻此单元。则SA应该满足的条件是:最小为_____,最大为_____。
小甲鱼的答案。因为题目要求是要物理地址最终为20000H。
我们知道偏移地址最小为0H,最大为FFF0H
我们要求段地址能够取到的最小值,即要和偏移地址最大值配合,所以段地址应该为1001H,偏移地址为FFF0H:1001H * 10H + FFF0H == 20000H。
我的疑问:偏移地址最小为0H ,最大应该是FFFFH,
小甲鱼为什么说最大为fff0h ?求围观,求解释!

梅梁馨 发表于 2012-3-19 15:09:52

记住16的倍数,20000-FFFF不是16的倍数,所以FFFF就不可能是最大偏移.欢迎到新手群讨论221737881

wAterLoo 发表于 2012-3-19 15:42:27

没看视频
不过
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了

矛灬盾 发表于 2012-3-19 15:42:29

坐等高人解答--

矛灬盾 发表于 2012-3-19 15:54:20

wAterLoo 发表于 2012-3-19 15:42 static/image/common/back.gif
没看视频
不过
20000H = SA *16 + offset


{:5_106:}谢、

wAterLoo 发表于 2012-3-19 16:14:01

矛灬盾 发表于 2012-3-19 15:54 static/image/common/back.gif
谢、

你就是发帖的人??????{:5_104:}

踏风 发表于 2012-3-19 17:26:19

3楼回答 我比较能接受。
谢~

踏风 发表于 2012-3-19 17:27:43

梅梁馨 发表于 2012-3-19 15:09 static/image/common/back.gif
记住16的倍数,20000-FFFF不是16的倍数,所以FFFF就不可能是最大偏移.欢迎到新手群讨论221737881

段地址是16的倍数,偏移地址没这个要求。

矛灬盾 发表于 2012-3-19 18:54:58

wAterLoo 发表于 2012-3-19 16:14 static/image/common/back.gif
你就是发帖的人??????

我不是发帖的人-、咋了。。。{:5_94:}

wAterLoo 发表于 2012-3-19 19:29:18

矛灬盾 发表于 2012-3-19 18:54 static/image/common/back.gif
我不是发帖的人-、咋了。。。

我还以为你开小号呢 {:7_158:}

矛灬盾 发表于 2012-3-19 20:37:50

wAterLoo 发表于 2012-3-19 19:29 static/image/common/back.gif
我还以为你开小号呢

额--冤枉呢 。。我这纯洁的心灵啊、、{:5_92:}

谢青源 发表于 2012-3-20 02:12:33

我也在纠结这个问题

孤身走我路 发表于 2012-3-20 05:21:15

实在不明白 可以用方程求解啊:
SA*10H +FFFF(这是16位偏移地址最大可寻的范围)=20000H
SA=( 20000H-FFFFH)/10H
SA=1000.1H(地址不能有小数 ) =1001H

SA*10H+0(偏移地址最小)=20000H
SA=20000H/10H=2000H

所以SA=1001H ~2000H 完全正确

水鱼 发表于 2012-3-20 16:11:18

有点模湖。。
页: [1]
查看完整版本: 求教小甲鱼,监测点2.2