草庐IT

自己动手从零写桌面操作系统GrapeOS系列教程——17.用汇编语言清空屏幕

学习操作系统原理最好的方法是自己写一个简单的操作系统。在QEMU中会默认输出一些字符,有时候会干扰我们自己输出的字符。一个比较好的办法是向将屏幕清空,再输出我们想要输出的字符。下面就来学习如何清空屏幕。一、清空屏幕其实清空屏幕的原理很简单,就是将屏幕写满空格就行了。下面来实战。mbr8.asm代码如下:;定义常量(作用和C语言中的#define一样)VIDEO_CHAR_MAX_COUNTequ2000;默认屏幕最多显示字符数。org0x7c00;初始化段寄存器movax,0xb800moves,ax;本程序中es专用于指向显存段;清屏callfunc_clear_screenstop:hlt

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

学习操作系统原理最好的方法是自己写一个简单的操作系统。在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为:在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为6、5、4。然后将该段内存数据写入到硬盘的第2个扇区,并查看虚拟硬盘第2个扇区的数据是否与内存中0x7e00~0x7fff的数据一致,如果一致则说明写硬盘成功。本讲代码文件只有一个boot2.asm。boot2.asm代码如下:;定义常量DISK_BUFFERequ0x7e00;临时存放数据用的缓存区,放到

自己动手从零写桌面操作系统GrapeOS系列教程——17.用汇编语言清空屏幕

学习操作系统原理最好的方法是自己写一个简单的操作系统。在QEMU中会默认输出一些字符,有时候会干扰我们自己输出的字符。一个比较好的办法是向将屏幕清空,再输出我们想要输出的字符。下面就来学习如何清空屏幕。一、清空屏幕其实清空屏幕的原理很简单,就是将屏幕写满空格就行了。下面来实战。mbr8.asm代码如下:;定义常量(作用和C语言中的#define一样)VIDEO_CHAR_MAX_COUNTequ2000;默认屏幕最多显示字符数。org0x7c00;初始化段寄存器movax,0xb800moves,ax;本程序中es专用于指向显存段;清屏callfunc_clear_screenstop:hlt