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

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 flyback 的 blog

;;   文件:boot.asm
;;   作用:从7c00h处启动,显示载入系统信息"loading system..."
;;   没有文件系统,1.44m 512bits/80sec 软盘启动,
;;   创建日期:2004/01/30 flyback
;;   fly-back@163.com
;;      ===================================
 
     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个字节

本文关键:操作系统入门(一)痛并学习中
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top