阅读内容

学习Linux源码及实践

[日期:2008-07-04] 来源:Linux公社  作者:Linux整理


接下来要看的是一段Linux代码:这个代码将是一个操作系统的开始。

BOOTSEG =0x07c0

entry start
start:
jmpi go,BOOTSEG
go: mov ax ,cs
mov ds,ax
mov es ,ax
mov [msg1+17],ah
mov cx,#20
mov dx,#0x1004


mov bx,#0x00c
mov bp,#msg1
mov ax,#0x1301
int 0x10
loop0: jmp loop0
msg1: .ascii "Loading system..."
.byte 13,10
org 510
.word 0xAA55

尽管有点短小,不过先做点有成就的事情出来,那么学起来的时候才更加感兴趣。

下面进行编译:

(我所使用的操作系统是Ubuntu:突然发现Linux真的是为程序员设计的一个操作系统,用起来真的方便。)

as86 -0 -a -o boot.o boot.s
ld86 -0 -a -o boot boot.o
dd bs=32 if=boot of=bootseg skip=1
dd if=bootseg of=boot.img bs=512 count=2880

可以看到文件下面有一个boot.img文件了,下面再在系统上装上virtualbox,然后用管理员

sudo virtualbox

运行起来,建立一个系统后,把软驱加载一下,然后启动OS。




相关资讯       linux学习  Linux源码 
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:

L
I
N
U
X


GOOGLE搜索
Google