非科班,本人在学习《30天自制操作系统》过程中,遇到了很多的问题,因此希望通过此文章帮助更多的想提升基础的小白
小白的一句话总结:照着做好了,感觉很懵逼
第一天中的内容大部分为体验性质,汇编语言看不懂也没事,作者在后续的内容中会逐渐的介绍。
概述
看完可以做什么:
- 用二进制代码实现能显示'hello,word'的镜像文件
- 使用pc模拟器QEMU运行镜像文件
- 用汇编语言实现'hello,word'
成长目标:
- 体验二进制编程
- 了解一点汇编语言
- 了解操作系统中的一些术语
备注:
+在下载作者介绍的二进制编辑器时,可以通过浏览器的翻译插件将网页翻译为中文。
+我使用的系统为win10,在实验过程中,未直接给电脑装系统,使用的时作者提供的模拟器,在学习过程中未发现问题。
笔记:
汇编指令:
DB:往文件中直接写入1个字节的指令,也可以直接写字符串。
RESB: 在文件中空出一定的字节,在nask中还会给空出来的位置补0。
操作系统:
在启动区中最后2个字节必须为 0x55 AA 操作系统才会将程序做为启动程序。
拾遗:
- 汇编语言与机器语言(二进制文件)
cpu接受指令执行相关的处理,机器语言由cpu的指令集按照一定规则组成。在书中作者的二进制文件就是一条条指令组成的。
汇编语言中,通过助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。通过汇编程序可以将汇编语言可以生成二进制文件,二进制文件就是cpu可以处理的指令,让cpu完成相应的处理。比如:汇编语言中的 DB 0xeb ,就是直接给二进制文件中写入一条cpu指令 11101011(0xeb转为二进制的结果)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。