2010年3月16日 星期二

自己动手写操作系统[轉]

[吳大補遺]
這本書我有買,動機也是為了學嵌入式系統!
但以為只要有C的基礎就能看下去,結果發現還要多少懂一些組合語言,昏~

nasm是Open Source一套功能很強的組合語言編譯器。
ubuntu安裝的指令是:
sudo apt-get install nasm

Fedora系列則是:
yum install nasm

SuSE系列是:
yast -install nasm

當然Gentoo和FreeBSD也都能裝……這不是廢話嗎#$%……
把以上轉貼文章中的source,寫成一個boot.asm檔!
編譯指令我有偷懶,簡化了一步,直接編成img檔:
nasm boot.asm -o boot.img

我是利用VirtualBox測的,要掛成軟碟機來用。



成功的畫面和引文不太一樣!
但原理是確定可行的!


以上!
補遺完畢!

+===============================================================================+
http://blog.ednchina.com/craftor/264430/message.aspx

摘自 于渊写的《自己动手写操作系统(第2版)》,内容有改动

一、十分钟完成的操作系统

环境:WinXP,Ubuntu(在虚拟机VMware中)

软件:NASM(见附件),VMware

1.编写如下代码,另外为boot.asm文件

org 07c00h
mov ax, cs
mov ds, ax
mov es, ax
call DispStr
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello, Craftor!"
times 510-($-$$) db 0
dw 0xaa55

2.用NASM将boot.asm编译成boot.bin文件(在XP下)

点击开大图

3.将boot.bin生成软盘镜像文件boot.img(在Ubuntu下)

点击开大图

4.在VMware中新建虚拟机,从boot.img启动(放在软驱里),启动成功后如下:

点击开大图

沒有留言:

搜尋此網誌

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!