1.为何一开始不把system模块直接移动到,0地址处?
因为boot程序加载操作需要使用 ROM BIOS 提供的中断过程,而 BIOS 使用的中断向量表正处于内存 0 开始的地方,并且在内存 1KB 开始处是 BIOS 程序使用的数据区,所以若直接把 head 代码加载到内存 0 处将使得 BIOS中断过程不能正常运行。
1.为何一开始不把system模块直接移动到,0地址处?
因为boot程序加载操作需要使用 ROM BIOS 提供的中断过程,而 BIOS 使用的中断向量表正处于内存 0 开始的地方,并且在内存 1KB 开始处是 BIOS 程序使用的数据区,所以若直接把 head 代码加载到内存 0 处将使得 BIOS中断过程不能正常运行。