一、ELF文件结构如下图:
之所以要用ELF文件格式,是因为这样可以用C语言和汇编语言混合写内核代码。
二、ELF header及Program header详细介绍
nasm -f elf -o kernel.o kernle.asm
ld -s -Ttext 0x30400 -o kernel.bin kernel.o
此时,程序的入口地址就变成了0x30400,ELF header等信息会位于0x30400之前,此时ELF header和Program header table的情况如下图:
ELF header占52(34h)个字节,Program header每个占32个字节。
读者一定已经明白了,Program header描述的是一个段在文件中的位置(0H)、大小(40DH),以及它被放进内存后所在的位置(30000H)和大小(40DH)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)