回 帖 发 新 帖 刷新版面

主题:就问一些小问题,请来帮忙

书上说
物理地址=段基址*10H+偏移量

逻辑地址  段基址:偏移量

那有个题目我就不明白了:
某数据区起始地址为5182H:A1F4H,该数据区由20字组成,问该数据区的首单元和末单元的物理地址是多少?
数据区首单元的物理地址=5182H*10H+A1F4H=5BA14H
数据区末单元的物理地址=5BA14H+27H=5BA3BH

问题一:就是这个末单元的物理地址我不明白,这个数据区20字和这个题目有什么关系?

问题二:求物理地址的时候段基址为什么要乘以10H?

回复列表 (共6个回复)

沙发

1:没有20个字你怎么知道末地址。末地址中的27H=20H*2-1
2:因为8086CPU的地址是16位的,而不是20位。所以将物理地址分为2部分:段基址:偏移量。更多细节,自己看下书,说起来麻烦。

板凳

末地址中的27H=20H*2-1
??怎么这样算??为什么?能解释详细点么

3 楼

末地址中的27H=20*2-1

不是20H*2-1;

4 楼

是我写错了,是27H=20*2-1的。
末地址=首地址+数据段长度-1,数据段长度就是20*2.

5 楼


看了就顶顶吧!嘻嘻!

6 楼

物理地址是20位,而段地址和 偏移地址只有16 位,所以要段地址乘以10再加偏移地址

我来回复

您尚未登录,请登录后再回复。点此登录或注册