org 07c00h 告诉编译器加载到07c00h处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr 调用显示字符串函数
jmp $无限循环
DispStr:
mov ax, BootMessge
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessge: db "hello, OS world!"
times 510 - ($ - $$) db 0
dw 0aa55h
这段代码时用nasm写的,它类似于masm的语言。org 07c00h命令就是将命令后面的代码中的偏移地址都加上07c00h,这样程嫌喊序就相当于在0000:7c00出执行了。按书中所讲的,用命令nasm bootsector.asm -o boot.bin生成引导代码boot.bin,然后将boot.bin写入软盘的0面0磁道1扇区就可以了。问题就来了,我没有软盘怎么搞,不过在wmware虚拟机中貌似可以用软盘的映像文件来启动,所以就想到自己制作一个映像文件来代替软盘来作为启动盘,不过怎么创建这个映像文件呢?
以前记得用linux下的dd命令做过linux的启动盘,dd应该是可以制作的,于是谨销在网上找了下dd制作映像文件,果芹晌野然是可以的,制作方法如下:
1 先制作一个空的软盘映像文件diska.img(1.44Mb的软盘映像文件):
dd if=/dev/zero of=diska.img bs=512 count=2880
2 制作一个包含boot.bin的映像文件boot.img:
dd if=boot.bin of=boot.img bs=512 count=1
3 将diska.img中1个扇区后面的数据拷贝到boot.img的后面
dd if=diska.img of=boot.img skip=1 seek=1 bs=512 count=2879
这样就做成了一个大小为1.44Mb的包含引导代码的映像文件。
带vm后缀的文件是velocity文件,而velocity是基于Java开发的一种页面模板引擎。
拓展阅读镇碧掘盯:Java是面向对象的编程语言,相比c++语言,Java更加易懂,并且却少了c++中的多继承、指针等概念,并且Java的特征有功能强大和易用。
Java语言的特点:1、使用简单。虽然Java在很多功能上很像c++,但Java去掉了一些程序员不经常使用的功能。Java可以自动处理对象的引用,无用的单元收集也可以自动完成,不但节省了开发者的时间,还能节省内存。
2、分布性。Java设计成果支持在网络上应用,网络变成软件应用的分布运载工具,因此Java是分布式语言。Java不但利用各种层次的网络进行连接,还可以用Socket类支持stream网络连接,用户在Java使用中会产生分布式的客户机和服务器。
3、编译和解释性御散举。Java不会生成通常的机器码,而会生成字节码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在Java解释程序和运行系统的系统上运行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)