zoukankan      html  css  js  c++  java
  • 假设写一段代码引导PC开机这段代码是 ? Here is a tiny "OS" :-D

    Hello world -- OS


                                我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动。然后单独剥离出来,能够非常好玩~ 


    资料下载地址:

    http://download.csdn.net/detail/u011368821/8006465


    原则上仅仅须要两个文件(boot.S mmu.h)就能够,可是我们这里还须要一些附带的虚拟器工具。以及makefile来做实验.


    须要提示的就是地址0xb800是显存的开头地址 : )

    MOVSB(MOVe String Byte)
    即字符串传送指令。这条指令按字节传送数据。

    通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比方DS:SI这段地址的N个字节拷贝到ES:DI指向的地址,复制后DS:SI的内容保持不变。

    IBM PC部分的使用统一的编址方式。CGA显示卡上现实内存的地址就是直接占用了储存器地址空间0xB800~BC00。若要让一个字符显示在显示器上面。能够直接诶使用内存操作指令往这个内存区域运行写操作.

    以下这段代码中把%es设置为0xb800,寓意就在于di寄存器的输出指向显存!


    rep指令就是反复运行 rep 后面跟的指令,直到%cx寄存器的值为0(每次运行一次,%cx寄存器的值递减)


    这是real model以下的情况

    到后面protected model的时候,仅仅是地址的表示形式会发生一点变化而已

    不再是segment:offset的形式

    而是直接的比如 0xb800(real model) => 0xb8000(protected model)

    显存就像一个非常好玩的大buffer 哈哈哈哈哈~



    这里最后多出来的EOF是我自己加上去的。我加了一小段代码:


    前半部分是原来有的。后面部分#print my name是我自己加的功能

    这里我精确计算了前半部分打印helloworld会占用多少个字节(62 byte)

    于是0xb8d22 + 0x3D (60) = 0xb8d60  : ) Don't panic !


    最后那个$24事实上不怎么好,是我忘记改了....这里最好恰当的改成你想打印多少字节的内容就可以















    埃塞的情人变成岩石 皮埃尔 法国 1763年 325x329cm 布油彩 巴黎卢浮宫
        
    在这幅具有神话意境的画幅中,画家以极为细腻的笔触和华丽的色彩描绘画中人物形象和环境饰物。以古罗马柱式作中景建筑。使画中添加庄重感。

    皮埃尔用虚幻和现实结合的手法创造了一个亦真亦幻、亦人亦神的艺术境地,在某种意义上又有浪漫情调。

    能够说这是由古典主义向浪漫主义过渡的一种艺术表现 。这幅画虽取材于希腊神话。但画家似乎并不注重故事的刻画和人物的表现,而是将注意力放在女性人物的身上。尤其对衣物在光线下的反光情有独钟。人物有着罗可可式的甜美和纤秀。但人的目光却不能统一在一起,从而产生一种没有关联的分离感和无动于衷的造型效果 。画面中埃塞端坐于沙发之上,看到情人变成岩石的情景,被画家处理成理性的冷静,剧烈的戏剧性被冷静所消解。但我们却依旧能够看出新古典主义绘画那高贵的风范和冷静的气度



  • 相关阅读:
    20165229预备作业三
    20165529学习基础和C语言基础调查
    20165229我所期待的师生关系
    20165210 Java第七周学习总结
    20165210 Java第六周学习总结
    20165210 Java第一次实验报告
    20165210 Java第五周学习总结
    20165210 Java第四周学习总结
    20165210 Java第三周学习总结
    20165210 Java第二周学习总结
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7117677.html
Copyright © 2011-2022 走看看