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

;;   文件: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个字节
     dw 0AA55h              ;boot区标记
 
times 1474560 - ($ - $$) db 0        ; 1.44M 编译成镜像文件可以在viturlpc /vmware中使用
将以上程序保存成boot.asm
用命令行:
  nasm boot.asm -o boot.img
用vmware指定boot.img为软盘文件即可
启动VMWare
启动过程完成
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值