摘要:
先来看一个简单的Makefile,我们把它放在目录/boot下,可以用来编译boot.bin和loader.bin。 以字符#开头的行是注释。=用来定义变量,这里的ASM和ASMFLAGS就是两个变量,要注意的是,使用它们的时候要用$(ASM)和$(ASMFLAGS),而不是它们的原型。 .PHON 阅读全文
摘要:
现在把esp、GDT等内容放进内核中,我们现在可以用C语言了,只要能用C,我们就避免用汇编。 下面看切换堆栈和GDT的关键代码: 最后这4个语句完成了切换堆栈和更换GDT的任务。StackTop定义在.bss段中,堆栈大小为2KB。 函数首先把位于Loader中的原GDT全部复制给新的GDT,然后把 阅读全文