发布时间:2013-01-04 19:03:50
转自http://www.cnblogs.com/wwang/archive/2011/01/27/1944406.html 工作几年来,一直从事Linux内核驱动方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。 入门类 一直认为,在一个系统上学习开发之前,首先需要熟悉这个系统的使用。鉴于天朝的国情,绝大部分人第一个接触的操作系统就是Windows,因此对于这绝大部分人来说,如果要学习Linux开发,学会使用这个系统都是必不可少的一个环节。 &n......【阅读全文】
发布时间:2013-01-04 18:58:12
原文地址:http://blog.csdn.net/lhq9220/article/details/6734081对unsigned char gdt_ptr[6]数组的操作 汇编中:sgdt [gdt_ptr]--------[]符号使得汇编的时候将其汇编成 sgdt ds:gdt_ptr。这样在保护模式下才能访问到正确的内存地址。 C中:想取出gdt_ptr[0-1]两个字节的数字并组合成16位的short整数。*(u16 *)(&gdt_ptr[0])同样的地址,只要改变下指针类型,再*p就可以了,这样是在告诉编译器一下子取出2......【阅读全文】
发布时间:2012-12-28 17:03:31
原文地址:http://hi.baidu.com/jjpro/blog/item/06ea380859eac433e82488f8.html 一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但......【阅读全文】
发布时间:2012-12-26 17:47:49
原文:http://blog.csdn.net/sunacmer/article/details/5310280弄了几天了,终于弄好了,呵呵,也得到了不少东西。从保护模式到是模式的转换一定要注意的有(转): 1、程序开始时在实模式下要有自己的堆栈段,进入保护模式前先暂存ss及sp的值至某内存处,以便从保护模式返回实模式后恢复到原先的堆栈。 2、返回实模式前需把各段寄存器设置为规范段,包括SS也要设置 3、返回实模式前必须在16位段返回,不能在32位段里返回实模式。 4、返回实模式前的段必须定义在GDT中。 5、在32位段......【阅读全文】
发布时间:2012-12-24 19:58:38
原文地址:http://blog.csdn.net/shentao17792/article/details/55563154个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问 存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16......【阅读全文】