社区
汇编语言
帖子详情
8086物理地址的问题
weidao1210
2011-03-09 09:27:50
请教各位前辈,如果 DS段地址是 0FFFFH 偏移地址是 0FFFFH 那么物理地址是多少?
...全文
289
20
打赏
收藏
8086物理地址的问题
请教各位前辈,如果 DS段地址是 0FFFFH 偏移地址是 0FFFFH 那么物理地址是多少?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
elalll
2011-04-11
打赏
举报
回复
最大只能访问1M
yhshion
2011-04-11
打赏
举报
回复
16楼正解
wangzanzitong
2011-04-07
打赏
举报
回复
有效地址EA超过FFFFH则取64K的模 溢出
编程可以利用,这好像就叫地处轮回技术,dos编程可利用。
辰岡墨竹
2011-04-07
打赏
举报
回复
[Quote=引用 16 楼 delphiguy 的回复:]
在真正的8086/8088/80186/80188上,会出现地址回绕,FFFF:FFFF = FFEF,物理地址就是0FFFF(0000:FFEF)。
但是在286+上,如果A20打开,则不会回绕,物理地址是10FFEF。
[/Quote]
没错我想说的就是这样,手机回帖好麻烦……又容易出错。
如果想进入保护模式使用4GB虚拟内存,就必须打开A20。但是如果没有进入保护模式而打开的话,多出去的那块就是HMA。
xiaoD
2011-04-07
打赏
举报
回复
楼上正解!
日立奔腾浪潮微软松下联想
2011-04-07
打赏
举报
回复
在真正的8086/8088/80186/80188上,会出现地址回绕,FFFF:FFFF = FFEF,物理地址就是0FFFF(0000:FFEF)。
但是在286+上,如果A20打开,则不会回绕,物理地址是10FFEF。
辰岡墨竹
2011-04-07
打赏
举报
回复
而在命令提示符的虚拟86模式下,更不存在地址回卷的问题。因为那本来就是映射以后的。HIMEM.SYS会启用A20,所以可以在DOS下直接访问HMA
辰岡墨竹
2011-04-07
打赏
举报
回复
而在命令提示符的虚拟86模式下,更部存在地址回卷的问题。因为那本来就是映射以后的。HIMEM.SYS会启用A20,所以可以在DOS下直接访问HMA
辰岡墨竹
2011-04-07
打赏
举报
回复
嗯,32位系统进入保护模式时会启用键盘控制器的A20地址线,禁用地址回卷。结果不用进入保护模式能访问的1MB以上内存叫HMA
mic47
2011-04-06
打赏
举报
回复
准确的说,物理地址=段地址*10h+偏移(EA),你给出的数,算出的结果是10FFEFH,溢出,由于进位值CPU寻不到,所以那时的物理地址是0FFEFH。应该是这样的
xiaoD
2011-04-06
打赏
举报
回复
首先说,我上面的说法是错误的,然后,10楼的说法也不正确。可以用debug试一下d ffff:0010,和d 0:0处的数据不一样的,说明他们的物理地址不等。
ASM_SE7EN
2011-04-06
打赏
举报
回复
那就溢出了吧?
xiaoD
2011-04-03
打赏
举报
回复
楼主可以这样认为,对于20位地址FFFFFh+1=0,然后物力地址等于多少,你知道的。
weidao1210
2011-03-10
打赏
举报
回复
[Quote=引用 3 楼 masmaster 的回复:]
如果有效地址EA超过FFFFH则取64K的模
[/Quote] EA的取值范围是 0000-ffffh 吧 物理地址=段地址*10H + EA 我没搞明白的是 要是 这样计算得到的物理地址 超过了 FFFFFH 时(8086最大寻址是1M) 实际的物理地址会是多少?
weidao1210
2011-03-10
打赏
举报
回复
[Quote=引用 1 楼 ffff7474774 的回复:]
段地址能跟偏移地址是一样的???
如果可以的话应该是 0FFFFH*16+0FFFFH 反正就 0FFFF0H+0FFFFH 应该就是物理地址了吧……我说的是应该,反正 段地址 X 16 +偏移 这公式 是没错的了
[/Quote] 那么这个公式得到的地址怎么表示呢?是多少?
追风筝的孩子
2011-03-10
打赏
举报
回复
[Quote=引用 3 楼 masmaster 的回复:]
如果有效地址EA超过FFFFH则取64K的模
[/Quote]= =想问下模怎么取,我知道模但不太懂,意思是64k-X??
znxllyuan
2011-03-09
打赏
举报
回复
LS正解!
masmaster
2011-03-09
打赏
举报
回复
如果有效地址EA超过FFFFH则取64K的模
ffff7474774
2011-03-09
打赏
举报
回复
段地址能跟偏移地址是一样的???
如果可以的话应该是 0FFFFH*16+0FFFFH 反正就 0FFFF0H+0FFFFH 应该就是物理地址了吧……我说的是应该,反正 段地址 X 16 +偏移 这公式 是没错的了
ffff7474774
2011-03-09
打赏
举报
回复
段地址能跟偏移地址是一样的???
如果可以的话应该是 0FFFFH*16+0FFFFH 反正就 0FFFF0H+0FFFFH 应该就是物理地址了吧……我说的是应该,反正 段地址 X 16 +偏移 这公式 是没错的了
8086
CPU
物理地址
8086
CPU采用一种在内部用用两个16位地址合成的方法来形成一个20位的
物理地址
。 CPU中的相关部件提供两个16位地址,一个为段地址,另一个为偏移地址,地址加法器让两个16位地址合成一个20位的
物理地址
。
物理地址
=段...
8086
CPU
物理地址
的表示方法
一、
物理地址
1、所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存...三、
8086
CPU给出
物理地址
的方式 ①CPU中相关部件提供两个16位的地址,一个称为段地址,一个称为偏移地址 ②段地址和偏移地址通过内部
8086
物理地址
的计算
段地址 * 16,另一种说法是左移4位,是一样的。
物理地址
是怎么确定的?以
8086
为例
物理地址
我们知道,CPU 访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为
物理地址
。
8086
是16位...
【
8086
CPU】
8086
CPU如何将逻辑地址转换为
物理地址
8086
CPU如何将逻辑地址转换为
物理地址
8086
中含有存储器存储器中每一个单元的地址可以用两种方法表示: 1 .逻辑地址:其表达形式为“段地址:段内偏移地址”. eg:逻辑地址:B027:EF7F,其段地址为B027H,偏移地址为EF7...
汇编语言
21,497
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章