运行简单的程序
(本节原来老师给的链接挂掉了)
所以这里直接编译运行了
本节大概就是
用汇编写了一个小程序 只有几行(这个小程序启动之后 hlt卡住)
我们写的操作系统 通过控制台命令 将其从软盘中载入到内存中运行 运行后 控制台卡住
就达到我们的目的了
这里放一个Makefile文件
可以实现自动打包的
在Makefile文件目录下 执行 make
即可实现对指令的执行 从而实现项目编译打包
ckernel_u.asm : ckernel.o ./objconv -fnasm ckernel.o ckernel_u.asm ckernel.o : write_vga_desktop.o win_sheet.o mem_util.o timer.o global_define.o multi_task.o i386-elf-ld -m elf_i386 -r write_vga_desktop.o mem_util.o win_sheet.o timer.o global_define.o multi_task.o -o ckernel.o write_vga_desktop.o : write_vga_desktop.c win_sheet.c win_sheet.h mem_util.c mem_util.h timer.c timer.h global_define.c global_define.h multi_task.c multi_task.h i386-elf-gcc -m32 -fno-asynchronous-unwind-tables -s -c -o write_vga_desktop.o write_vga_desktop.c win_sheet.o : win_sheet.c win_sheet.h i386-elf-gcc -m32 -fno-asynchronous-unwind-tables -s -c -o win_sheet.o win_sheet.c mem_util.o : mem_util.h mem_util.c i386-elf-gcc -m32 -fno-asynchronous-unwind-tables -s -c -o mem_util.o mem_util.c timer.o : timer.c timer.h i386-elf-gcc -m32 -fno-asynchronous-unwind-tables -s -c -o timer.o timer.c global_define.o: global_define.c global_define.h i386-elf-gcc -m32 -fno-asynchronous-unwind-tables -s -c -o global_define.o global_define.c multi_task.o : multi_task.c multi_task.h i386-elf-gcc -m32 -fno-asynchronous-unwind-tables -s -c -o multi_task.o multi_task.c