读书笔记《30天自制操作系统》day02

来源:互联网 发布:老公 知乎 编辑:程序博客网 时间:2024/05/20 07:17

http://blog.csdn.net/ltbylc/article/details/8280488


1. 将第一天直接生成软盘映像的代码抽取出引导扇区部分,ipl.asm

[plain] view plaincopy
  1.         ORG     0x7c00            
  2.   
  3.         JMP     entry  
  4.         DB      0x90  
  5.         DB      "HELLOIPL"        
  6.         DW      512               
  7.         DB      1                 
  8.         DW      1                 
  9.         DB      2                 
  10.         DW      224               
  11.         DW      2880              
  12.         DB      0xf0              
  13.         DW      9             
  14.         DW      18                
  15.         DW      2                 
  16.         DD      0                 
  17.         DD      2880              
  18.         DB      0,0,0x29          
  19.         DD      0xffffffff        
  20.         DB      "HELLO-OS   "     
  21.         DB      "FAT12   "        
  22.         RESB    18              ?  
  23.   
  24.   
  25. entry:  
  26.         MOV     AX,0              
  27.         MOV     SS,AX  
  28.         MOV     SP,0x7c00  
  29.         MOV     DS,AX  
  30.         MOV     ES,AX  
  31.   
  32.         MOV     SI,msg  
  33. putloop:  
  34.         MOV     AL,[SI]  
  35.         ADD     SI,1              
  36.         CMP     AL,0  
  37.         JE      fin  
  38.         MOV     AH,0x0e           
  39.         MOV     BX,15             
  40.         INT     0x10              
  41.         JMP     putloop  
  42. fin:  
  43.         HLT                       
  44.         JMP     fin               
  45.   
  46. msg:  
  47.         DB      0x0a, 0x0a        
  48.         DB      "hello, world"  
  49.         DB      0x0a              
  50.         DB      0  
  51.   
  52.         ;RESB   0x7dfe-$          
  53.         ;times 0x7dfe-($-$$) db 0  
  54.                 times 510-($-$$) db 0  
  55.                 DB              0x55,0xaa  

2. 将引导扇区部分并入软盘映像文件中 helloos3.asm

[plain] view plaincopy
  1. incbin "ipl.bin"  
  2. times 1474560 - ($ - $$) db 0  
3. 生成的img文件可以被WinImage软件以软盘方式打开了
原创粉丝点击