美文网首页
day1引导程序

day1引导程序

作者: 柯基是只dog | 来源:发表于2018-11-30 14:44 被阅读0次

x86的机器在通电后内存是干净的,这时候就必须有一个初始程序提供加载等一些工作,这个就是bios了,bios一般写在芯片里,具有断电也能持久存储的性质。bios提供了硬件的驱动,以中断形式提供服务。以软盘启动为例,bios会把软盘第一个扇区内容读到内存的0x7c00处(这是规定,0地址开始的地方存着中断表等bios需要的东西),然后cpu就开始从0x7c00开始执行了。所以写一个引导程序就必须把我们的代码写到软盘的第一扇区中,因为一个扇区只有512K,而且最后两个字节必须是0xaa55结尾。那么我们的代码就必须在这规定的大小内完成。

今天完成的只是完成一个1.44M软盘的制作,并写一个在屏幕上输出helloworld的程序写到软盘的第扇区。

软盘制作命令:

1. 创建一张1.44M空白软盘镜像
dd bs=1024 if=/dev/zero of=yourname.img count=1024
2. 把boot.bin内容写到第一扇区
dd if=boot.bin of=yourname.img bs=512 count=1 conv=notrunc

运行环境:bochs

代码:https://github.com/Corgidog/kernel/tree/master/asm/day1

运行步骤

make
bochs -f bochsrc.bxrc

相关文章

  • day1引导程序

    x86的机器在通电后内存是干净的,这时候就必须有一个初始程序提供加载等一些工作,这个就是bios了,bios一般写...

  • 一周入门angularJS(一)

    AngularJS day1� :使用angular来引导整个html页面 ng-model="yourname"...

  • 引导程序

    由于编辑器太难用,无法粘贴复制代码、格式不习惯。转到博客http://blog.sina.com.cn/fengb...

  • 华工机器学习培训笔记

    Day1 一、上午 传统程序:数据 + 程序 -> 电脑 -> 输出机器学习:数据 + 输出 -> 电脑 -> 程...

  • 磁盘的引导程序

    From:wiki 引导程序 引导程序(boot loader) 位于电脑或其他计算机应用上,是指引导操作系统的程...

  • 越狱简介

    引导程序 启动设备时,所有的设备都会有引导程序,引导 ROM 只读内存,系统相关,验证,在启动系统之前验证,如果通...

  • 冥想DAY 1

    其实今天应该是day2,不过因为day1没有记录,所以还是把今天当做day1吧~ 今天冥想时,通过引导语,发现自己...

  • Android系统启动

    init进程 启动电源,加载引导程序,引导程序启动Linux内核,Linux内核加载完成后,首先启动 init 进...

  • Visual studio2019 ClickOnce打包添加自

    创建ClickOnce引导程序必备安装组件,如图 若要创建引导程序包,必须创建产品清单 产品清单 product....

  • 小程序引导

    小程序引导 现在小程序越来越受到关注,越来越受客户的喜爱,成了前端程序员必学技能之一。微信小程序和vue的写法大多...

网友评论

      本文标题:day1引导程序

      本文链接:https://www.haomeiwen.com/subject/bvrhcqtx.html