编写操作系统的第一步,就是让自己写在软盘上的系统自启动

ps:本次程序运行在虚拟机上

开发工具(评论留邮箱发)

第一步

新建一个文件夹,为了方便起见,就为project1吧
在该文件夹里新建一个文本文件,改变它的扩展名为.nas,这里就为my_hello.nas吧
将开发工具复制到这个文件夹中:
一个是!cons_nt.bat
另一个是nask.exe

第二步

编写汇编代码

;hello-os
;TAB=4
;以下这段是标准FAT12格式软盘专用代码DB 0xeb,0x4e,0x90DB "HELLOIPL" ;启动区的名称可以是任意的字符串(8byte)DW 512  ;每个扇区的大小为512byteDB 1  ;簇的大小为1sectorDW 1  ;FAT起始位置DB 2  ;FAT个数DW 224  ;根目录的大小DW 2880  ;该磁盘大小DB 0xf0  ;磁盘种类DW 9  ;FAT的长度DW 18  ;1个磁道18个扇区DW 2  ;磁头数DD 0  ;不使用分区DD 2880  ;重写一次磁盘的大小DB 0,0,0X29  ;DD 0xffffffff  ;DB "HELLO-OS   " ;磁盘名称11byteDB "FAT12   " ;磁盘格式名称8byteRESB 18  ;空18byte;程序主题DB 0xb8,0x00,0x00,0x8e,0xd0,0xbc,0x00,0x7cDB 0x8e,0xd8,0x8e,0xc0,0xbe,0x74,0x7c,0x8aDB 0x04,0x83,0xc6,0x01,0x3c,0x00,0x74,0x09DB 0xb4,0x0e,0xbb,0x0f,0x00,0xcd,0x10,0xebDB 0xee,0xf4,0xeb,0xfd;信息显示部分DB 0x0a,0x0a  ;2个换行DB "hello world qian"DB 0x0a  ;DB 0RESB 0x1fe-$  ;填写0x00,直到0x001feDB 0x55,0xaa;以下是启动区以外部分的输出DB 0xf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00RESB 4600DB 0xf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00RESB 1469432

第三步

将汇编代码变成执行文件。
打开!cons_nt.bat
输入命令nask.exe my_hello.nas my_hello.img

第四步

运行代码
建立一个虚拟机这里我用的是VMware Workstation,没有的小伙伴可以上网上下载或者评论区留言

建立一个软盘

使用软盘映像文件选择刚刚生成的my_hello.img。

开启虚拟机

效果

零基础编写操作系统系列——电脑自启动hello world相关推荐

  1. 小白零基础重装操作系统Win10

    小白零基础重装操作系统Win10(由win7 32位重装成win10 64位并重新分区) 相信有不少没有装过操作系统的朋友和我一样,当需要重装系统的时候第一时间就想到了号称万能的某娘,但是某娘上的内容 ...

  2. 零基础学前端系列教程 | 和前端谈恋爱的第003天——电影海报

    温馨提示:被[]包裹的是专有名词,详细介绍见下文的恋爱宝典,你可以在目录中快速找到它们,有任何问题/建议,欢迎随时微信我,我是朝阳 13908056224! 约会邀请函已经做好了,但迟迟没有发出去 零 ...

  3. 零基础学前端系列教程 | 和前端谈恋爱的第006天——了解喜好

    温馨提示:被[]包裹的是专有名词,详细介绍见下文的恋爱宝典,你可以在目录中快速找到它们,有任何问题/建议,欢迎随时微信我,我是朝阳 13908056224! 这是姐姐传授给我的恋爱秘籍 -- 投其所好 ...

  4. 中秋佳节速成C语言_老九零基础学编程系列之C语言【章节1-章节5】

    前言 现在是北京时间2019.09.13 11:16 今天是月饼节啊!祝大家月饼节快乐~ 然而~作为一个本科来自生科院的工科女 为了当C语言助教 只能? 值此佳节,凿壁偷光/勤学苦练/悬梁刺骨/孙康映 ...

  5. php 动态彩码辨色 接口的调用_好用的云函数!后端低代码接口开发,零基础编写API接口...

    前言 在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作. 不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人, ...

  6. 零基础如何入门学习电脑编程?

    零基础如何入门学习电脑编程?有哪些好的方法呢?现在带着疑问一起去了解一下吧. 1.了解编程历史的意义 了解一些编程的实质远比知道如何编程更有意义,不要在编程是怎么回事的情况下就去学习编程,这样对你的学 ...

  7. 免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上)

    本节我们开始讲python数据类型之bytes类型,我们分为上下两个章节. 你可以直接到这个页面观看本节视频:免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上) 以下为对应的 ...

  8. 零基础数据挖掘入门系列(三) - 数据清洗和转换技巧

    思维导图:零基础入门数据挖掘的学习路径 1. 写在前面 零基础入门数据挖掘是记录自己在Datawhale举办的数据挖掘专题学习中的所学和所想, 该系列笔记使用理论结合实践的方式,整理数据挖掘相关知识, ...

  9. 【Python零基础快速入门系列 | 03】AI数据容器底层核心之Python列表

    • 这是机器未来的第7篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/124957520 <Python零基础快速入门 ...

最新文章

  1. 在线作图|如何画韦恩图(包含upset图)
  2. python os 检查同名_2020Python 爬虫面试题,高薪就业Python面试必看
  3. @onetoone中被控表不能做自我删除吗?_儿童生活自律表,孩子总是不能坚持,那是因为父母犯了这4个错误...
  4. basename php 中文,php basename不支持中文怎么办
  5. 从远程(包括ftp,http等协议)地址获取文件流信息
  6. Oracle坏块处理常用SQL
  7. django filter查询多选_django model filter查询
  8. Java:PULLXML解析XML(内附jar包链接)
  9. c语言char aa 1000,char ** 与char * a[ ] 区别
  10. bzoj5056:OI游戏
  11. easypoi的学习笔记
  12. 如何实现Windows Network所有会话的限制登录和访问控制
  13. ElasticSearch5.0——IK词库加载
  14. 游戏开发及游戏(2D/3D,Cocos2d Unity)小Demo(进行中)- Android
  15. CSS盒子模型居中方法,高级面试题+解析
  16. K8S Ingress的安装与使用
  17. 分布式系统三大指标:可扩展性、一致性、持久性
  18. 【C语言】奥运参赛国出场次序
  19. JavaScript:实现按字典顺序查找给定字符串的所有不同的非空子序列算法(附完整源码)
  20. 爬取今日头条收藏夹文章列表信息

热门文章

  1. 挑战:对目前所有过图掉线情况和CPU负荷,网络负载的原因分析
  2. Scala偏函数与部分函数
  3. Matlab系列之脚本与函数M文件与函数句柄
  4. class org.springframework.scheduling.quartz.CronTriggerBean
  5. 脱壳系列—— 揭开so section加密的美丽外衣
  6. 成都邮储信息技术岗实习面试准备
  7. 【檀越剑指大厂--redis】redis高阶篇
  8. libtorch中tensor的data_ptr使用和巨坑
  9. Netty教程07:心跳检测机制
  10. 从00后小学生到童心工程师:让我们荡起“飞桨”,共度快乐六一