鱼C论坛

 找回密码
 立即注册
查看: 4605|回复: 6

[汇编作业] 关于检测点2.2的问题

[复制链接]
发表于 2013-10-9 22:35:52 | 显示全部楼层 |阅读模式
1鱼币
王爽老师那本汇编书,检测点2.2的第二题

有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H
当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。
这个是答案:
————————————————————————————
物理地址=SA*16+EA    20000h=SA*16+EA    SA=(20000h-EA)/16=2000h-EA/16    EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值    EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值  ——————————————————————————————但是我这样算的,物理地址=SA*16+EA20000h=SA*16+EA20000h-EA=SA*1620000h-ffffh=SA*16(EA最大)   SA=1000.1h  那就是1000h   SA为最小值20000h-0h=SA*16(EA最小)   SA=2000h                     SA为最大值


求指导!到底那个对?

最佳答案

查看完整内容

1000.1不能舍去那个小数点啊,要进位变成1001
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-9 22:35:53 | 显示全部楼层
1000.1不能舍去那个小数点啊,要进位变成1001
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-9 23:55:46 | 显示全部楼层
1000h*10h加上ffffh也只等于1ffffh,还不到20000h
段地址只有在这个范围 1001H>=SA<=2000H才能寻址到20000H单元
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-10 12:24:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-10 14:49:59 | 显示全部楼层
Maksim 发表于 2013-10-10 12:24
我如果理解没错的话,应该是1000h*16吧!

都一个意思嘛,16是十进制的,转成16进制就是10H。
十六进制也有完整的加减乘除
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-24 23:10:30 | 显示全部楼层
物理地址=段地址*16+偏移地址
20000H=SA*16+偏移地址
由于16为十进制,转换为十六进制=10H
最小偏移地址=0H
最大偏移地址=FFFFH
最小SA=(20000H-FFFFH)/10H=20000H/10H-FFFFH/10H=2000H-FFFH=1001H
最大SA=(20000H-0H)/10H=20000H/10H-0H/10H=2000H-0H=2000H
什么小数点进位都是太抽象了。
当SA<1001  或 SA>2000时 CPU无法寻到20000H  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-3 15:35:19 | 显示全部楼层
a280153458 发表于 2015-1-24 23:10
物理地址=段地址*16+偏移地址
20000H=SA*16+偏移地址
由于16为十进制,转换为十六进制=10H

标记下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 12:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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