原创 Bran的內核開發指南(4)

導讀:   現在我們將試着在屏幕上顯示點東西。爲此,我們需要一種管理屏幕滾動的方法。同時,能在屏幕上顯示不同的顏色也是一件美妙的事情。 幸運的是,VG

原创 Linux 彙編語言開發指南

Linux 彙編語言開發指南  彙編語言的優點是速度快,可以直接對硬件進行操作,這對諸如圖形處理等關鍵應用是非常重要的。Linux 是一個用 C 語言開發的操作系統,這使得很多程序員開始忘記在 Linux 中還可以直接使用匯編這一底層語言

原创 Memory Map (x86) ,X86計算機內存映射

 Memory Map (x86) This article describes the contents of the computer's physical memory at the moment t

原创 Bran的內核開發指南(3)

導讀:   在一般的C語言編程實例中,main()函數是程序的入口。爲了保持你的編程習慣,讓你熟悉內核開發,本指南將仍舊將main()函數作爲程 序入口。正如上一章所提到的,我們盡力使彙編代碼最少。但在後面

原创 中斷描述符表

  中斷描述符表 中斷描述符表(Interrupt Descriptor Table,IDT)是用來告訴處理器在遇到異常或 “INT”操作碼(彙編中)時所應調用的中斷服務例程( Interru

原创 ROM-BIOS與實模式1MB常規內存的結構

導讀: ROM-BIOS與實模式1MB常規內存的結構 ROM BIOS and the first MEG of memory The following is the layout and conte

原创 用C語言實現硬件信息的獲取

用C語言實現硬件信息的獲取,包括CPU、BIOS、內存、主板、集成設備、端口、主板插槽 、Cache等。 #ifndef __SM_BIOS_H__#define __SM_BIOS_H__#defi

原创 Bran的內核開發指南(2)

導讀:   在這部分,我們將涉及一點彙編的知識,學習創建使用最基本的連接腳本。最後,我們將學習如何使用批處理文件自動進行彙編、編譯和連接這個最最基本的保護模式內核。請注意,我將假設你已經安裝了NASM和DJ

原创 Bran的內核開發指南(5)

全局描述表(GDT)   386的各種保護措施的一個重要組成部分是 全局描述表(Global Descriptor Table),也就是 GDT。GDT爲內存的特定部份定義基本訪問權限。我們能使用GDT的一個入口來建立一種程序段異常處理機

原创 C#創建不規則窗體和控件

C#創建不規則窗體和控件作者:貝塔樂隊的吉他手 在 以前版本的Visual Basic或Visual C++中,創建不規則窗體和控件是一件很複雜的事,不僅需要調用大量API函數而且工作量也不小。不過,現在在Visual C#下,情況就完全

原创 從最底層實現漢字輸出,一箇中文啓動界面的實現方法

導讀:   從最底層實現漢字輸出,一箇中文啓動界面的實現方法   呵呵,要再次感謝趙博的書給我的啓發,現在想什麼就可以自己去實踐,這種感覺真好。這兩天我實踐了一箇中文顯示問題,終於成功,貼出來與大家共享。t

原创 開發自己的操作系統引導程序

導讀:   開發自己的操作系統引導程序   當你打開計算機時發生了什麼?   1.電源打開;2.BIOS開始執行;3.引導程序開始執行。   引導程序的規定:你要有一個普通的二進制文件(COM 格式);

原创 讀取ROM-BIOS

 /* Dump ROM-BIOSCompiled with Turbo C 2.01 by Blue.J 2008.10.24*/#include <stdio.h>#include <dos.h>voi

原创 Bran的內核開發指南(1)

導讀:   內核開發是一項漫長的寫代碼和調試的工作。這似乎在開始會是很令人沮喪的。但你並不必需要大量的工具。本指南將使用GRUB來將你的內核載入內存。GRUB需要讀入一個運行在保護模式下的二進制映像:這個映

原创 操作系統DIY手冊

導讀:   操作系統DIY手冊   第一課:引導扇區   (Lesson 1: The Boot Record)   這一課主要介紹引導扇區(Boot Record),爲我們手動打造引導程序(boot lo