自己制作一个简单的操作系统二[CherryOS]

时间:2022-01-13 13:51:33

自己制作一个简单的操作系统二[CherryOS]

我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作

一. 一点说明

  这个操作系统只是第一步, 仅仅是开机显示一个hello cherryos, 不够万物开头都是 hello xxxx 不是吗?(┗( ´・∧・`)┛)

特别说明一下: 我们需要在一个纯英文的路径里制作自己的操作系统.  为什么, 为啥 我也不知道;

  我的路径是:

自己制作一个简单的操作系统二[CherryOS]

二. 开始编写

1. 使用一个文本编辑器在上述目录下新建一个文件, boot.sam

2. 在boot.asm中写入以下汇编代码, 汇编不会? 去学啊!!!

org 07c00h ; 告诉编译器程序加载到7c00处

mov ax, cs

mov ds, ax

mov es, ax

call DispStr ; 调用显示字符串例程

jmp $ ; 无限循环

DispStr:

mov ax, BootMessage

mov bp, ax ; ES:BP = 串地址

mov cx, 16 ; CX = 串长度

mov ax, 01301h ; AH = 13,  AL = 01h

mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)

mov dl, 0

int 10h ; 10h 号中断

ret

BootMessage: db "Hello CherryOS!" ; 开机后在屏幕上显示的字符串

times  510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节

dw  0xaa55 ; 结束标志

自己制作一个简单的操作系统二[CherryOS]

 3. 保存一下

三. 编译操作系统

1. 在NASM目录下, 按下shift 加右键 选择在此处打开powershell 之后输入以下命令

./nasm ../boot.asm -o ../boot.bin

自己制作一个简单的操作系统二[CherryOS]

 汇编命令解释: nasm 被编译文件名 -o 编译后文件名   更多nasm可以点击这个学习一下

四. 制作虚拟软盘

1. 点击下载这个 CherryOS.img文件

2. 打开一中的FloppyWriter.exe, 进行下面的操作

自己制作一个简单的操作系统二[CherryOS]

 先选择boot.bin文件

自己制作一个简单的操作系统二[CherryOS]

 然后选择CherryOS.img

自己制作一个简单的操作系统二[CherryOS]

 提示成功!

自己制作一个简单的操作系统二[CherryOS]

五. 运行操作系统

我们这个系统是需要装载在软盘里面的, 由于时代的发展现在需要这个虚拟机里运行

1.在里虚拟机添加我们刚才做好的虚拟软盘

自己制作一个简单的操作系统二[CherryOS]

自己制作一个简单的操作系统二[CherryOS]

 自己制作一个简单的操作系统二[CherryOS]

 自己制作一个简单的操作系统二[CherryOS]

 自己制作一个简单的操作系统二[CherryOS]

 2. 点击启动我们的操作系统

自己制作一个简单的操作系统二[CherryOS]

 如果你刚才的操作都正确那么就是这样的

自己制作一个简单的操作系统二[CherryOS]

如果是这样的那么就是前面有什么地方错了, 再检查一下吧

自己制作一个简单的操作系统二[CherryOS]

 好了, 现在我们的一个简单的操作系统就做好了!

                      后续还会继续完善, 欢迎继续关注哦!

自己制作一个简单的操作系统二[CherryOS]的更多相关文章

  1. 实例学习SSIS(一)--制作一个简单的ETL包

    原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...

  2. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  3. 如何使用AEditor制作一个简单的H5交互页demo

    转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...

  4. TensorFlow练习13: 制作一个简单的聊天机器人

    现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...

  5. 手把手制作一个简单的IDEA插件(环境搭建Demo篇)

    新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...

  6. 制作一个简单的WPF图片浏览器

    原文:制作一个简单的WPF图片浏览器 注:本例选自MSDN样例,并略有改动.先看效果: 这里实现了以下几个功能:1.  对指定文件夹下所有JPG文件进行预览2.  对选定图片进行旋转3.  对选定图片 ...

  7. vue-cli安装以及创建一个简单的项目(二)(vuex使用、发行一个简单的app)

    1.vuex的使用 vuex是vue的状态管理中心,vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,常用于: 1.多个视图依赖同一状态(l例:菜单导航) 2.来自不同 ...

  8. CSS制作一个简单网页的下拉导航栏

    网页下拉导航栏的制作 网页下拉导航栏的制作很简单,只需要运用好CSS中伪选择器. 首先说明几个简单的伪选择器(比较常用的): link:连接平常的状态 visited:连接被访问过之后 hover:鼠 ...

  9. Flask学习之旅--用 Python + Flask 制作一个简单的验证码系统

    一.写在前面 现在无论大大小小的网站,基本上都会使用验证码,登录的时候要验证,下载的时候要验证,而使用的验证码也从那些简简单单的字符图形验证码“进化”成了需要进行图文识别的验证码.需要拖动滑块的滑动验 ...

随机推荐

  1. 『摄影欣赏』16幅 Romantic 风格照片欣赏【组图】

    今天,我们将继续分享人类情感的系列文章.爱是人类最重要的感觉,也可能是各种形式的艺术(电影,音乐,书,画等)最常表达的主题 .这里有40个最美丽的爱的照片,将激励和给你一个全新的视觉角度为这种情绪.我 ...

  2. easyui datagrid shift 多选

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...

  3. 从0打卡leetcode之day 6--最长回文串

    题目描述 给定一个字符串 s,找到 s中最长的回文子串.你可以假设 s 的最大长度为1000. 示例1 输入: "babad" 输出: "bab" 注意: &q ...

  4. mybatis-plus排除非表中字段

    使用 transient 修饰 private transient String noColumn; 使用 static 修饰 private static String noColumn; 使用 T ...

  5. Fitts’ Law &sol; 菲茨定律(费茨法则)

     Fitts’ Law / 菲茨定律(费茨法则) 补充一张雅虎ued绘制的关于Fitts’ Law的Q版小漫画,先初步了解下:   Fitts’ Law / 菲茨定律(费茨法则) Fitts’ Law ...

  6. 服务器群秒级别文件同步(ssh&plus;SHELL)

    1.介绍 \ 2.业务服务器远程更新浏览服务器文件的脚本 #!/bin/bash operate=$ ip=$ conf_file="/var/www/html/test/ip_list&q ...

  7. adobe flash player不是最新版本

    adobe flash player不是最新版本

  8. MySQL&plus;Navicat for MySQL安装

    一.安装MySQL 1.下载MySQL http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10-winx64.zip 2.安装 2.1解压安装包 ...

  9. CSS 字体常用属性

    一.字体大小  font-size:参数 /** * 参数:一.数字固定值,如20px * 二.父元素字体的百分比 * 三.smaller 比父元素更小 * 四.larger 比父元素更大 * 五.i ...

  10. 制作基于centos可以ssh连接的容器以及tomcat容器

    可以ssh连接的centos容器 参考:http://blog.csdn.net/mexel310/article/details/51705777 一. pull好镜像后,运行容器 1. docke ...