dongni386 发表于 2004-6-15 08:12:08

新手的疑惑

我是新手,不要笑话我呦!
开机的时候,i386是工作在实模式下的,内核应该有个从实模式切换到保护模式的代码。在切换前应该做一些工作,比如打开PE,设置CR3等。这些代码我怎么没找着啊?还有填写叶目录的代码在哪里?还有,那些所谓的操作系统指令到底是在什么情况下可以使用啊?

_z_ 发表于 2004-6-15 09:11:35

setup.S
head.S

_z_ 发表于 2004-6-15 09:11:58

--------------------------------------
发多了:?

hanzg 发表于 2004-7-21 20:15:24

看毛德操的情景分析最后一章,里面有答案的。
/*
* Enable paging
*/
3:
        movl $swapper_pg_dir-__PAGE_OFFSET,%eax
        movl %eax,%cr3                /* set the page table pointer.. */
        movl %cr0,%eax
        orl $0x80000000,%eax
        movl %eax,%cr0                /* ..and set paging (PG) bit */
        jmp 1f                        /* flush the prefetch-queue */
1:
        movl $1f,%eax
        jmp *%eax                /* make sure eip is relocated */
页: [1]
查看完整版本: 新手的疑惑