helloos.nas 源碼:spa
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