MacOS环境-手写操作系统-44-运行简单的程序 原创

运行简单的程序

(本节原来老师给的链接挂掉了)

所以这里直接编译运行了

本节大概就是

用汇编写了一个小程序 只有几行(这个小程序启动之后 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

在这里插入图片描述

posted @ 2023-01-12 16:42  武子康  阅读(0)  评论(0)    收藏  举报  来源