<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[r_drummer的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/r_drummer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; r_drummer]]></copyright><item><title><![CDATA[ORANGE'S之三-保护模式(3)]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8769577</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8769577</guid><author>r_drummer</author><pubDate>Sun, 07 Apr 2013 21:26:08 +0800</pubDate><description><![CDATA[五、端口
        计算机系统中所有设备都和CPU相连，但CPU不能直接和外围设备进行交互，CPU只和每个设备的寄存器交互数据，再又寄存器把数据传给设备。
        也就是
        CPU对每个设备的寄存器进行编号，称为端口，CPU根据编号访问寄存器，也就是访问端口。
  1、端口的读
        in accum port
        port：端口号]]></description><category></category></item><item><title><![CDATA[ORANGE'S之二-保护模式(2)]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8765087</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8765087</guid><author>r_drummer</author><pubDate>Sun, 07 Apr 2013 19:33:00 +0800</pubDate><description><![CDATA[5.内存分配
   保护模式下可以对内存进行任意分配，只要将分配好的内存信息传送值段描述符即可。
   例如：段描述符的填充：填充一个数据段描述符和一个代码段描述符，每个段大小为8M。
   则段界限为8M=1024*1024*8即2的23次方字节，800000H。而段界限只有20位，因此用段界限公式进行换算：limit*4k+0FFFH=段界限。将800000H代入公式，则limit应该写]]></description><category></category></item><item><title><![CDATA[ORANGE‘S之二-保护模式(1)]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8743773</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8743773</guid><author>r_drummer</author><pubDate>Mon, 01 Apr 2013 22:09:58 +0800</pubDate><description><![CDATA[最初开始ORANGE‘S的时候便是卡在了保护模式，感觉代码枯燥难懂，文字读了几遍，还是一片迷茫，想到自己基础太渣，于是看了大灰狼，保护模式终于有了一个基本的概念。因此笔记基本还是用的大灰狼的课程笔记，不过代码和实现环境是用的ORANGE‘S的了，最终的目的还是学习ORANGE’S。可惜大灰狼老师的第二部分一直没有找到，后面的学习进度自己也有些担心。
        了解保护模式首先从实模式开始。]]></description><category></category></item><item><title><![CDATA[从大灰狼到ORANGE'S-启动程序]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8743164</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8743164</guid><author>r_drummer</author><pubDate>Sun, 31 Mar 2013 19:45:47 +0800</pubDate><description><![CDATA[看了数次的大灰狼之后，终于可以将之与orange's联系起来了，大感兴奋。可惜在兴奋之中写的博客被自己不小心手贱放弃掉了。。。只得半个月后再来撰写。
        由于之前盲目跟着orange‘s果断换了linux后，其中的很多程序实现的debug又在无数次度娘帮助下完善解决，因此涉及解决问题的部分较少，主要还是理论的学习笔记总结。之后应该及时写下技术的debug过程，并持之以恒。
一、计算]]></description><category></category></item><item><title><![CDATA[大灰狼笔记五-中断]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8683698</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8683698</guid><author>r_drummer</author><pubDate>Tue, 19 Mar 2013 22:37:37 +0800</pubDate><description><![CDATA[大灰狼笔记五之中断
一，中断概念
        任何一个通用CPU都具备一种能力，可以在执行完成当亲正在执行的指令之后，检测到从CPU外部或内部产生的一种特殊信息，并立即对接受的信息进行处理。这种信息就是中断信息。（如开机Del后便进入BIOS设置）
        中断是指，CPU不再接着（刚执行完的指令）向下执行，而是转而处理这个特殊信息。
二，中断向量表
        CPU通]]></description><category></category></item><item><title><![CDATA[大灰狼笔记四-汇编hello,world]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8683389</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8683389</guid><author>r_drummer</author><pubDate>Tue, 19 Mar 2013 22:03:01 +0800</pubDate><description><![CDATA[大灰狼之四——第一个汇编hello,world
先来看一段C的hello,world实现

char msg[]="hello,world";
int main(int argc, char *argv)
{
     printf("%s\n",msg);
     return 0;
}
其中msg是全局变量，存放在数据段中，而printf是执行代码，存放在代码段中。
而汇编语言并不]]></description><category></category></item><item><title><![CDATA[大灰狼笔记三-堆栈]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8683373</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8683373</guid><author>r_drummer</author><pubDate>Sun, 17 Mar 2013 13:06:37 +0800</pubDate><description><![CDATA[大灰狼之三——堆栈
      CPU运行程序时需要将程序的局部变量或是参数存放在堆栈段中。堆栈是一种先进后出的数据结构，具体表现在内存中，也就是将一段连续的内存当做堆栈从高位向低位存放数据。
      由于堆栈的数据都存放在内存中，CPU要访问内存中的数据，自然要通过寄存器。因此也就有了存放堆栈数据在内存中地址的寄存器，SS和SP寄存器。SS储存堆栈段的基地址，SP存放堆栈段的偏移地址。而]]></description><category></category></item><item><title><![CDATA[大灰狼笔记二-寄存器]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8659018</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8659018</guid><author>r_drummer</author><pubDate>Mon, 11 Mar 2013 13:35:48 +0800</pubDate><description><![CDATA[大灰狼之二——CS，IP寄存器
       CS：code segment。字面理解，也就是跟代码有关的寄存器，存放代码的基地址。代码均在内存中，要找到它们除了基地址自然还有偏移地址，自然，IP寄存器也就是存放代码的偏移地址。也就是说，CS:IP地址下存放的内容就是CPU马上就要执行的程序的内容。
       而一段简单的代码：
       char msg[]="hello,worl]]></description><category></category></item><item><title><![CDATA[大灰狼笔记一-CPU结构]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8658969</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8658969</guid><author>r_drummer</author><pubDate>Mon, 11 Mar 2013 13:26:39 +0800</pubDate><description><![CDATA[大灰狼之一——CPU结构
       技术女神说这本书好，所以我去借了来。《orange's：一个操作系统的实现》。寒假时默默读默默实现。最开始还可以略过不懂得代码找找实现后的成就感，到了第三章发现略不过去了，或者说，略过去了就相当于没读。不得已，谁让我基础差又笨又傻又二呢，只能再补补汇编知识。看了大灰狼老师的零基础汇编。讲的很清楚，有些细节有点不懂的，慢慢琢磨一下，也能大致了解。]]></description><category></category></item><item><title><![CDATA[In the name of memory]]></title><link>https://blog.youkuaiyun.com/r_drummer/article/details/8658864</link><guid>https://blog.youkuaiyun.com/r_drummer/article/details/8658864</guid><author>r_drummer</author><pubDate>Mon, 11 Mar 2013 12:44:58 +0800</pubDate><description><![CDATA[我的处女日志，献给IT，名字以纪念我曾经最爱的人。
       进入IT领域怎么算也有4年半了吧。最让我感到惭愧的是，知之甚少，甚至连一个IT发烧友都比不上。
       算是半科班出身的程序猿吧，至少目前算是程序员了。4年的EE教育生涯，加上如今半年的CS生涯，终于过上了同窗好友晒结婚照晒小孩但是自己晒被子的苦逼研究僧生活。
       本科学校算是一般吧，10-20名之间徘徊，研究]]></description><category></category></item></channel></rss>