码迷,mamicode.com
首页 > 其他好文 > 详细

30天自制操作系统读书笔记(四)

时间:2015-04-16 17:19:01      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

想要在画面里画点什么东西,就需要往VRAM的内存区里写入点什么东西。

但是如何写入呢?

作者先用了汇编:

         _write_mem8:         ; void write_mem8(int addr, int data);

                   MOV                  ECX,[ESP+4]               ; [ESP + 4]中存放的是地址,将其读入ECX

                   MOV                  AL,[ESP+8]                 ; [ESP + 8]中存放的是数据,将其读入AL

                   MOV                  [ECX],AL

                   RET

 

SP是指向栈的指针,C语言压入参数又是从右往做压的,而压栈又是高地址压入低地址,而32位一次入栈就是4个字节。所以自然而然,[ESP+4]的内容就是地址,+8那就是数据了。

 

 

下面的一些C语言代码我就省略了。

作者的第二个方法是使用指针。我觉得C语言的指针还是应该去好好了解的,建议看一下

《C和指针》这本书。

 

至于什么调色板,想来也是十分好理解。

因为设定调色板的时候要屏蔽中断,但是设定好了又要回复,所以作者写了2个函数,先屏蔽在回复。

 

哦,实在不想赘述太多,因为这一章没有啥新概念,单纯的一些C语言罢了。

 

30天自制操作系统读书笔记(四)

标签:

原文地址:http://www.cnblogs.com/You0/p/4432438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!