. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  段地址FFFF 则IP的范围是多少?  [待解决] 回复[ 12次 ]   点击[ 408次 ]  
bigsuqi123
[帖 主]   [ 发表时间:2011-04-16 00:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-15 23:49
段地址FFFF 则IP的范围是多少?
kim
[第1楼]   [ 回复时间:2011-04-18 19:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2011-04-18 07:21
段地址*16+偏移地址=物理地址

那么段地址=FFFF*16+偏移地址=物理地址

段地址=FFFF0+偏移地址=物理地址

偏移地址最大000F,最小0000.
欢迎指正,交流
kim
[第2楼]   [ 回复时间:2011-04-18 19:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2011-04-18 07:21
感觉好像错了,但是绕不出来,期待大牛解答。
kim
[第3楼]   [ 回复时间:2011-04-18 19:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2011-04-18 07:21
刚刚又了几遍书,貌似无解啊。

只有段地址,IP地址和物理地址都是未知的。

怎么算都是浮云。

所以LZ这贴很蛋疼啊
a_qingzi
[第4楼]   [ 回复时间:2011-04-28 16:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-28 16:01
寻址空间是1M,也就是20位:FFFFF
段地址是FFFF,从这个段地址开始寻的话,最小是0000,最大是000F了吧。
有错吗?
wlzaini1314
[第5楼]   [ 回复时间:2011-04-28 16:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-15 22:31
回复:[第4楼]
------------------
物理地址=EA*16+SA  SA=0-FFFF
知道这个以后 
FFFF*16+0=最小的物理地址 =FFFF0H
FFFF*16+FFFF=最大的物理地址=FFFF0+FFFF 自己算下吧
wlzaini1314
[第6楼]   [ 回复时间:2011-04-28 16:31 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-15 22:31
回复:[贴 主]
------------------
段地址FFFF 则IP的范围是多少? 0-FFFF
如果 IP=FFFF的话 就是 FFFF:FFFF 在进行下一次的话 FFFF:FFFF+1=10000:0000
a_qingzi
[第7楼]   [ 回复时间:2011-04-29 08:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-28 16:01
回复:[第5楼]
------------------
不是吧,这样说也太死板了吧。
得考虑最大的范围啊,段地址是FFFF了,偏移大于000F以后指向了哪里你算过吗?
wlzaini1314
[第8楼]   [ 回复时间:2011-04-29 09:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-15 22:31
回复:[第7楼]
------------------
范围是在 0-FFFF之间
neur2520
[第9楼]   [ 回复时间:2011-04-29 09:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-28 17:19
段地址是FFFF,物理地址=段地址*16+偏移地址
则 FFFF*16+偏移地址
FFFF0+偏移地址
所以我认为IP的寻址范围是:FFFF0~FFFFF
tsembrace
[第10楼]   [ 回复时间:2011-04-29 16:08 ]   [引用]   [回复]   [ top ] 
荣誉值:31
信誉值:3
注册日期:2009-06-15 19:20
对8086来说,内存单元地址为0h~fffffh;
现在给定段地址为ffffh,则偏移地址若大于000fh则会溢出。
所以偏移地址范围为0h~fh,个人理解,不知对否。。
atenl
[第11楼]   [ 回复时间:2011-05-01 14:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-07 15:21
同意楼上的,8086CPU地址总线20,寻址能力为0h~FFFFFH,也就是1MB,而超过FFFFFH时就会产生回绕。
但在现在我们使用的电脑上CPU地址总线大于20,A20默认也是打开的,无法看到回绕。
可以在虚拟机下运行DOS不加载HIMEM.SYS 和EMM386.EXE,然后再使用DEBUG ,才会回绕。
pascal.s
[第12楼]   [ 回复时间:2011-05-06 23:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-06 06:09
理论上,IP指向偏移地址,范围是0~FFFFH。但如果段地址为FFFFH了,由于20位地址总线的最大可寻物理地址为FFFFFH,根据SA*10H+EA=FFFFFH,即FFFFH*10H+EA=FFFFFH,因此EA=FH。所以说偏移地址最大为FH。IP的范围是0H~FH。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved