摘要:
点阵字库字母Y对应bit值字母A对应bit值00000000000000000000000000000000MMMM01100110M00010000MMMM01100110MMM00111000MMMM01100110MMMM01101100MMMM01100110MMMM11000110MMMM...
阅读全文
posted @ 2015-11-10 13:09
ya20151015
阅读(285)
推荐(0)
摘要:
颜色的生成 前面我们使用了一个值0x7ff,将此值填入显卡地址后显示的是一个蓝色的点,那么这个值是怎么来的呢? 色彩是由红、绿、蓝三色按不同配比而组成的. 不同色彩的值经过一定形式组合后,会产生各种不同的色彩。 三种颜色的值从0到255,代表三色的强弱,分别对应值0x0 - 0xff。每种颜色是8位,三种颜色就占24位,但是我们的图形模式是16位颜色,其中r:g:b是按5:6:5占位,共16位...
阅读全文
posted @ 2015-11-07 13:42
ya20151015
阅读(452)
推荐(0)
摘要:
使用C语言编写内核到目前为止,我们可以使用32位编程了,但是用汇编编程还是一件比较枯燥、比较痛苦的事,下一步我们想用C语言编写32位系统,那么怎么办?办法就是在kernel.asm使用call语句直接调用C程序。具体过程如下:汇编文件kernel.asm生成中间文件kernel.asmo。C文件ke...
阅读全文
posted @ 2015-11-06 21:31
ya20151015
阅读(272)
推荐(0)
摘要:
图形模式图形模式可以为我们显示的图片,显示汉字,为我们带来色彩艳丽、内容丰富的界面。首先介绍设置显卡模式中断:int 10h查看文档找到下面资料:Int 10/AX=4F02h - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE这时是设置为SuperVGA模...
阅读全文
posted @ 2015-11-06 21:29
ya20151015
阅读(415)
推荐(0)
摘要:
用32位指令编写程序上面用补充机器码的方式编写32位指令实在是麻烦,我们可以把16位与32位指令分离,分别编写16位与32位程序,这样就方便多了。kernelloader跳转到32位的kernel.asm程序修改kernelloader.asm,源码如下: [BITS16] jmp maingdt_...
阅读全文
posted @ 2015-11-06 21:27
ya20151015
阅读(260)
推荐(0)
摘要:
实模式与保护模式互相跳转从这里开始我们就要告别实模式,实现保护模式了。首先了解一些相关知识。段描述符的具体格式段描述符长8个字节64位。重点说明: 空描述符: ; 这是保护模式要求保留的,第一个段必须是空段,空描述符的64位全是0 dd 0 dd 0 对于代码段字节5: db 100110...
阅读全文
posted @ 2015-11-06 21:23
ya20151015
阅读(210)
推荐(0)
摘要:
关于磁盘的数据存储和定位 这是一个磁盘示意图: 一个磁盘有两面。0面和1面。 磁道共80个,编号由外向里(0号-79号)。 扇区(Sector)是磁盘存储的最小单位,一个扇区有512字节,一个磁道有18个扇区(1号-18号)。 为方便存取文件必须对扇区进行编号,这编号称为软盘地址。软盘地址由磁头号、磁道号、扇区号三部分组成。 (1)磁头号。0面对应0号磁头,1面对应1号磁头。 (...
阅读全文
posted @ 2015-11-06 15:29
ya20151015
阅读(251)
推荐(0)
摘要:
使用makefile文件那么用批命令来编译程序是不是就够用了?还不够,这里我们要使用批命令+makefile文件方法。首先介绍如何写makefile。打开notepad++写入以下内容:#######################声明要编译的所有组成,这里的ya是本工程名称,可以取任何名字,这里就...
阅读全文
posted @ 2015-11-06 15:16
ya20151015
阅读(241)
推荐(0)
摘要:
想把自己的一些体会写出来,希望起到抛砖引玉的作用,能对大家有一些帮助。
可以显示图片及汉字,可以连接网络
阅读全文
posted @ 2015-11-05 22:13
ya20151015
阅读(308)
推荐(0)