鱼C论坛

 找回密码
 立即注册
查看: 6463|回复: 20

检测点2.2的问题

[复制链接]
发表于 2011-3-6 21:56:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 loop 于 2011-4-22 05:08 编辑

在第二题中,为什么偏移地址最大为FFF0H,而不是FFFFH呢??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-6 22:02:21 | 显示全部楼层
最大地址是 2000H   ,你说的FFF0是错的。所以没有为什么。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-6 22:34:50 | 显示全部楼层
我是说在解达的过程中,算最小值时,不是要用偏移值最大来算吗
未命名.jpg
这里面的FFF0H应该是最大的偏移地址吧,这个为什么不是FFFFH呢?不是说偏移地址的范围是0000~FFFF吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-6 23:01:37 | 显示全部楼层
回复 3# pm3000


    如果偏移地址是FFFFH,那么段地址没有符合呀?我们要使得物理地址为20000H。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-6 23:31:33 | 显示全部楼层
噢,这里20000H减去偏移地址后,得到的数一定要是16的倍数,这样这个偏移地址最大就只能取到FFF0H。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-14 19:55:14 | 显示全部楼层
FFF0H又是怎么算出来的呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-16 16:58:05 | 显示全部楼层
麻木了  :L
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-9 16:51:58 | 显示全部楼层
回复 6# 小乌龟

转:
小甲鱼说了段地址要为16(10H)的倍数,
先不纠结答案1000或1001,
进行16进制运算,用课本给出的物理地址20000H
分别递减最大偏移地址
20000H - FFFF = 1 0001H
20000H - FFFE = 1 0002H
20000H - FFFD = 1 0003H
20000H - FFFC = 1 0004H
20000H - FFFB = 1 0005H
20000H - FFFA = 1 0006H
直到.......
20000H - FFF0 = 1 0010H
这时10H满足16(10H)的倍数了
物理地址减去最大偏移地址除以16(10H)等于最小段地址
20000H - FFF0H  / 10H = 1001H
出来都在混小学生知识都忘了,
可能前面没学好,小甲鱼给的答案,不知道FFF0怎么来?
起码给个比较官方的算法,这样才够零基础.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-9 17:18:00 | 显示全部楼层
EA取最大值时,SA=20000h-ffffh/16=1001h,SA 为最小值   
EA取最小值时,SA=20000h-0h/16=2000h,SA为最大值
书上给出的结论:偏移地址16位,变化范围为0~FFFFH,仅用偏移地址来寻址最多可寻64KB个内存单元。
用20000H减去FFFFH(变化范围的最大值)再除以10H就等于SA的最小值,即SA=20000h-ffffh/16=1001h
用20000H减去0H(变化范围的最小值)再除以10H就等于SA的最大值,即SA=20000h-0h/16=2000h
本人是个初学者,不知道这样理解对不对?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-9 17:28:15 | 显示全部楼层
物理地址=SA*10H+EA   
EA的变化范围为0h~ffffh   
物理地址范围为(SA*10H+0h)~(SA*10H+ffffh)   
即在这个变化范围内,要求其结果都等于20000H
20000h=SA*10H+EA   
SA=(20000h-EA)/10H
EA取最大值时,SA=20000h/10H-ffffh/10H=1001h,SA为最小值   
EA取最小值时,SA=20000h/10H-0h/10H=2000h,SA为最大值
关键是那个16,这个16是十进制的16,转化为十六进制,就是10H了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-9 17:28:53 | 显示全部楼层
(1)给定段地址为0001H,仅通过变化偏移量地址寻址,CPU的寻址范围为多少到多少?
解:CPU的寻址范围为 0001H*16+0 到 0001H*16+FFFF
即寻址范围为 00010H~1000FH

(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为多少?最大为多少?
解:要解答此题 我们可以根据 物理地址=段地址*16+偏移地址 的公式 列出两个方程 SA*16+0=20000H   SA*16+FFFF=20000H
第一个方程SA的解 则为SA的最大值 第二个方程SA的解 则为SA的最小值
解方程:
SA=2000H
(1)SA*16+0=20000H
SA*16=20000H-0
SA*16=20000H
SA=20000H/16(10H)
SA=2000H
(2)
SA=1001H
SA*16+FFFFH=20000H
SA*16=20000H-FFFFH
SA*16=10001H
(因为基地址的起始地址必须是16的倍数 即SA*16=10001H不满足要求 ,所以这里的10001H 我们取值为10010H)
SA*16=10010H
SA=10010H/16(10H)
SA=1001H
所以SA应满足的条件是最小值为1001H 最大值为2000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-9 17:29:58 | 显示全部楼层
(段地址*16 实际是左移4位,左移4位就等于*10)
我的理解方法是这样的:
SA*10+EA
EA取最小值为:SA=(20000H-FFF0)/10=1001H,SA为最少值
EA取最大值为:SA=20000H/10,SA为最大值
如:SA为26231H = (26231H-FFF1)/10=1624H
   SA为222Fc = (222FcH-FFFc)/10 = 1230H
   SA为32139 = (222FcH-FFF9)/10
偏移地址的“最大”范围一定是:0000H~FFFFH之间。最SA尾数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-20 11:46:16 | 显示全部楼层
我的头好晕~~~~:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-24 02:59:45 | 显示全部楼层
本帖最后由 sunhopp 于 2011-4-24 03:01 编辑

看清楚哦。SA是段地址!8086 CPU的物理地址为20位,段地址X16+偏移地址=物理地址!
所以SA最大为2000啦!
注:段地址是16的倍数!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-7 00:13:33 | 显示全部楼层
不明白!!!就是不懂:@:@:@:@

点评

回帖请注意版规,禁止回复超过1个月的老帖。  发表于 2011-5-7 00:43
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-7 00:16:15 | 显示全部楼层
我要知道的是道理.而不是方程式.????????///需要的是理解!!!!!!!!!!!!:'(:'(:'(

点评

请先看书或零基础视频后,如果还是无法理解,请开帖提问。  发表于 2011-5-7 00:46
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-9 10:02:16 | 显示全部楼层
我找到了我我要的答案的了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-2 20:15:51 | 显示全部楼层
哈哈 明白了,不孬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-15 23:13:14 | 显示全部楼层
这题目我就晕了 这么向下学啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-4 13:25:41 | 显示全部楼层

基地址是16的倍数好不好,这是解题关键!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-3 05:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表