linux0.11 bootsect.s 分析

本文详细介绍了BIOS启动过程中的关键步骤,包括将bootsect.s自身移动到内存位置0x90000并设置堆栈,加载setup到内存0x90200,以及读取SYSTEM模块到0x10000起始地址。文章还探讨了使用AT&T语法进行汇编编程的基础知识,并对BIOS中断INT0x13进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bootsect.s

功能概述:

  • 1) 将自己移动到0x90000,设置堆栈
  • 2) 将setup由磁盘加载到内存0x90200
  • 3) 将SYSTEM模块读取到0x10000开始处

涉及基础知识

AT&T语法(AT&T语法目的操作数在后,立即数要加$,寄存器要加%,SS:SP SS是堆栈段地址,sp是堆栈偏移地址)

博客:

AT&T汇编入门
x86寄存器 Zachary.XiaoZhen - 梦想的天空
BIOS中断INT 0x13

疑问:

  • 1) 为什么BIOS加载引导扇区到地址0x7C00
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值