2 Star 3 Fork 0

林博珩 / Project

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
note.txt 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
林博珩 提交于 2021-06-08 22:05 . update
学习笔记:
1. 汇编的.o文件与.c文件链接时,汇编的标签前加'_'才会与C的名字等价
2. 32位C的结构体属性__attribute__((packed))貌似没有用,所以lidt的时候发生过错误,不过后来我直接用一个变量填充后解决了
3. 应该先初始化8259A中断控制器,再初始化8254时钟芯片,不然级联时会产生错误,时钟信号中断号不会改变
一周时间了,现在发现剩余的错误还有两个,一个是进入分页模式出了问题,另一个是发生了协处理器段超限的异常,
进而导致了双重异常和通用保护错误。(有谁能帮我查一下资料)
2021/3/22 - 2021/3/23:
我做这个项目9天了,足足有9天!!!今天我终于成功进入了用户态进程,不容易啊,"Hello World!"成功了!
不过话说回来,我这9天有7天都是高中上学日,我竟然能把这么大的工程量做出来了就离谱,足足100多KB来着。。。
不过我想你们是不是可以考虑帮我写库,就是这个项目里面的
啊这,之前那个进入方法貌似是有严重BUG的,到头来还是要解决0x77号中断和协处理器段超限的异常。。。
我发现页表怎么老是出错啊。。。看来我需要Intel开发手册了,C和汇编难于上青天。。。
链接器删符号发现自己写的100多KB的代码编译完只有16KB。。。
C
1
https://gitee.com/lin-boheng/project.git
git@gitee.com:lin-boheng/project.git
lin-boheng
project
Project
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891