关注
;Myos/chapter1/boot/mbr.S
;主引导程序
;BIOS刚跳转到MBR时,CS:ip寄存器值为0x0:0x7c00
;
SECTION MBR vstart=0x7c00 ;告诉编译器,把这段程序的起始地址编译为0x7c00,将来BIOS会将这段程序加载到物理地址0x7c00处
mov ax,cs ;将ds,es,fs初始化为0
mov ds,ax
mov es,ax
mov fs,ax
mov sp,0x7c00 ;MBR被加载到0x7c00地址处,0x7c00地址往下的内存空间可以作为MBR运行时所需要的栈空间(栈顶指针往下增长)
mov ax,0xb800 ;借助ax寄存器设置显存段基址
mov gs,ax
;清屏
;利用0x06号功能,上卷全部行,即可清屏
;---------------------------------------------------------------
;INT 0x10 功能号:0x06 功能描述:上卷窗口
;---------------------------------------------------------------
;输入:
;AH 功能号= 0x06
;AL = 上卷的行数(如果为0,表示全部)
;BH = 上卷行的属性
;(CL,CH) = 窗口左上角的(X,Y)的位置
;(DL,DH) = 窗口右下角的(X,Y)的位置
;无返回值:
mov ax, 0600h
mov bx, 0700h
mov cx, 0 ; 左上角(0,0)
mov dx, 184fh ; 右下角(80,25)
; VGA文本模式中,一行只能容纳80个字符,共25行,
; 下标从0开始,所以0x18=24,0x4f=79
int 10h ; 调用0x10中断例程
;输出背景色绿色,前景色红色,并且跳动的字符串"1 MBR"
mov byte [gs:0x00], '1' ; 从显存地址 0xb8000 开始,每两个字节为一组,低字节保存数据内容,即字符的ASCII值
mov byte [gs:0x01], 0xA4 ; 高字节保存显示的属性,低四位控制前景色,高四位控制背景色
mov byte [gs:0x02], '0'
mov byte [gs:0x03], 0xA4
mov byte [gs:0x04], '2'
mov byte [gs:0x05], 0xA4
mov byte [gs:0x06], '4'
mov byte [gs:0x07], 0xA4
jmp $ ; 通过死循环使程序停止在这个位置
times 510-($-$$) db 0 ; 用0填充0磁盘0磁道1扇区512字节剩下的空间,$是当前行的位置,$$是文件起始
db 0x55, 0xaa ; 512字节的MBR最后两字节是0x55和0xaa 操作系统 MBR 引导程序, bochs虚拟机 输出 1024 字符。
查看原帖
2 2
相关推荐
12-19 01:27
华中师范大学 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 27届学院二本,袋鼠云->快手->腾讯wxg,25年末聊聊我的前端之路2.2W
- 2... 本科五段大厂实习,秋招五个offer,我的校招结束了6512
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?6029
- 4... 大四双非水产专业上岸阿里后端(五)5547
- 5... 我的世界观,就是对抗优绩主义的武器4188
- 6... 27双非杀入字节!3063
- 7... 适可而止吧!你就是“烂泥”2932
- 8... 双非计算机秋招总结,附带一些个人建议2472
- 9... 日常实习-小红书后端java二面1483
- 10... 26届双非硕Java秋招总结1341
正在热议
更多
# 实习没人带,苟住还是跑路? #
1469次浏览 45人参与
# 过年期间可能会经历的尴尬瞬间 #
48464次浏览 310人参与
# 元旦假期你打算怎么过 #
2125次浏览 61人参与
# 工作中的卑微时刻 #
29713次浏览 183人参与
# 我们是不是被“优绩主义”绑架了? #
3745次浏览 161人参与
# 从夯到拉,评价编程语言 #
27709次浏览 147人参与
# 多益网络工作体验 #
60093次浏览 299人参与
# 如何看待应届生身份? #
210681次浏览 2233人参与
# 牛客2025仙途报告 #
19235次浏览 305人参与
# 机械制造面试记录 #
299738次浏览 3143人参与
# 华为工作体验 #
277061次浏览 1355人参与
# 查收我的offer竞争力报告 #
263681次浏览 1643人参与
# 找工作,行业重要还是岗位重要? #
88129次浏览 1767人参与
# 华为池子有多大 #
154433次浏览 867人参与
# 参加过提前批的机械人,你们还参加秋招么 #
105266次浏览 1647人参与
# 牛友打假中心 #
109792次浏览 2699人参与
# 今年你最想重开的一场面试是? #
16636次浏览 169人参与
# 你有哪些缓解焦虑的方法? #
44728次浏览 873人参与
# 牛友们的论文几号送审 #
63206次浏览 835人参与
# 实习要如何选择和准备? #
130840次浏览 1518人参与

查看7道真题和解析