Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html
在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,如今已经可以进入保护模式了,简单引入了C语言,接下来我们编写自己的内核。
0. 汇编生成ELF完成实模式到保护模式跳转的这一任务是由loader进行的,而我们不应该用loader做太多的事,loader只需要完成跳转就好了,剩下的工作交给内核。
为了加载内核到内存,需要使用ELF格式,如何编译这种格式呢?
来看看下面这个例子。
[section .data] strHello db "Hello, Antz !", 0Ah STRLEN equ $ - strHello [section .text] global _start _start: mov edx, STRLEN mov ecx, strHello mov ebx, 1 mov eax, 4 int 0x80 mov ebx, 0 mov eax, 1 int 0x80