零基础编写操作系统系列——电脑自启动hello world
编写操作系统的第一步,就是让自己写在软盘上的系统自启动
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相关推荐
- 小白零基础重装操作系统Win10
小白零基础重装操作系统Win10(由win7 32位重装成win10 64位并重新分区) 相信有不少没有装过操作系统的朋友和我一样,当需要重装系统的时候第一时间就想到了号称万能的某娘,但是某娘上的内容 ...
- 零基础学前端系列教程 | 和前端谈恋爱的第003天——电影海报
温馨提示:被[]包裹的是专有名词,详细介绍见下文的恋爱宝典,你可以在目录中快速找到它们,有任何问题/建议,欢迎随时微信我,我是朝阳 13908056224! 约会邀请函已经做好了,但迟迟没有发出去 零 ...
- 零基础学前端系列教程 | 和前端谈恋爱的第006天——了解喜好
温馨提示:被[]包裹的是专有名词,详细介绍见下文的恋爱宝典,你可以在目录中快速找到它们,有任何问题/建议,欢迎随时微信我,我是朝阳 13908056224! 这是姐姐传授给我的恋爱秘籍 -- 投其所好 ...
- 中秋佳节速成C语言_老九零基础学编程系列之C语言【章节1-章节5】
前言 现在是北京时间2019.09.13 11:16 今天是月饼节啊!祝大家月饼节快乐~ 然而~作为一个本科来自生科院的工科女 为了当C语言助教 只能? 值此佳节,凿壁偷光/勤学苦练/悬梁刺骨/孙康映 ...
- php 动态彩码辨色 接口的调用_好用的云函数!后端低代码接口开发,零基础编写API接口...
前言 在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作. 不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人, ...
- 零基础如何入门学习电脑编程?
零基础如何入门学习电脑编程?有哪些好的方法呢?现在带着疑问一起去了解一下吧. 1.了解编程历史的意义 了解一些编程的实质远比知道如何编程更有意义,不要在编程是怎么回事的情况下就去学习编程,这样对你的学 ...
- 免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上)
本节我们开始讲python数据类型之bytes类型,我们分为上下两个章节. 你可以直接到这个页面观看本节视频:免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上) 以下为对应的 ...
- 零基础数据挖掘入门系列(三) - 数据清洗和转换技巧
思维导图:零基础入门数据挖掘的学习路径 1. 写在前面 零基础入门数据挖掘是记录自己在Datawhale举办的数据挖掘专题学习中的所学和所想, 该系列笔记使用理论结合实践的方式,整理数据挖掘相关知识, ...
- 【Python零基础快速入门系列 | 03】AI数据容器底层核心之Python列表
• 这是机器未来的第7篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/124957520 <Python零基础快速入门 ...
最新文章
- UNIYT关于V S2017,VS2019断点调试卡住的问题
- mybatis配置文件解析错误解决方法
- L1-046 整除光棍 (20分)(模拟除法竖式求商的位运算)
- java-jar jvm_使用Java流和In-JVM-Memory的超低延迟查询
- [转载]struts+hibernate遇到的错误总结
- mediastreamer2 的简介
- PCA对特征点描述子降维
- sublime 插件安装;sublime的 babel、sublime-jsfmt插件
- 【Cqoi2006】【BZOJ2222】猜数游戏(乱搞)
- 查看oracle中的中文所占字节数
- 分盘后磁盘空间不够,用分区助手增加某个磁盘空间
- layuiadmin上手好难_滑步车比赛好拍吗?
- Java 删除文件/文件夹
- 超实用,这是我见过最全面的python入门教程,高中生不要错过
- Appium+python(1):python运行真机App程序示例
- python strip( )函数
- Linkage Mapper 之 Barrier Mapper 功能解析(含实际案例分析)
- Android超简单时间轴的实现
- MPB:中科院城环所杨军组-​​基于DNA宏条形码的水体微型真核生物群落测序建库方法...
- 【人工智能】院士谈新一代人工智能五大智能方向
热门文章
- 入职微软,Work Life Balance
- 养殖场智能监控系统方案
- Java求抛物线输入角度速度_模拟一条抛物线如何根据抛出角度,力度在计算物体的飞行轨迹?最好考虑空气的阻力,哪位达人能给一个公式么...
- 摩根大通财报里,美国梦何所依
- 骑行运动耳机哪个好,最值得入手的五款骑行运动耳机推荐
- Scrapy框架简单爬虫demo
- 视觉SLAM融合GPS尝试
- [猴子摘桃 ]有一只猴子,摘了很多桃子,每天吃下全部桃子数量一半+1, 第十天吃完之后发现还剩下1个,问:最初摘了多少
- android开发如何快速定位bug_三种bug定位方法
- viterbi java_viterbi 维特比解码过程,状态转移矩阵