這本書我有買,動機也是為了學嵌入式系統!
但以為只要有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启动(放在软驱里),启动成功后如下:
沒有留言:
張貼留言