自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青帝的专栏

他年我若为青帝,报与桃花一处开

  • 博客(18)
  • 资源 (13)
  • 收藏
  • 关注

转载 GNU ARM 汇编快速入门

<br />ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令作成.ARM汇编语言的设计基础是汇编伪指令,汇编伪操作和宏指令. <br /><br />目前常用的ARM编译环境有2种:<br />ARMASM: ARM公司的IDE中使用了CodeWarrior的编译器,绝大多数windows下的开发者都在使用这一环境,完全按照ARM的规定; <br />GNU ARM ASM: GNU工具的ARM版本,与ARMASM略有不同; <br /><br />关于CodeWarriror

2010-10-29 22:11:00 883

转载 AT&T汇编

开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。 如果你是计算机专业的话,在大学里你应该学习过Intel格式的8086/80386汇编,这里就不再讨论。如果我们选择的OS开发工具是GCC以及GAS的话,就必须了解AT&T汇编语言语法,因为GCC/GAS只支持

2010-10-22 22:48:00 672

原创 标志寄存器

<br />CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有三种作用:<br />1) 用来存储相关指令的某些执行结果;<br />2) 用来为CPU执行相关指令提供行为依据;<br />3) 用来控制CPU的相关工作方式。<br /> <br />这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。简称flag。<br />flag和其他寄存器不一样,其他寄存器是用来存放数据的,都是整

2010-10-21 22:04:00 6397

原创 .COM文件

<br />      COM文件是一种可执行程序的内存映像文件,它与只有16位地址线的8位机上的CP/II操作系统下的可执行程序结构相似。在COM程序执行过程中,除了调用DOS功能和ROM BIOS功能,以及用户特意安排外,段寄存器一般都不发生变化。四个段寄存器具有相同的内容,指向PSP(DOS利用PSP来和被加载的程序进行通信),因此程序的大小仍限于64K以内。COM文件的入口地址必须是100H,而EXE文件可以有多个段。其中CS和SS以及IP和SP在程序装入时由DOS根据文件头中的信息初始化,ES和D

2010-10-20 11:32:00 1246

转载 ELF文件结构

<br />Linux可执行文件为ELF格式,ELF格式文件主要分为以下几类:<br />1.  可重定位文件(Relocatable File),这类文件包含了代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也可以归为这一类,如.o文件。<br />2.  可执行文件(Executable File),这类文件包含了直接执行的程序,如/bin/bash等。<br />3.  共享目标文件(Shared Object File),链接器可以使用这种文件跟其他的可重定位文件和共享目标文件链接,

2010-10-20 09:31:00 741

转载 系统启动过程简介

什么是BIOS?<br />BIOS:basic inout/output system基本输入输出系统.它是固化在ROM上的一段程序,但电脑电源打开的时候,BIOS是第一个被执行的程序。其他的程序都必须先加载到RAM才能运行。认识BIOS首先要知道几个名词:北桥,南桥,FLASH Memory,CMOS,SMBIOS   南北桥:主板芯片组,北桥主要控制着CPU和内存;南桥:负责PCI,PCI-E,USB,VGA等外围设备。南桥里面有一个特殊的区块,即负责存储CMOS的空白区域,是用来让BIOS存储用户设

2010-10-19 18:03:00 1461

原创 描述符归类总结

      存储段描述符与系统段描述符结构完全相同,区别的标志是属性字节中的描述符类型位DT的值。DT=1表示存储段,DT=0表示系统段。      存储段描述符中,TYPE字段说明存储段描述符所描述的存储段具体属性。此字节共占4位,涵义丰富。其中位3指示所描述的段是代码段还是数据段(应该是广义的,包含堆栈段等)。用符号E标示,E=0标示段是不可执行的,即数据段;E=1标示段是可执行的,即代码段。      数据段描述符中具体的位又标示了是否可写等属性。      代码段描述符中具体的位又标示了是否可读等属

2010-10-18 16:03:00 673

原创 中断和异常

<br />      在保护模式下,中断机制发生了很大的变化,原来的中断向量表已经被IDT所代替,实模式下使用的BIOS中断在保护模式下已经不能用了。联系调用门,中断门和调用门的作用机理其实是一样的,只不过使用调用门时使用call指令,而这里我们使用int 指令。<br />      中断,又处理其外部的事件引起,比如外设请求,软件通过执行int指令等。异常,则通常是在处理器执行指令的过程中检测到错误引起的。中断和异常不可以简单的按照硬件或者软件,引起他们的源进行划分,可以理解为,中段和异常没有严格的界

2010-10-18 14:33:00 505

原创 地址转换、内存地址扩展方向

<br />虚拟地址、线性地址、物理地址      <br />      保护模式下,虚拟存储器由大小可变的存储块组成,这样的块称为段。描述附表用来描述段的位置、大小和使用情况。这些地址的集合称为虚拟地址空间。程序使用的都是虚拟地址空间,每一个任务有一个虚拟地址空间。为避免多个并行任务的多个虚拟地址空间直接映射到同一物理地址空间,采用线性地址空间隔离虚拟地址空间和物理地址空间。线性地址空间由一维的线性地址构成,线性地址空间和物理地址空间对等。分段管理机制实现虚拟地址空间到线性地址空间的映射。分页管理机制把

2010-10-16 00:20:00 1865

原创 控制转移(三)——调用门转移流程

<br /> <br />从两个方向看门调用的流程,理解门调用。<br /> <br />

2010-10-15 18:32:00 603

原创 控制转移(二)

<br />      特权级转移这块一直觉得很混乱,理不出头绪,现在终于发现问题在哪了:不要将特权级和代码段、数据段、堆栈段搅在一块。代码段、数据段、堆栈段他们各自有自己的特权级处理规则。在学习的过程中还要有意识的提醒自己这种规则是哪种类型段的规则。三种类型的段相互配合才能组成一段可以运行的程序。既然三种类型之间的段有联系,三种类型段的特权级处理方式也会有自己的联系和区别。在学习中有意识的提醒自己正在阅读的规则是属于哪种类型的段的,就能很好的理解他们之间的联系和区别,从而使学习事半功倍。<br />   

2010-10-14 16:50:00 563

原创 控制转移(一)

      控制转移基本可以分为两大类:同一任务内的转移和任务间的转移(任务切换)。同一任务内的转移又分为:段间转移、特权级不变的段间转移、特权级变换的段间转移。段内转移与实模式下相似,不涉及特权级变换和任务切换。只有段间转移才涉及特权级变换和任务切换。段间转移指令      与是模式下一样,指令JMP、CALL和RET都具有段间转移的功能,指令INT和IRET总是段间转移。此外,中断、异常也将引起 段间转移。与实模式下相似,段间转移指令JMP和段间调用指令CALL还可以分为段间直接转移和段间间接转移两类。

2010-10-14 16:25:00 1162

原创 任务状态段和门

<br />       每一个任务(可以理解为进程)都有一个任务状态段TSS,用于保存任务的有关信息,在任务内变换特权级和任务切换时要用到这些信息。<br />     系统段是为实现存储管理机制所使用的一种特别的段。在80386中,有两种系统段:任务状态段TSS和局部描述附表LDT段(注意:全局描述附表GDT不属于状态段)。不光在高级语言应用或者说用户应用程序编程中用到了数据结构,个人觉得在CPU硬件的支持下,系统编程也是把数据结构发挥的淋漓尽致,甚至CPU硬件支持本身就充分体现了结构化,或者说数据结构

2010-10-14 14:08:00 1426

原创 自我评价用语

大一时:          学习力强、执行力强、上进心强现在:          有梦想、有激情、有实践、有做成事的决心、有自身英雄主义实现的需要

2010-10-14 13:24:00 628

转载 漫谈如何学习操作系统原理

<br />很老的一片文章,写的真是太好了。<br />学习操作系统一段时间了,很难找到全面专注的讲解底层的书籍或资料。这一段时间里,都是从微机原理、操作系统、汇编语言相关书籍里面找自己需要的东西,很是麻烦,就很纳闷为什么没有专门讲解这些内容的著作。曾经意识到INTEL官网去查看他的CPU文档,考虑到可能会讲解硬件细节,就作罢了。再者,无论在学习中还是现实生活中,都追求去掉表面浮华看本质。这篇文章对操作系统学习方式的见解,质朴而智慧。 <br /> <br /> <br />本人学习计算机技术至今,对于如何

2010-10-11 14:27:00 564

转载 认识BIOS

<br />计算机用户在使用计算机的过程中,都会接触到BIOS,它在计算机系统中起着非常重要的作用;而计算机底层开发人员,尤其是操作系统和虚拟机的开发人员更是要非常了解BIOS,本文将详细介绍一下BIOS这个家伙。<br />      BIOS,是计算机的基本输入输出系统(Basic Input System),它也是一个应用程序,只不过它是工作在操作系统层之下,硬件层之上的程序罢了,程序的代码被烧制集成在计算机主板上的一个ROM芯片上。它负责为操作系统提供最直接的硬件控制。<br />     下面我来

2010-10-11 08:42:00 469

转载 计算机启动流程解析

<br /> 首先简要梳理一下计算机开机的流程:<br />1:开机加电,CPU工作在16位实模式下;<br />2:CPU按照实模式下的内存寻址方式从段地址(FFFF):偏移地址(0000)处开始执行指令;<br />3:FFFF0H处是BOIS的第一条指令,是一条跳转指令,指向BIOS真正的代码处;<br />4:BIOS代码从高字节到低字节依次是POST硬件自检、显卡初始化、CPU、内存、硬盘等标准硬件的初始化、加载引导扇区; <br />4.1:POST硬件自检主要包括检测关键设备如内存显卡等是否存

2010-10-11 08:41:00 448

转载 字符编码的故事(ASCII,ANSI,Unicode,Utf-8)

<br />一直对字符的各种编码方式懵懵懂懂,什么ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go!<br />          <br />    很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 <br />    再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多

2010-10-11 08:37:00 551

计算机及网络知识精华.rar

计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华计算机及网络知识精华

2010-05-22

软件开发过程文档.rar

软件开发过程文档软件开发过程文档软件开发过程文档软件开发过程文档软件开发过程文档软件开发过程文档软件开发过程文档软件开发过程文档软件开发过程文档

2010-05-22

Win32多线程程序设计.pdf

Win32多线程程序设计.pdf\Win32多线程程序设计.pdf\Win32多线程程序设计.pdf\Win32多线程程序设计.pdf

2010-05-22

悟透JavaScript

悟透JavaScript.pdf悟透JavaScript.pdf悟透JavaScript.pdf悟透JavaScript.pdf

2010-05-22

数据结构与算法.rar

数据结构与算法.rar数据结构与算法.rar数据结构与算法.rar数据结构与算法.rar数据结构与算法.rar数据结构与算法.rar

2010-05-22

C#编写飞信客户端接口规范和源码

飞信客户端接口规范和源码飞信客户端接口规范和源码飞信客户端接口规范和源码飞信客户端接口规范和源码飞信客户端接口规范和源码飞信客户端接口规范和源码

2010-05-22

Visual+C#_Net+应用精彩50例.rar

Visual+C#_Net+应用精彩50例.rar

2010-05-22

C++源码下载 适用于初学者

C++源码下载 适用于C++初学者读码学习 C++源码下载 适用于C++初学者读码学习

2009-08-13

Visual C++ 技术内幕(第四版)

Visual C++ 技术内幕(第四版) 作者:(美)David J.Kruglinski 译者:潘爱民 王国印 出版社:清华大学出版社

2009-08-06

深入浅出MFC(第二版).rar

深入浅出MFC(第二版) 内容提要 Win32程序基本观念 C++重要性质 MFC六大关键技术之模拟 VisualC++整合性软件开发环境

2009-08-06

WINDOWS核心编程

作者:(美国)(Jeffrey Richter)杰夫瑞 (法国)(Christophe Nasarre)克里斯托夫 译者:葛子昂 周靖 廖敏

2009-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除