elife 发表于 2003-12-18 10:23:48

关于操作系统启动的问题

计算机RESET之后,系统从物理地址0xFFFFFFF0开始执行,那现在CS和(E)IP的值分别为多少?

muddog 发表于 2003-12-18 15:49:17

物理地址好象没那么大吧 :wink:

elife 发表于 2003-12-18 16:37:29

PC机上当然没那么大,它是被映射到BIOS的入口地址,通过入口地址跳转到实际的BIOS入口,但有个问题是计算机RESET之后,系统从物理地址0xFFFFFFF0开始执行,那现在CS和(E)IP的值分别为多少?

elife 发表于 2003-12-18 16:50:02

不好意思,好像该是0xFFFF0。但还是现在CS和(E)IP的值分别为多少?

elife 发表于 2003-12-18 17:49:38

应该是0xFFFFFFF0,只要CPU有32根地址线,它是被映射到BIOS的入口地址,通过入口地址跳转到实际的BIOS入口(通过在0xFFFFFFF0处的一条跳转指令)。我认为此时CS = 0x0000,而EIP = 0xFFFFFFF0,从而形成地址0xFFFFFFF0,这样说对吗?80386在实模式下偏移量(offset)可以是32位吗?

skykufo 发表于 2003-12-27 20:00:29

no.
cs=0xffff,ip=0000,物理地址=cs*16+ip=0xffff0.
这个问题在以前应该有讨论过的。
页: [1]
查看完整版本: 关于操作系统启动的问题