tsl 发表于 2014-2-8 10:12:15

给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH 。

这是监测点2.2的答案,但是我怎么觉得是
00010-0FF1F呢,因为段地址无法改变,X16后为00010,偏移地址范围为0000-FFFF
这样范围怎么可能是0010H 到 1000FH??大家是怎样思考的,我思考的方式有问题吗?

tsl 发表于 2014-2-8 10:25:49

ryan0632 发表于 2014-2-8 10:22 static/image/common/back.gif
之前有人问过一模一样的问题,你翻翻吧

我就是翻不到啊,你知道,能简单给我缕缕思路吗?感激不尽啊

牡丹花下死做鬼 发表于 2014-2-8 10:36:45

1H*16+FFFFH=1000FH
你是怎么算的啊

tsl 发表于 2014-2-8 10:39:45

牡丹花下死做鬼 发表于 2014-2-8 10:36 static/image/common/back.gif
1H*16+FFFFH=1000FH
你是怎么算的啊

1H*16不是等于00010吗?然后+FFFFH
不就是0FF1FH吗?
为什么是1000FH呢?

牡丹花下死做鬼 发表于 2014-2-8 10:42:10

tsl 发表于 2014-2-8 10:39 static/image/common/back.gif
1H*16不是等于00010吗?然后+FFFFH
不就是0FF1FH吗?
为什么是1000FH呢?

啊你自己数学差加法不行就用计算器啊
这不是数学论坛我不想解释十六进制的加法运算

tsl 发表于 2014-2-8 10:53:07

牡丹花下死做鬼 发表于 2014-2-8 10:42 static/image/common/back.gif
啊你自己数学差加法不行就用计算器啊
这不是数学论坛我不想解释十六进制的加法运算

晕,我算错了,1+F要进位,抱歉,加法不过关。哎,知错了

lpppl 发表于 2014-2-8 16:18:47

我只是路过打酱油的。

wentian 发表于 2014-3-12 14:28:27

本帖最后由 wentian 于 2014-3-12 14:32 编辑

SA*16+EA=WA

SA=0001H

0001H*16+EA=WA

00010H+EA=WA

0000H~FFFFH


00010H+0000H=00010H

00010H+FFFFH=1000FH
所以寻址范围就是:00010H~1000FH

我做出来是这样的

你看看吧。。。

oggplay 发表于 2014-3-12 16:41:17

本帖最后由 oggplay 于 2014-3-12 16:46 编辑




实地址模式下:

物理地址 = SA * 10H + 偏移地址
可知,物理地址、偏移地址,两者的最低位,必定是相同的。
当物理地址=20000H,偏移地址也只能是:XXX0H,取最大就是 FFF0H。
于是:
SA最小地址 = (20000H - FFF0H) / 16=10010H / 16 = 1001H。
SA最大地址=2000H
页: [1]
查看完整版本: 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH 。