- 博客(18)
- 资源 (3)
- 收藏
- 关注

原创 用C语言实现硬件信息的获取
用C语言实现硬件信息的获取,包括CPU、BIOS、内存、主板、集成设备、端口、主板插槽 、Cache等。 #ifndef __SM_BIOS_H__#define __SM_BIOS_H__#define TRUE 1#define FALSE 0#define ERROR -1typedef unsigned char BYTE;typedef unsigned short WORD;t
2008-10-27 19:04:00
7692
3
转载 Memory Map (x86) ,X86计算机内存映射
Memory Map (x86) This article describes the contents of the computers physical memory at the moment that the BIOS jumps to your bootloader code.Contents [hide]1 "Low" memory (1.1 Overvie
2008-10-25 14:18:00
1739
转载 CMOS内存信息
The CMOS memory informationCMOS stands for: Complementary Metal Oxide SemiconductorIn the 286 and up, the CMOS memory chip holds 64 bytes of data. Thedata is held in th
2008-10-24 20:05:00
907
转载 ROM-BIOS与实模式1MB常规内存的结构
导读:ROM-BIOS与实模式1MB常规内存的结构ROM BIOS and the first MEG of memoryThe following is the layout and contents of the first Meg of memory. As I get more information, I will update it a
2008-10-24 19:57:00
1996
原创 读取ROM-BIOS
/* Dump ROM-BIOSCompiled with Turbo C 2.01 by Blue.J 2008.10.24*/#include #include void main(){ char filename[32]; FILE *fp; static unsigned char far *addr=(unsigned char far *)MK_FP(0xf000,
2008-10-24 16:31:00
1145
转载 中断描述符表
中断描述符表中断描述符表(Interrupt Descriptor Table,IDT)是用来告诉处理器在遇到异常或 “INT”操作码(汇编中)时所应调用的中断服务例程( Interrupt Service Routine,ISR)。在一个设备完成请求并且需要获得服务时,中断请求也调用IDT入口。更多关于异常和ISR的详细内容在本指南的下一节里,点击这里查看。每
2008-01-07 12:05:00
2653
转载 C#创建不规则窗体和控件
C#创建不规则窗体和控件作者:贝塔乐队的吉他手在 以前版本的Visual Basic或Visual C++中,创建不规则窗体和控件是一件很复杂的事,不仅需要调用大量API函数而且工作量也不小。不过,现在在Visual C#下,情况就完全不同了。运用Windows Forms你就可以很轻易地创建出一个不规则的窗体以及窗体上的控件。一个具有不规则窗体和控件的应用程序肯定会更吸引广大的用户,微软的W
2008-01-07 12:02:00
3858
转载 Linux 汇编语言开发指南
Linux 汇编语言开发指南 汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux 平台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言的语法格式和开发工具,并辅以具体的例子讲述如何开发实用的L
2007-11-09 13:30:00
523
转载 堆和栈的区别
堆和栈的区别 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区
2007-11-08 21:07:00
612
转载 Bran的内核开发指南(5)
全局描述表(GDT) 386的各种保护措施的一个重要组成部分是 全局描述表(Global Descriptor Table),也就是 GDT。GDT为内存的特定部份定义基本访问权限。我们能使用GDT的一个入口来建立一种程序段异常处理机制:让内核能终止一个正在执行非法操作的程序。大部分 现代操作系统使用叫做“内存分页”的内存管理模式来实现这一点:这可以更灵活而且弹性更高。GDT同时还能定义内存
2007-11-08 07:21:00
704
转载 Bran的内核开发指南(4)
导读: 现在我们将试着在屏幕上显示点东西。为此,我们需要一种管理屏幕滚动的方法。同时,能在屏幕上显示不同的颜色也是一件美妙的事情。 幸运的是,VGA显卡使这很容易实现:为了在显示器上显示内容,显卡给定了一个内存块,我们只需向内存中写入字符和属性对。 VGA控制器会自动地把更新的内容画到屏幕上。滚动屏幕是由我们的内核软件来维护的。从技术上说,这是我们的第一个驱动程序,现在我们就开始编写。
2007-11-05 23:12:00
523
转载 Bran的内核开发指南(3)
导读: 在一般的C语言编程实例中,main()函数是程序的入口。为了保持你的编程习惯,让你熟悉内核开发,本指南将仍旧将main()函数作为程 序入口。正如上一章所提到的,我们尽力使汇编代码最少。但在后面的章节中,我们不得不回到汇编代码“start.asm”中去添加终端服务程序,以调用C 函数。 在这一章节中,我们将建立“main.c”和一个包含了公共函数原型的头文件——“system.h”
2007-11-04 22:16:00
788
转载 Bran的内核开发指南(2)
导读: 在这部分,我们将涉及一点汇编的知识,学习创建使用最基本的连接脚本。最后,我们将学习如何使用批处理文件自动进行汇编、编译和连接这个最最基本的保护模式内核。请注意,我将假设你已经安装了NASM和DJGPP在你的操作系统上,并且你已经掌握了最基本的X86汇编语言知识。 内核入口 内核的入口就是当引导器加载内核时最先被执行的那段代码。这部分代码一般总是用汇编语言来写的。这是为 完成很多
2007-11-04 22:07:00
893
转载 操作系统DIY手册
导读: 操作系统DIY手册 第一课:引导扇区 (Lesson 1: The Boot Record) 这一课主要介绍引导扇区(Boot Record),为我们手动打造引导程序(boot loader)作准备。 当计算机从软盘引导时,BIOS(Basic Input/Output System)将软盘的第一个扇区(sector)读入内存(从地址0000:7C00开始读入)。这第一
2007-11-04 14:51:00
1025
转载 从最底层实现汉字输出,一个中文启动界面的实现方法
导读: 从最底层实现汉字输出,一个中文启动界面的实现方法 呵呵,要再次感谢赵博的书给我的启发,现在想什么就可以自己去实践,这种感觉真好。这两天我实践了一个中文显示问题,终于成功,贴出来与大家共享。tkr7y 通过实践,大概了解图形模式下的工作方式,和汉字支持的基本实现方法。我的工作是让系统启动后在屏幕上显示“汉字操作系统”五个汉字dQ/Wf 说明:这里只介绍使用点阵字库。gX)znG
2007-11-04 14:40:00
1455
1
转载 开发自己的操作系统引导程序
导读: 开发自己的操作系统引导程序 当你打开计算机时发生了什么? 1.电源打开;2.BIOS开始执行;3.引导程序开始执行。 引导程序的规定:你要有一个普通的二进制文件(COM 格式);大小是512个字节;最后两个字节一定是0AA55h;它能被载入到内存地址0x7C00。 工具: NASM——是一个免费的汇编工具(有DOS/windows/Linux三种版本)
2007-11-04 14:21:00
819
转载 Bran的内核开发指南(1)
导读: 内核开发是一项漫长的写代码和调试的工作。这似乎在开始会是很令人沮丧的。但你并不必需要大量的工具。本指南将使用GRUB来将你的内核载入内存。GRUB需要读入一个运行在保护模式下的二进制映像:这个映像就是我们马上就开始建立的内核。 在读这篇指南之前,你至少需要具备C语言的知识。我强烈建议你能掌握X86汇编的知识,因为这将对你在后来熟练地使用寄存器有很大帮助。你至少需要这些工具:一个可以
2007-11-03 22:25:00
719
原创 MD5、DES、RC2、Rijndael加密算法C#源码
//DES.cs//---------------------------using System;using System.Collections.Generic;using System.Text;using System.Collections;using System.IO;using System.Security.Cryptography;namespace Encrypt.Algor
2007-10-30 14:06:00
703
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人