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