《自己动手写操作系统》 第一章总结

俗话说万事开头难,为了督促自己能在假期好好学习,打算认真做一下学习笔记。先记录一下在学习过程中遇到的问题和解决方案:


  • 自己动手写操作系统 第一章总结

    • 书籍和工具下载地址
    • 工具选择
    • 代码实现
    • 编译与运行
    • 运行结果

书籍和工具下载地址

在安装完nasm之后需要将其安装路径添加到系统环境变量中

工具选择

  • 代码编辑器——Sublime Text
  • 汇编编辑器——NASM
  • 程序加载软件——vmware

代码实现

  • 代码部分
    org 07c00h                  ;告诉编译器程序加载到7c00处; org 0100hmov ax, csmov ds, axmov es, axcall    DispStr             ;调用显示字符串例程jmp $                       ;无限循环
DispStr:mov ax, BootMessagemov bp, ax                  ;es:bp = 串地址mov cx, 16                  ;cx = 串长度mov ax, 01301h              ;ah = 13, al = 01hmov bx, 000ch               ;页号为0(bh=0)黑底红字(bl = 0Ch,高亮)mov dl, 0int 10h                     ;10h号中断ret
BootMessage:        db "Hello, Os world!"
times 510-($-$$)    db 0        ;填充剩下的空间,使生成的二进制代码恰好为512字节dw  0xaa55                      ;结束标志

编译与运行

首先将asm文件编译成bin文件:

nasm [文件名].asm -o [输出文件名].bin

因为是使用的软盘,所以需要将bin文件再转化成img文件,可以直接使用书中提供的工具FloppyWriter。

  • 运行环境

    书本作者使用的是Virtue PC作为工作环境,不过我还是更习惯使用vmware。

  • 运行过程

    书本上是使用软盘绝对扇区读写工具将编译好的bin文件写入空白软盘的第一个扇区,但是现在软盘已经很难找了。但是好在vmware可以编辑虚拟机设置添加软盘这类硬件。如下:

  • 首先选择“编辑虚拟机设置”

  • “添加”
  • 添加软盘类型的硬件
  • 使用软盘映像
  • 选择已经生成的IMG文件,点击确定
  • 这样就多了一个软盘的硬件

运行结果

好啦,我们开启虚拟机看看运行结果:

第一个程序运行成功!

《自己动手写操作系统》 第一章总结相关推荐

  1. 全面剖析《自己动手写操作系统》第四章---加载Loader.bin

    全面剖析<自己动手写操作系统>第四章--FAT12文件系统    http://blog.csdn.net/zgh1988/article/details/7284834 1.突破512字 ...

  2. 《自己动手写操作系统》读书笔记——初识保护模式

    <自己动手写操作系统>读书笔记--初识保护模式 http://www.cnblogs.com/pang123hui/archive/2010/11/27/2309930.html 书本第三 ...

  3. 自己动手写操作系统--个人实践

    近期開始看于渊的<自己动手写操作系统>这本书,刚開始看就发现做系统的引导盘居然是软盘!心里那个汗啊! 如今都是U盘了,谁还用软盘.于是考虑用U盘. 于是開始下面步骤: 1.既然书上说给先要 ...

  4. 操作系统第一章课后题

    操作系统第一章课后题 1. 设计现代OS的主要目标是什么? 答:方便性,有效性,可扩充性和开放性 2. OS的作用可表现在哪几个方面? 答:(1) OS作为用户与计算机硬件系统之间的接口.(2) OS ...

  5. 自己动手写操作系统之环境构建篇

    自己动手写操作系统之环境构建篇 最近开始看自己动手写操作系统,但是书中采用软盘启动很是郁闷,于是想是否可以从优盘启动呢?作为一名BIOS工程师,曾经用优盘启动过dos,linux等系统,于是做了如下尝 ...

  6. 「操作系统」《自己动手写操作系统》1.1前期准备工作

    一.软硬件 1.硬件 一台计算机(笔者使用的是Win7 x64操作系统) 2.软件 点击此处下载<自己动手写操作系统>的光盘配套文件以及相应工具 汇编编译器:NASM(资源文件中有) 软盘 ...

  7. 自己动手写java虚拟机_自己动手写操作系统(要了解的知识点)

    自己动手写操作系统(开篇) 自己动手写操作系统(字符显示) 说明:Intel 8086 或者不同的处理器,开机寄存器数据可能不一样,但是大致原理差不多 了解过计算机启动的同学肯定知道,当计算机启动的时 ...

  8. 自己动手写操作系统0

    文章目录 自己动手写操作系统0 环境搭建 NASM VirtualBox 添加软盘启动 VMware 开启虚拟机 其他软件 Floppy 自己动手写操作系统0 参考余渊老师写的<自己动手写操作系 ...

  9. 王道-操作系统-第一章

    王道-操作系统-第一章 1.概念.功能.目标 熟悉的操作系统 windows/linux/macos/ios/Android 1.1 概念 层次结构 定义 1.2 功能和目标 作为系统资源的管理者 进 ...

  10. 自己动手写操作系统——(1)将引导写入U盘

    为什么写博客呢,想了一下,首先是为了给自己留着复习用,因为时间一长,肯定有好多东西会忘记的,在这里留个记录,以后再整理起来就不会太麻烦了:再者是为了分享一下经验,由于在下比较愚笨,说不定在哪个方面就理 ...

最新文章

  1. 正则表达式限制输入整数或小数
  2. 计算机系教研工作计划,计算机教研室工作计划怎么写
  3. 大数据处理架构Hadoop
  4. Git 中文详细安装教程01(安装篇)
  5. 追加一列 python_常用的python代码总结
  6. linux设备模型(8)_platform设备,Linux设备模型之platform总线
  7. linux 下Eclipse for C/C++的不常见设置
  8. 如何向小白讲述软件架构发展历程?
  9. 微软 Azure App Service 漏洞 NotLegit已存在4年,客户源代码被暴露
  10. 长沙理工考研2021计算机软件科目,2021考研进行时:速览最新招生信息
  11. 通信原理实验(〇):音频信号的播放蒙特卡洛模拟
  12. php黑名单,php IP黑名单
  13. Infinity 插件设置
  14. 老电脑适合用linux,老旧电脑适于装什么操作系统
  15. 【转载】英语动词过去式ed的发音规则
  16. id 查找apple,怎么查找我的apple id?
  17. 腾讯QQ空间穿越时光轴3D特效
  18. 【工具】MobaXterm常用设置
  19. vijos-p1063 2008.11.6
  20. 2020年中国水牛奶业生产现状及竞争格局分析,广西省水牛奶产量全国第一「图」

热门文章

  1. 【photoshop Action Manager】动作管理器- 获取预设管理器信息
  2. 初中数学最全几何模型_初中数学几何模型秘籍.pdf
  3. WP10回滚WP8.1详细教程,变砖也可修复
  4. unity使用BMFont制作位图字体
  5. 嵌入式linux系统网络通信,基于Linux操作系统下的TCP/IP网络通信研究与应用-嵌入式-电子工程世界网...
  6. UE4 C++:Interface接口
  7. 迅雷下载资源提示:敏感资源
  8. linux运维好书《高性能Linux服务器构建实战Ⅱ》已出版发售,附封面照!
  9. Maven中央仓库地址和Nexus 下载地址
  10. 马尔科夫蒙特卡洛算法(MCMC)