30天自制操作系统【第0天】

初认识 把汇编代码先注释下存在这

;hello-os
;TAB=4

;标准FAT12格式软盘专用代码
DB		0xeb, 0x4e, 0x90
DB		"HELLOIPL"		;启动区的名称 可为任意字符串
DW		512				; 每个扇区的大小(必须为512字节)
DB		1				; 簇的大小(必须为1个扇区)
DW		1				; FAT的起始位置(一般从第一个扇区开始)
DB		2				; FAT的个数(必须为2)
DW		224				; 根目录的大小(一般设为224)
DW		2880			; 该磁盘的大小(必须为2880扇区)
DB		0xf0			; 磁盘的种类(必须是0xf0)
DW		9				; Fat的长度(必须是9扇区)
DW		18				; 一个磁道的几个扇区(必须是18)
DW		2				; 磁头数(必须是2)
DD		0				; 不使用分区,必须是0
DD		2880			; 重写一次磁盘大小
DB		0,0,0x29		; 意义不明,固定
DD		0xffffffff		;(可能是)卷标号码
DB		"HELLO-OS   "	; 磁盘的名称(11字节)
DB		"FAT12   "		; 磁盘格式名称(8字节)
RESB	18				; 先空出18字节


;程序主体
DB 0xb8,0x00,0x00,0x8e,0xd0,0xbc,0x00,0x7c
DB 0x8e,0xd8,0x8e,0xc0,0xbe,0x74,0x7c,0x8a
DB 0x04,0x83,0xc6,0x01,0x3c,0x00,0x74,0x09
DB 0xb4,0x0e,0xbb,0x0f,0x00,0xcd,0x10,0xeb
DB 0xee,0xf4,0xeb,0xfd

;信息显示部分

DB 0x0a,0x0a  ;换行符
DB "welcome to my fucking world"
DB 0x0a       ;换行
DB 0

RESB 0x1fe-$   ;填写0x000x1fe位置
DB 0x55,0xaa   ;软盘第一个扇区的最后两个字节内容,对软盘的扇区进行扫描,如果是55 AA,则认为这个扇区的开头是启动程序,并开始执行这个程序


;启动区以外部分的输出

DB 0xf0,0xff,0x00,0x00,0x00,0x00,0x00
RESB 4600
DB 0xf0,0xff,0xff,0x00,0x00,0x00,0x00
RESB 1469432
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值