diff --git a/01_day/helloos.nas b/01_day/helloos.nas index d44b3d1..16877c7 100644 --- a/01_day/helloos.nas +++ b/01_day/helloos.nas @@ -1,29 +1,29 @@ ; hello-os ; TAB=4 -; Stand FAT12 format floppy code ?yFAT12ŠiŽ®???—p‘ã? +; 标准FAT12æ ¼å¼è½¯ç›˜ä¸“ç”¨çš„ä»£ç  Stand FAT12 format floppy code DB 0xeb, 0x4e, 0x90 - DB "HELLOIPL" ; ƒu[ƒgƒZƒNƒ^‚Ì–¼‘O‚ðŽ©—R‚É‘‚¢‚Ă悢i8ƒoƒCƒgj - DW 512 ; 1ƒZƒNƒ^‚̑傫‚³i512‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DB 1 ; ƒNƒ‰ƒXƒ^‚̑傫‚³i1ƒZƒNƒ^‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DW 1 ; FAT‚ª‚Ç‚±‚©‚çŽn‚܂邩i•’Ê‚Í1ƒZƒNƒ^–Ú‚©‚ç‚É‚·‚éj - DB 2 ; FAT‚̌”i2‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DW 224 ; ƒ‹[ƒgƒfƒBƒŒƒNƒgƒŠ—̈æ‚̑傫‚³i•’Ê‚Í224ƒGƒ“ƒgƒŠ‚É‚·‚éj - DW 2880 ; ‚±‚̃hƒ‰ƒCƒu‚̑傫‚³i2880ƒZƒNƒ^‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DB 0xf0 ; ƒƒfƒBƒA‚̃^ƒCƒvi0xf0‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DW 9 ; FAT—̈æ‚Ì’·‚³i9ƒZƒNƒ^‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DW 18 ; 1ƒgƒ‰ƒbƒN‚É‚¢‚­‚‚̃ZƒNƒ^‚ª‚ ‚é‚©i18‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DW 2 ; ƒwƒbƒh‚Ì”i2‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚È‚¢j - DD 0 ; ƒp[ƒeƒBƒVƒ‡ƒ“‚ðŽg‚Á‚ĂȂ¢‚̂ł±‚±‚Í•K‚¸0 - DD 2880 ; ‚±‚̃hƒ‰ƒCƒu‘å‚«‚³‚ð‚à‚¤ˆê“x‘‚­ - DB 0,0,0x29 ; ‚æ‚­‚í‚©‚ç‚È‚¢‚¯‚Ç‚±‚Ì’l‚É‚µ‚Ä‚¨‚­‚Æ‚¢‚¢‚炵‚¢ - DD 0xffffffff ; ‚½‚Ô‚ñƒ{ƒŠƒ…[ƒ€ƒVƒŠƒAƒ‹”Ô† - DB "HELLO-OS " ; ƒfƒBƒXƒN‚Ì–¼‘Oi11ƒoƒCƒgj - DB "FAT12 " ; ƒtƒH[ƒ}ƒbƒg‚Ì–¼‘Oi8ƒoƒCƒgj - RESB 18 ; ‚Ƃ肠‚¦‚¸18ƒoƒCƒg‚ ‚¯‚Ä‚¨‚­ + DB "HELLOIPL" ; å¯åŠ¨æ‰‡åŒºå称(8字节) + DW 512 ; æ¯ä¸ªæ‰‡åŒºï¼ˆsector)大å°ï¼ˆå¿…é¡»512字节) + DB 1 ; 簇(cluster)大å°ï¼ˆå¿…须为1个扇区) + DW 1 ; FATèµ·å§‹ä½ç½®ï¼ˆä¸€èˆ¬ä¸ºç¬¬ä¸€ä¸ªæ‰‡åŒºï¼‰ + DB 2 ; FAT个数(必须为2) + DW 224 ; 根目录大å°ï¼ˆä¸€èˆ¬ä¸º224项) + DW 2880 ; 该ç£ç›˜å¤§å°ï¼ˆå¿…须为2880扇区1440*1024/512) + DB 0xf0 ; ç£ç›˜ç±»åž‹ï¼ˆå¿…须为0xf0) + DW 9 ; FAT的长度(必??9扇区) + DW 18 ; 一个ç£é“(track)有几个扇区(必须为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字节 -; ƒvƒƒOƒ‰ƒ€–{‘Ì +; 程åºä¸»ä½“ DB 0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c DB 0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a @@ -31,20 +31,20 @@ DB 0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb DB 0xee, 0xf4, 0xeb, 0xfd -; ƒƒbƒZ[ƒW•”•ª +; ä¿¡æ¯æ˜¾ç¤ºéƒ¨åˆ† - DB 0x0a, 0x0a ; ‰üs‚ð2‚ + DB 0x0a, 0x0a ; ?个?行 DB "hello, world" - DB 0x0a ; ‰üs + DB 0x0a ; ?行 DB 0 - RESB 0x1fe-$ ; 0x001fe‚܂łð0x00‚Å–„‚߂閽—ß + RESB 0x1fe-$ ; 填写0x00直到0x001fe DB 0x55, 0xaa -; ˆÈ‰º‚̓u[ƒgƒZƒNƒ^ˆÈŠO‚Ì•”•ª‚Ì‹Lq +; å¯åŠ¨æ‰‡åŒºä»¥å¤–éƒ¨åˆ†è¾“å‡º DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 RESB 4600 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 - RESB 1469432 + RESB 1469432 \ No newline at end of file