自己写操作系统01-引导

引导文件:

org 07c00h ; 告诉编译器程序加载到 7c00处   
    mov ax, cs   
    mov ds, ax   
    mov es, ax                       
    call DispStr ; 调用显示字符串例程   
    jmp $ ; 无限循环   
DispStr:   
    mov ax, BootMessage   
    mov bp, ax ; es:bp = 串地址   
    mov cx, 16 ; cx = 串长度   
    mov ax, 01301h ; ah = 13, al = 01h   
    mov bx, 000ch ; 页号为 0(bh = 0) 黑底红字(bl = 0Ch,高亮)   
    mov dl, 0   
    int 10h ; 10h 号中断   
    ret   
BootMessage:   
    db "Hello, OS world!"   
    times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为   
    dw 0xaa55 ; 结束标志

保存为boot.asm

nasm C:UsersAmazingDesktopoot.asm -o C:UsersAmazingDesktopoot.bin

使用nasm编译为boot.bin

使用dd命令将boot.bin写入U盘的第一个扇区,占满前512个字节。 dd if=c:UsersAmazingDesktopoot.bin of=.h: bs=512 count=1

dd --list为查看盘符

注意关闭杀软,有可能会报毒,反正WindowsDefener一直报毒。。。

之后就各显神通转到真实机或虚拟机运行一下就好。

记得几个月前我还成功使用vmware成功运行了,感觉挺简单,就没做笔记,现在就。。。

真实机倒是可以跑,但太折腾了,还慢。

无意中发现老毛桃这家伙竟然可以,666

文章目录