orange's学习--第四章:指定内存位置理解

计算机cpu自动上电后,处于实模式,部分寄存器就会设置成初始值,例如CS=0xFFFF IP=0x0000,一般是在此处就会设置一个长跳转指令,BIOS程序的地址必须是转化到跳转指定约定的地址。

BIOS执行系统检测,并在物理地址0处开始初始化中断向量。 此后,它将可启动设备的第一个扇区(磁盘引导扇区,512字节)读入绝对内存地址0x7C00处,并跳转到这个地方。(注:如果从软盘启动软盘的0道0面1扇区中装有操作系统引导程序,int 19h 将其装在到0:7c00处后,设置CPU从0:7c00开始执行此处的引导程序,操作系统被激活,控制计算机。)

操作系统文件开始存储在外部存储设备例如软盘、硬盘,当控制权限交给操作系统的引导程序后,引导程序从外部存储把需要的程序文件读入到指定内存位置后,最简单的就是直接跳转到此内存位置即可;但是后来为了调试简单,生成的程序文件比较复杂例如ELF格式的程序文件,这个时候把程序文件读入到指定内存位置后,无法直接执行,需要按照格式移动文件后才可以跳转到约定地址处进行执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值