首先,此操作系统不叫MyOS了,叫NOS
然后这个系统是分页了的,但是并没有什么问题啊,本质上加上段起始地址,映射成分页地址,但是段起始地址为0,分页地址根本没变,因此你就想象成根本没有任何地址机制就可以了。
函数是如何运行的呢?到那个地方call,当前地址被压入栈,返回时从栈中弹出,就是如此,如果你在之前压入参数,那么就有可能被函数地址覆盖。
数据段是怎么被赋予第一个GDT的呢?那是在boot的时候了。
虽然栈是向下增长的,SS段为0,但是好在SP是没问题的,它是什么时候赋予的呢?说实话不知道,应该是在最开始最开始。
果然,函数地址是向那里面压栈的,因此需要用EBP保存!
所有函数需要重新制作!
为什么tag能随便用?因为tag是数字!它被编译成了数字!
好了,我用自制编程语言重制了自制操作系统的绘图库,感觉很棒。