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
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)