;; 文件:boot.asm;; 作用:从7c00h处启动,显示载入系统信息"Loading System...";; 没有文件系统,1.44M 512bits/80sec 软盘启动,;; 创建日期:2004/01/30 flyback;;
[email protected];; =================================== ORG 7C00H ; 启动入口地址main: jmp start ; 跳转到开始程序入口 .loadmsg db \'Loading System...\',0 ; 要显示的字符窜以0结尾 start: cli ; 关中断,防止意外中断打断程序执行 mov ax, cs ; mov ds, ax ; 设置数据段 mov es, ax ; xor ax, ax ; 设置堆栈段 mov ss, ax mov sp, 6000h ; 7c00以前为堆栈入口 sti ; 开中断 mov si, main.loadmsg ; 调用显示载入信息 call pntchr jmp $ ; 死循环 ;----------------显示字符串----------------------; ds:si中放入字符串地址;--------------------------------------------------- pntchr: lodsb ; 从DS:SI装载一个字符到AL or al,al ; jz endpntchr ; 如果 al = 0, 返回 ; mov ah,0x0E ; mov bx,0x0007 ; int 0x10 ; 调用bios中断显示字符 jmp pntchr ; ;endpntchr: ; ret ; 返回 times 512-($-$$)-2 db 0 ;保证boot区有512个字节 dw 0AA55h ;boot区标记 times 1474560 - ($ - $$) db 0 ; 1.44M 编译成镜像文件可以在viturlpc /vmware中使用将以上程序保存成boot.asm用命令行: nasm boot.asm -o boot.img用vmware指定boot.img为软盘文件即可启动VMWare启动过程完成
本文地址:http://com.8s8s.com/it/it21840.htm