《一个64位操作系统的设计与实现》阅读笔记:第一个操作系统的运行

更新时间:2023-07-14 03:38:33 阅读: 评论:0

《⼀个64位操作系统的设计与实现》阅读笔记:第⼀个操作系
统的运⾏
废话不多说,直接上boot.asm⽂件代码
org 0x7c00    ;设定引导起始地址
BaOfStack equ 0x7c00    ;设定常量BaOfstack为0x7c00
Label_Start:
mov ax, cs
mov ds, ax
mov es, ax
mov ss, ax
mov sp, BaOfStack    ;栈顶设置为0x7c00
;
======= clear screen
mov ax, 0600h    ;ah=06h时,int 10h中断设置滚动窗⼝的功能, al=0则实现清屏
mov bx, 0700h
mov cx, 0
mov dx, 0184fh
int 10h
;======= t focus
mov ax, 0200h    ;ah=02h时,int 10h中断为设置光标最好的医科大学
mov bx, 0000h
mov dx, 0000h
int 10h
;
======= display on screen :
mov ax, 1301h    ;ah=13h时,int 10h中断为显⽰⼀⾏字符串
mov bx, 000fh
mov dx, 0000h
mov cx, 10
push ax抗战
mov ax, ds
mov es, ax
pop ax
mov bp, StartBootMessage
int 10h
;
======= ret floppy
xor ah, ah
xor dl, dl
动漫人物设计int 13h
jmp $
StartBootMessage: db "Start Boot"
独眼龙打一字
;======= fill zero until whole ctor
times 510 - ($ - $$) db 0    ;不够512字节的⽤0填充
dw 0xaa55筑梦中国纪录片
功能都写到注释⾥了,其他参数意义请⾃⾏查书(爱因斯坦说过:“能查的东西就不要去记”, 不过前提是你知道在哪查就是了)
使⽤nasm(请⾃⾏安装)编译汇编代码
nasm boot.asm -o boot.bin
dd if=boot.bin of=./boot.img bs=512 count=1 conv=notrunc
if=boot.bin是指输⼊的⼆进制⽂件名。of=是输出的映像⽂件名,请⾃⾏根据路径修改
重装显卡驱动
然后运⾏此映像频宽
bochs -f ./bochsrc
路径请根据个⼈设置的bochsrc⽂件进⾏修改,关于bochsrc⽂件配置,可参考这篇⽂章bochsrc⽂件需要⾃⾏修改,如1_44="boot.img"还有系统配置之类的。
如果不成功,请检查bochsrc的设置。
成功时
输⼊6或者直接回车确认
程序教学法
如果遇到这个界⾯。输⼊c或者cont或者continue
最后成功运⾏

本文发布于:2023-07-14 03:38:33,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1080695.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设置   实现   设计   字节   修改   设定
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图