鱼C论坛

 找回密码
 立即注册
查看: 3162|回复: 4

汇编语言2.2课后题

[复制链接]
发表于 2011-3-16 15:46:00 | 显示全部楼层 |阅读模式

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

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

x
[(X@~CM%9[4D[VN51~@2[7X.jpg 偏移地址最大为什么是FFF0啊?
为什么不是FFFF呢?
[(X@~CM%9[4D[VN51~@2[7X.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-17 12:48:23 | 显示全部楼层
8086的相同段,最大偏移确实为FFFF。但是你得看题意啊。  你用 FFFF不就超过20000H了么?不要忘了咱的目标。就是要定位到20000H这个地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-26 20:17:47 | 显示全部楼层
本帖最后由 zzyital 于 2011-3-26 20:25 编辑

版主  我也是相同问题
为什么说用FFFFH会超过20000H呢?
------------------------------------------
我当时是这样求的
因为偏移地址范围是0H-FFFFH
当偏移地址=0H时,20000H-0H=20000H,再除以16,得出段地址=2000H,这个没问题
当偏移地址=FFFFH时,20000H-FFFFH=10001。。。。。。
看了答案是减的FFF0H,百思不得其解   还望能详细指出一下!
谢谢!
看了小甲鱼在其他地方的回复,明白了,因为我得出的这个10001不属于右移一位可以还原的类型,所以要找到可以直接右移一位就能还原的那一个值,即所谓的,一个段的起始地址必须是16的整数倍,现在也终于理解了这句话的含义了
其他朋友搞不懂的也可以参考下哦!
---------------------------------
另外,为何我用WIN的科学计算器,就算调到了16进制,用1*16=16呢,而不是10呢。。。。:Q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-27 08:08:29 | 显示全部楼层
嘿嘿,这题当时偶也挠了很久.解题思路是这样的.

物理地址=段地址*16+偏移地址,偏移地址从0000H到FFFFH之间
给定物理地址为20000H,那么当偏移地址取0000H时,段地址SA=2000H [最大值]
当偏移地址取FFFFH时,段地址SA=10001/16,进位丢失余数为1000H,但当SA=1000H时,偏移地址取最大FFFFH,物理地址为1000H*16+FFFFH=1FFFFH,无法达到20000H,故余数需进位SA最小值为SA=1001H [最小值]
则SA应满足的条件是:最小为 1001H,最大为 2000H。
======分割线======
另外,你调到了16进制,用1*16=16,得到答案后转为十进制是22了.你先选十进制1*16得到答案后换到16进制,就素10了呀*^_^*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-5-27 05:11:42 | 显示全部楼层

强烈推荐:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-27 14:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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