. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
基础知识
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
检测点2.2 第二题疑惑
[待解决]
回复[
4
次 ] 点击[
317
次 ]
zawmon
[帖 主]
[ 发表时间:2011-05-01 16:32 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-05-01 13:46
有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为 最大为
解题:
20000H=SA*16+EA
SA=(20000H-EA)/16
EA=0H~FFFFH
则
SA=2000H-0H~FFF.FH
SA=1000.1H~2000H
那就是说SA应该处于不小于1000.1H,不大于2000H
习题答案给出的是最小为1001H,最大为2000H
疑惑
在汇编语言中,小数部分应该怎么来处理理解
从题中可以看出SA在1001H~2000H之间,用偏移地址寻此单元,的确可以寻到
但是1000.1H~1001H之间同样可以寻到
这0.1H~1H之间应该怎么理解呢?为何排除在答案之外
wuliyun
[第
1
楼]
[ 回复时间:2011-05-01 16:39 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-04-18 12:45
段地址的起始位置必须是16的整数倍
zawmon
[第
2
楼]
[ 回复时间:2011-05-01 16:50 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-05-01 13:46
也就是说,结束位置也必须是15的整数倍了
那么,寻址范围只能是取实际计算出来的范围内的16的整数倍的最小整数为起始位置,最大整数为结束位置。
中间段也必须是16的整数倍来取吗?
wuliyun
[第
3
楼]
[ 回复时间:2011-05-01 17:46 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-04-18 12:45
对于8086,段的大小不能超过64KB(偏移地址是16位).
不清楚你说的"中间段"是指什么.
段是编程时的一种安排,理论上来说,任何起始位置为16的整数倍,大小不超过64KB的一段连续内存都可以被看作或者说定义为一个段.
daniel_c
[第
4
楼]
[ 回复时间:2011-05-03 01:03 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-05-02 12:38
那个小数实际不存在的…因为他最小要大过1000.1…也就是说他地址至少要大过1000…而在1000下面的地址就是1001…满足条件…
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved