花了两天时间,MyOS终于可以支持VM86了,这样以后就可以在保护模式下实现一些以前只能在实模式下实现的功能。
其实,按照我的预期,MyOS是不准备支持16位的程序的,所以刚开始也就不打算支持VM86模式。不过,为了在系统运行过程中可以随时修改系统的分辨率,所以现在还是加入了对VM86的支持。这样,系统就可以通过VM86来调用int 10h,通过VESA来设置显卡的工作模式。
以前,MyOS只能在系统启动过程中,由bootloader在实模式下设置好显卡的工作模式,然后再通过参数传递给内核,现在则可以把设置显卡的工作交给内核自己来做了。
而且,这样,MyOS也可以不再用自己专用的bootloader了,可以使用grub这样符合Multiboot标准的bootloader。