用c语言先编写一个死循环 main.c
int main(void) {while(1);return 0;
}
编译该文件
gcc -c -o main.o main.c-- Ttext参数表示起始虚拟地址为0xc0001500 -e参数表示程序入口地址
ld main.o -Ttext 0xc0001500 -e main -o kernel.bin-- 将kernel.bin写入第9个扇区
dd if=/home/truthos/oscode/c5/c/kernel/kernel.bin of=/home/truthos/bochs/hd60M.img bs=512 count=200 seek=9 conv=notrunc
objdump -S ../kernel/kernel.bin
查看程序的汇编代码。
运行bochs虚拟机,程序也执行到了c代码。