自制操作系统- 二

来源:互联网 发布:淘宝卖家群干什么用 编辑:程序博客网 时间:2024/05/02 01:01

                                                         汇编语言学习与makefile入门

1.首先是文本编辑器可以使用notepad++(从官网直接下载http://notepad-plus.org/).

2.helloos.nas程序核心部分。



ORG指令:origin,起点。告诉nask,程序从指定的地址开始,也就是把程序装载到内存中的指定地址。

JMP指令:jump,跳转。相当于c中的goto。

entry标签声明:入口。用于指定JMP指令跳转的目的地址等。

MOV指令:move,移动。理解mov指令就理解汇编一大半。指赋值的功能(把一个东西移走了,他原来占用的位置不会空出)


3.cpu的一种存储电路--寄存器,相当于变量的功能。以下列举几个寄存器:

这些寄存器都是16位,其中x代表扩展(extend)的意思。以上八个寄存器一共只有16字节。

八位寄存器:

此时,cpu存储能力仍为16字节。

4. 关于32位电脑,32位电脑cpu只有32字节。

在16位前加E(extern)!例如EAX,低16位是ax,高16位既没有名字也没有寄存器编号。只能用移位命令将高16位调到低16为才能用。很麻烦!

 5.  段寄存器(segment register)--16位

6.  MOV SI, msg   把标号赋值给寄存器!

   msg是下面出现的标号。(在汇编语言中,所有标号仅仅是单纯的数字。每个标号对应的数字,是由汇编语言根据ORG指令计算出来的。标号的地方对应的内存地址,就是那个标号的值)

7.  关于内存

memory,就是一个超大规模的存储单元“住宅区”,存储单元紧密、整齐地排列在一起。cpu存储能力很差(加上段寄存器才44字节,启动电脑所必需的启动区数据都放不下),有一套用于存储的电路。

        内存不在cpu内部。cpu需要通过自己的一部分管脚向内存发送电信号进行信息交换。并不仅仅是存取数据,cpu在执行机器语言时,必须从内存中一个一个命令的读取程序,顺序执行。

        实际电路中,离cpu有10厘米。


8.  BYTE-->WORD-->DWORD(8-->16-->32)

9. JE条件跳转指令。如果比较为零的话就跳,否则不。

10. INT软件中断指令。interrupt。

      BIOS(basic  input output system):为操作系统开发者准备的各种函数的集合。包括电脑的设定画面!int指令就是调用这些函数的指令。

11.HLT指令:是让电脑停止动作的指令。halt,停止。


makefile 入门

批处理文件。 没看懂