1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- ;将程序开始位置设置为0x7c00处,并给BaseOfStack赋值为0x7c00
- org 0x7c00
- BaseOfStack equ 0x7c00
- Label_Start:
- ;初始化寄存器
- mov ax, cs
- mov ds, ax
- mov es, ax
- mov ss, ax
- mov sp, BaseOfStack
- ;清屏
- mov ax, 0x0600 ;AL=0时,清屏,BX、CX、DX不起作用
- mov bx, 0x0700 ;设置白色字体,不闪烁,字体正常亮度,黑色背景
- mov cx, 0
- mov dx, 0184fh
- int 10h
- ;设置屏幕光标位置为左上角(0,0)的位置
- mov ax, 0x0200
- mov bx, 0x0000
- mov dx, 0x0000
- int 10h
- ;在屏幕上显示Start Booting
- mov ax, 0x1301 ;设置显示字符串,显示后,光标移到字符串末端
- mov bx, 0x000f ;设置黑色背景,白色字体,高亮度,不闪烁
- mov dx, 0x0000 ;设置游标行列号均为0
- mov cx, 20 ;设置字符串长度为20
- push ax
- mov ax, ds
- mov es, ax
- pop ax
- mov bp, StartBootMessage
- int 10h
- ;软盘驱动器复位
- xor ah, ah
- xor dl, dl
- int 13h
- jmp $
- StartBootMessage: db "[DragonOS]Start Boot"
- ;填满整个扇区的512字节
- times 510 - ( $ - $$ ) db 0
- dw 0xaa55 ;===确保以0x55 0xaa为结尾
|