helloos.nas 源码:
1 ; hello-os 2 ; TAB=4 3 4 ; 以下这段是标准的FAT12格式软盘专用代码 5 6 DB 0xeb, 0x4e, 0x90 7 DB "HELLOIPL" ; 启动区名称,可以是任意的字符串(8个字节) 8 DW 512 ; 每个扇区(sector)的大小(必须为512字节) 9 DB 1 ; 簇(clustor)的大小(必须为1个扇区) 10 DW 1 ; FAT的起始位置(一般从第一扇区开始) 11 DB 2 ; FAT的个数(必须为2) 12 DW 224 ; 根目录的大小(一般设为224项) 13 DW 2880 ; 该磁盘的大小(必须是2880扇区) 14 DB 0xf0 ; 磁盘的种类(必须是0xf0) 15 DW 9 ; FAT的长度(必须是9个扇区) 16 DW 18 ; 1个磁道(track)有几个扇区(必须是18个) 17 DW 2 ;磁头数(必须是2个) 18 DD 0 ; 不使用分区必须是0 19 DD 2880 ; 从写一次磁盘大小 20 DB 0,0,0x29 ; 意义不明,固定 21 DD 0xffffffff ; 大概卷序列号 22 DB "HELLO-OS " ;磁盘名称(11字节) 23 DB "FAT12 " ;格式名称(8字节) 24 RESB 18 ;先空18个字节 25 26 ; 程序主体 27 28 DB 0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c 29 DB 0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a 30 DB 0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09 31 DB 0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb 32 DB 0xee, 0xf4, 0xeb, 0xfd 33 34 ; 信息部分 35 36 DB 0x0a, 0x0a ; 2个改行 37 DB "hello, world" ;输出信息 38 DB 0x0a ; 改行 39 DB 0 40 41 RESB 0x1fe-$ ; 填写0x00,直到0x001fe 42 43 DB 0x55, 0xaa 44 45 ; 以下是非启动扇区以外的部分的描述 46 47 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 48 RESB 4600 49 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 50 RESB 1469432