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

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. UNIYT关于V S2017,VS2019断点调试卡住的问题
  2. mybatis配置文件解析错误解决方法
  3. L1-046 整除光棍 (20分)(模拟除法竖式求商的位运算)
  4. java-jar jvm_使用Java流和In-JVM-Memory的超低延迟查询
  5. [转载]struts+hibernate遇到的错误总结
  6. mediastreamer2 的简介
  7. PCA对特征点描述子降维
  8. sublime 插件安装;sublime的 babel、sublime-jsfmt插件
  9. 【Cqoi2006】【BZOJ2222】猜数游戏(乱搞)
  10. 查看oracle中的中文所占字节数
  11. 分盘后磁盘空间不够,用分区助手增加某个磁盘空间
  12. layuiadmin上手好难_滑步车比赛好拍吗?
  13. Java 删除文件/文件夹
  14. 超实用,这是我见过最全面的python入门教程,高中生不要错过
  15. Appium+python(1):python运行真机App程序示例
  16. python strip( )函数
  17. Linkage Mapper 之 Barrier Mapper 功能解析(含实际案例分析)
  18. Android超简单时间轴的实现
  19. MPB:中科院城环所杨军组-​​基于DNA宏条形码的水体微型真核生物群落测序建库方法...
  20. 【人工智能】院士谈新一代人工智能五大智能方向

热门文章

  1. 入职微软,Work Life Balance
  2. 养殖场智能监控系统方案
  3. Java求抛物线输入角度速度_模拟一条抛物线如何根据抛出角度,力度在计算物体的飞行轨迹?最好考虑空气的阻力,哪位达人能给一个公式么...
  4. 摩根大通财报里,美国梦何所依
  5. 骑行运动耳机哪个好,最值得入手的五款骑行运动耳机推荐
  6. Scrapy框架简单爬虫demo
  7. 视觉SLAM融合GPS尝试
  8. [猴子摘桃 ]有一只猴子,摘了很多桃子,每天吃下全部桃子数量一半+1, 第十天吃完之后发现还剩下1个,问:最初摘了多少
  9. android开发如何快速定位bug_三种bug定位方法
  10. viterbi java_viterbi 维特比解码过程,状态转移矩阵