自己写操作系统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