自己写操作系统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:\Users\Amazing\Desktop\boot.asm -o C:\Users\Amazing\Desktop\boot.bin

使用nasm编译为boot.bin

 

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

dd --list为查看盘符


 

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

 

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

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

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

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

全部评论

相关推荐

昨天 16:46
门头沟学院 Java
这是正常招聘吗?🙄测评颠得要死 真填不下去
真的很糟糕:是的他们家就是怎么抽象
投递多益网络等公司7个岗位
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务