linux0.11 head.s

head.s

功能概述:

  • 1) 将256个idt表设置到0x5000之后地址处
  • 2) 将256个gdt表设置到0x5000之后地址处
  • 3) 检查A20地址线是否开启
  • 4) 检查是否有浮点运算协处理器,没有则使用软件模拟
  • 5) 将main函数地址压入堆栈,ret后跳转到main函数执行
  • 6) 设置页目录和页表,随后在CR3中填写页目录地址,CR0中使能页寻址

head.s之后的内存布局:

main.c
gdt (2kb)
idt (2kb)
head.s中ISR等部分代码
软盘缓冲区 (1kb)
pg3 (4kb)
pg2 (4kb)
pg1 (4kb)
pg0 (4kb)
页目录表 (4kb)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值