怎样写一个简单的操作系统(5)
时间:2026-01-15
时间:2026-01-15
怎样写一个简单的操作系统
把它们从堆栈上弹回到寄存器中,这个主要用于当你想使用某些寄存器去干别的事情的时候,而你又不想破坏现在寄存器里面的值,那么你可以把寄存器里面的值压入堆栈,等处理完其他事情后再从堆栈上把值弹回寄存器中。
计算机的内存可以看作一个线性的空间,就像一个个连续的鸽子笼一样,它的范围从0开始直到你所安装的内存的最大值(现代计算机的内存高达数百万字节)。例如,你可能怎在使用浏览器来查看内存中53634246字节的一个文档文件,但是我们人类的计数是基于10的幂的(10,100,1000等等,也就是十进制),而计算机计数则是基于2的幂的(因为计算机使用2进制更好)。为了能更好的描述数字,我们使用16(基于16的幂)进制,可以对照下面的表格来理解:
如图中表格所示,我们平时都是使用的十进制计数系统,用0-9计数,十六进制计数系统使用0-F进行计数,对于没有接触过进制的人来说,可能有点困惑,不过没关系,很快你就能学会它。在汇编语言里面,我们通过在数字字符后面加上‘h’表示一个十六进制的数字,比如0Ah就表示十进制的10(你也可以通过加一个0x前缀的方式来表示十六进制,例如0x0A)。
让我们先来看看几条常用的汇编指令,主要是数据传送指令,比较指令和数学计算指令等等,它们将是构建你的操作系统的基石。总共大概有数百条汇编指令,不过你不需要全部记住它们,熟悉常用指令就可以了,因为90%的时间我们都是在使用其中的极少数指令。