自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DIYing

ELF-PE

  • 博客(22)
  • 资源 (10)
  • 收藏
  • 关注

原创 特权级0的代码到特权级3代码的转移之IRET指令

由 于处于特权级0的代码不能直接把控制权转移到特权级3的代码中执行,但中断返回操作是可以的,因此当初始化GDT、IDT和定时芯片结束后,我们就利用中 断返回指令IRET来启动第1个任务。具体实现方法是在初始堆栈init_stack中人工设置一个返回环境,即把任务0的TSS段选择符加载到任务寄存 器LTR中、LDT段选择符加载到LDTR中以后,把任务0的用户栈指针(0x17:init_stack)和

2013-12-31 22:11:13 2086

原创 开源技术网站

应该说学习开源代码是非常好的提升技能途径。所以收集一些链接:http://software.intel.com/zh-cn/blogs/2012/12/21/01org/?utm_campaign=CSDN&utm_source=intel.csdn.net&utm_medium=Link&utm_content=others-%20org

2013-12-31 21:13:35 623

转载 对 LSS init_stack,%esp 语句的分析

转自http://blog.csdn.net/tonutu/article/details/3268321LSS init_stack,%esp             .             .             .             .file 128,4,0init_stack:       

2013-12-31 17:16:59 1189

原创 boot.s 段限长设置

01 ! boot.s 程序02 ! 首先利用BIOS中断把内核代码(head代码)加载到内存0x10000处,然后移动到内存0处。03 ! 最后进入保护模式,并跳转到内存0(head代码)开始处继续运行。04 BOOTSEG = 0x07c0   ! 引导扇区(本程序)被BIOS加载到内存0x7c00处。05 SYSSEG  = 0x1000  ! 内核(head)先加载到0x10000处,然后

2013-12-31 16:15:57 944

转载 linux中为何没有网卡设备文件

这个问题其实没有什么意思,知道了问题的答案能表明一个人技术水平有多高吗?不能!这个问题有答案以及有意义吗?答案都是没有!那我还为何一直对这 个问题死死揪住不放?这类问题可以提高一个人的素质以及了解一段关于网络和unix的历史,正是因为这些都很有趣,才如此值得关注。    在 unix中,一切io相关的实体都被抽象成了文件,之所以抽象成文件第一是为了接口统一,第二是为了操作统一,第三是为了策

2013-12-29 20:52:53 2565

转载 代码的一致性

之所以出现这个定义是因为系统要安全:内核要和用户程序分开.内核一定要安全.不能被用户程序干涉.但是有时候用户程序也需要读取内核的某些数据,怎么办呢?于是os将内核程序开辟一些可以供用用户程序访问的段.但是不允许用户程序写入数据.1.内核不用知道用户程序的数据.内核不用调用用户程序的数据.内核不用转移到用户程序中来.2.用户程序只能访问到内核的某些共享的段.我们称这些段为一致代码段

2013-12-29 11:55:13 1811

转载 天才程序员的传说

转自http://blog.csdn.net/zuoninger/article/details/17558991首先我们要澄清一件事情:我们实际上不是体育迷。每次我们的太太们在电视机前为了篮球或者足球比赛欢呼雀跃的时候,我们总会挠挠头皮觉得这有什么好激动的。但不管怎么说,我们毕竟是见证了20世纪90年代初芝加哥公牛队的辉煌(顺便说一句,这是一支篮球队)。我们当时都住在芝加哥,全国媒体

2013-12-25 23:42:28 770

转载 git使用

Git是个了不起但却复杂的源代码管理系统。它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作。让我们诚实一记吧:Git是复杂的,我们不要装作它不是。但我仍然会试图教会你用(我的)基本的Git和远程代码库干活的工作步骤,在15分钟内。 工作步骤我会展示以下的步骤,通常能帮我独自在一台或多台机器上做项目。创建一个远程的空代码库(在BitBu

2013-12-22 21:50:20 697

原创 backtrace函数的原理

大家可以看到,被调用函数当前帧指针指向调用函数的帧指针的值,而帧指针的上一个地址(ebp+4)正好是被调用函数的返回地址,依次往上找,就可以找出对应进程的调用关系。

2013-12-22 17:36:06 2820

原创 嵌入汇编

 在嵌入式C语言中,涉及到底层的代码经常需要使用嵌入汇编。嵌入汇编的基本格式:asm("汇编语句"::输出寄存器:输入寄存器:会被改变的寄存器)

2013-12-21 12:00:17 1088 1

原创 pc or cs:ip ?

其实这是不同平台下的不同叫法。在x86上叫做ip;在arm下叫做pc,即R15.在X86上不能直接给IP赋值,可以通过jmp来改变它的值。而ARM上可以通过LDR直接对PC赋值。

2013-12-19 19:42:45 1414

转载 软中断

软中断一般是指由指令int引起的“伪”中断动作——给CPU制造一个中断的假象;而硬中断则是实实在在由8259的连线触发的中断。因此,严格的讲,int与IRQ毫无关系,但二者均与中断向量有关系。int引起的中断,CPU是从指令中取得中断向量号;而IRQ引起的中断,CPU必须从数据线上取回中断号(硬件引发中断首先加到8259的某个IRQ引脚上,8259根据定义好的规则换算出相应的中断向量号,将其放在数

2013-12-19 16:41:01 4383

原创 shell

shell ,顾名思义,是一个壳,在里面运行代码,而自己作为一个便准输入输出。这个思想可以做很多有意思的事情,以后有时间要写一下这方面的文章。先挖个坑。

2013-12-19 10:53:01 635

原创 x86系统执行的第一条指令

当计算机系统上电开机或者按了机箱上的复位按钮时,CPU会自动把代码段寄存器CS设置为0XF000,其段基址被设置为0XFFFF0000,段长度设置为64KB。而IP被设置为0FFF0,因此此时CPU代码指针指向0XFFFFFFF0处,即4GB空间最后一个64KB的最后16字节处。--赵炯的《Linux内核完全剖析》,18页。看到这里,很多人都会有这样一个疑问:在系统上电开机时,CPU应该工

2013-12-18 22:30:09 2206

原创 阅读原著

最近终于知道为什么要阅读原著了。当你带着从中文书籍中学到的技术知识,到网上去提问的时候,很多人都跟你说,你被误导了。。。。这种感觉超级无语啊。如今看来,自己也是过英语六级的,没理由怕看英文啊,而且从长远来看,看英文原著其实比看中文还更省时,因为看中文译本是那个折腾啊,你觉得译者有可能比原作者更清楚技术的原理吗?

2013-12-17 22:05:01 740

转载 最牛B的编码套路

最牛B的编码套路分类: 我的书2013-12-02 08:38 21818人阅读 评论(113) 收藏 举报编码套路Code KataCode Dojo最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已:与你所相信的恰恰相反,单纯地每天埋头于工作并不

2013-12-16 23:13:16 603

原创 理清代码中的数据结构

当程序比较大型的时候,往往需要设计比较好的数据结构进行封装组织,而数据结构一旦确立,在很大程度上也就决定了代码的框架。因此,理解数据结构可以是一个理解代码的很好的思路。但是大型的数据结构往往纷乱复杂(当你看不懂的时候),有没有比较好的方法呢?如果看到这里,你是觉得我下面就是要来解决这个问题的,那你就错了,其实我也很迷惑,希望有高人指点一下。不过抛砖引玉,我有自己的土方法,抛出来接受各种批评

2013-12-16 22:53:59 1285

转载 编程的四种能力

编程能力的四种境界发表在 杂项 人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期,他就指出我们的意识里分“潜意识”,“前意识”,“意识”。如 果我们想能清楚他们分别跟我们的思想、感觉、认知、判断和动机(这这些在我们每天的生活,职业生活中都是关键因素)有什么关联,我们

2013-12-15 13:27:23 1266

转载 著名的C++教材

1.Essentital C++--------lippman--------C++大师之作,主攻核心,轻薄短小,经典2 .The C++ programming language--------C++之父,技术权威,C++百科全书代表,圣经。3.C++ Primer-------lippman------- 经典之作,C++百科全书式代表。4.Inside the C++ o

2013-12-08 23:54:29 1103

原创 毕业后读过的一些技术书籍

1.《嵌入式linux应用开发完全手册》2.《鸟哥的私房菜》3.《linux c 一站式编程》4.《数据结构与算法分析》5《tcp/ip协议详解卷一》6《深入理解计算机系统》7. 《UNIX网络编程》8 《系统程序猿的成长计划》9. 《linux内核完全剖析》10 《韦东山视频》11.《机制而非策略》12.《代码之美》作为一个嵌入式工程师,里面的大部

2013-12-07 08:39:59 770

转载 assert()函数用法总结

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单bad

2013-12-02 09:12:40 591

转载 浅谈契约式编程

浅谈契约式编程2010-09-03契约式编程是编程的一种方法。那么什么是契约式编程呢?我想这个概念是从“合同”演变过来的。在人类的社会活动中,契约一般是用于两方,一方(供应者)为另一方(客户)完成一些任务。每一方都期待从契约中获得利益,同时也要接受一些义务。通常,一方视为义务的对另一方来说是权利。契约文档要清楚地写明双方的权利与义务。契约合同能保障双方的利益,对

2013-12-02 09:11:18 826

C语言初学者入门讲座C语言初学者入门讲座

C语言初学者入门讲座C语言初学者入门讲座C语言初学者入门讲座C语言初学者入门讲座

2010-05-21

C和C++算法与描述

C和C++算法与描述。有一定基础者可以好好学习一下。保证令人刮目。下下下来。以后有用的。

2010-04-22

常见电脑故障处理方法常见电脑故障处理方法

常见电脑故障处理方法常见电脑故障处理方法常见电脑故障处理方法常见电脑故障处理方法

2010-04-15

如何挽救软盘文件如何挽救软盘文件

如何挽救软盘文件如何挽救软盘文件如何挽救软盘文件如何挽救软盘文件

2010-04-15

网站设计的思考网站设计的思考

网站设计的思考,设计高手箴言,菜鸟变大鸟。

2010-04-15

我要破解文集之再续篇

我要破解文集之再续篇,无往不胜的破解大全,谁与争锋的利刃!!

2010-03-19

年度巨献电脑知识及技巧大合集

电脑知识大全,让你成为电脑高手的捷径。吐血推荐!!!

2010-03-19

dos下关闭木马后门病毒端口使用教程.rardos下关闭木马后门病毒端口使用教程.rar

木马后门病毒端口使用教程.rardos下关闭木马后门病毒端口使用教程.rar

2010-02-13

入侵问题及防范措施新人入侵常见问题及WEB防范措施基础\623xr\新人入侵常见问题及WEB防范措施基础

新人入侵常见问题及WEB防范措施基础\623xr\新人入侵常见问题及WEB防范措施基础

2010-02-13

空空如也

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

TA关注的人

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