8086物理地址的问题

weidao1210 2011-03-09 09:27:50
请教各位前辈,如果 DS段地址是 0FFFFH 偏移地址是 0FFFFH 那么物理地址是多少?
...全文
289 20 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
楼上正解!
  • 打赏
  • 举报
回复
在真正的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 +偏移 这公式 是没错的了

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧