自己动手从零写桌面操作系统GrapeOS系列教程——13.向MBR中写入程序

前面铺垫了这么久,今天终于开始写程序了。本讲将介绍3个逐步深入但非常简单的程序,一方面是让大家熟悉开发流程,另一方面是顺便解决前面遇到的CPU占用率高的问题。一、mbr1.asm回顾mbr1.asm的代码之前我们介绍过,这里我们回顾一下代码和演示步骤。mbr1.asm代码如下:;生成一个空的MBRtimes 510 db 0 ;前510个字节全为0db 0x55,0xaa ;最后两个字节是0x55和0xaa。 下面我们来演示:1.启...

自己动手从零写桌面操作系统GrapeOS系列教程——20.汇编语言读硬盘实战

本讲我们设计一个简单的读硬盘实验。通过一定的方法使硬盘第二个扇区的前3个字节依次为1、2、3,最后3个字节依次为3、2、1,中间的506个字节全为0。然后通过读硬盘程序将硬盘第二个扇区的数据读取到内存0x7e00-0x7fff的地方,也就是内存中MBR之后的512个字节。最后通过QEMU+DGB调试的方式来查看内存中0x7e00-0x7fff的数据,是否与硬盘第二个扇区中的数据一致,如果一致说明读硬盘成功。本讲代码文件共2个: data1.as...

自己动手从零写桌面操作系统GrapeOS系列教程——24.加载并运行loader

之前我们在电脑的启动过程中介绍过boot程序的主要任务就是加载并运行loader程序,本讲我们就来实现。本讲代码文件共2个: boot.asmloader.asm 一、代码及讲解本讲所用到的知识点都是之前已经用过的,只是在本讲中综合应用了一下。关于如何读取文件在上一讲中已经介绍过了,我们只要在上讲代码中把要读取的文件名改成loader的文件名"LOADER  BIN"即可读取loader程序文件。本讲的boot.asm就是在上讲的基础上...

自己动手从零写桌面操作系统GrapeOS系列教程——8.x86介绍

由于GrapeOS目前只支持x86,所以本讲我们简单的介绍一下x86。百度百科上是这样介绍的:x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。 中央处理器就是我们平时说的CPU,英文全称是Central Processing Unit。有人可能对指令集不是很清楚。计算机的运行过程主要就是CPU执行各种指令的过程,某种CPU能执行的所有指令的集合就叫该种CPU的指令集。但光这么说感觉有点泛泛而谈。其实指令集就是CPU的...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.012090(s)
2024-04-20 01:31:07 1713547867