mint 发表于 2011-9-15 09:48:43

检测点 2.2

第二题 为什么是 1001H*16+FFF0H=20000H

而偏移地址 不是FFFFH呢

orz。。。。

曲终人散 发表于 2011-9-15 09:55:33

十六进制乘以16相当于 左移一位 即;10010
10010h+fff0h=20000h

mint 发表于 2011-9-15 09:57:15

曲终人散 发表于 2011-9-15 09:55 static/image/common/back.gif
十六进制乘以16相当于 左移一位 即;10010
10010h+fff0h=20000h

我觉得 我没说清楚 ┭┮﹏┭┮

是为什么 不是

SA*16+FFFFH=20000H

再生缘 发表于 2011-9-15 10:13:30

mint 发表于 2011-9-15 09:57 static/image/common/back.gif
我觉得 我没说清楚 ┭┮﹏┭┮

是为什么 不是


SA*16+FFFFH=20000H   那么sa*16就会等于20000h-ffffh=10001h很明显这个结果是错误的因为sa*16必须是16的倍数   
那么我们用偏移地址fffeh看一下 很明显结果也不是16的倍数
继续偏移地址fffdh的话 也不是16的倍数
这样继续直到偏移地址为fff0h的时候 就满足了16的倍数

ytrfamli 发表于 2011-9-15 11:22:02

LZ看起来好像跟前几天的网友有相同的疑问?
http://bbs.fishc.com/forum.php?mod=viewthread&tid=4177&fromuid=107959
里边我有详细解释,在此就不再贴一遍了

简单来说,偏移地址是从0000H~FFFFH,
我们想要找的地址是20000H,但是

1001H*16+FFFFH=2000FH   

注意到了吗?段地址1001H加上偏移地址FFFFH会来到了2000FH,
多出了F(就是15字节),但是题目实际上想要找的地址是20000H,
该怎麽办呢?把偏移地址减F吧!於是

1001*16+FFF0H=20000H

就这麽出炉了.

鱼老师的意思不是偏移地址只有到FFF0H,
只是因为题目给的设定使得使用最大的偏移量FFFFH的时候
会多出了F出来,把这个多馀的F去掉而已.

小黄 发表于 2011-9-15 14:07:24

楼主对段地址和偏移地址没弄清楚,进制转换不明白,建议再看一下视频

mrcoolxdg 发表于 2011-9-15 19:28:50

我也是迷迷糊糊的明白了点还有没有其他的例题 多看看就懂了

rxvey74 发表于 2011-9-18 06:45:41

http://www.pgpop.com/image/face1.gif顶起来,支持楼主 顶~~~~~~~~~~~~~~~





















http://bbs.hangzhou.com.cn/images/default/sigline.gif
防辐射孕妇装排名

liangzai7 发表于 2011-9-20 23:31:17

原来如此呀!!我总算明白了!!1 嘻嘻!1谢谢高人们的解答啦!!{:1_1:}

beyondpzy 发表于 2013-5-7 20:42:58

强烈支持楼主ing……
页: [1]
查看完整版本: 检测点 2.2