0.准备
- 代码使用的书本中的,使用8G的fat32格式u盘 ,不过对于Hello OS程序来言,开头的文件格式不需要也可以,只不过调用bios的输出字符函数(int 0x10)。并未读取u盘内的数据。
- fat32文件格式的书写,可以使用winhex工具,先点击工具->打开磁盘->选择你的u盘。然后再查看->模板管理器->选择Boot Sector FAT32->应用。得到u盘fat32文件格式,里面的一些具体项可以百度得到,这里提供一篇博客写得比较详细的:FAT32文件系统学习(1) —— BPB的理解

1. helloOS的代码:
; haribote-ipl
; TAB=4
ORG 0x7c00
JMP short entry
nop
DB 'MSDOS5.0'
DW 512
DB 8
DW 36
DB 2
DW 0
DW 0
db 0xf8
dw 0
dw 63
dw 255
dd 1
dd 15727634
dd 15330
dw 0
dw 0
dd 2
dw 1
dw 6
times 12 db 0
db 80h
db 0
db 29h
dd 18467
DB "NO NAME "
DB "FAT32 "
entry:
MOV AX,0
MOV SS,AX
MOV ES, AX
MOV SP,0x7c00
MOV DS,AX
MOV SI,msg
c