操作系统入门(一)痛并学习中

类别:编程语言 点击:0 评论:0 推荐:
;;   文件: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